计算机组成原理与汇编语言 (组成原理部分) 2000 级

27
计计计计计计计计计计计计 计计计计计计计 () 2000 计 北北北北北北北 北北北 Tel 82316285 82317634 Mail [email protected]

description

计算机组成原理与汇编语言 (组成原理部分) 2000 级. 北航计算机学院 刘旭东 Tel : 82316285 , 82317634 Mail : [email protected]. 课程介绍( 1 ). 教学内容:计算机单机系统的组成及其工作原理 存储系统的组成与基本工作原理 内部存储器的组成与工作原理 高速缓冲存储器的结构与工作原理 辅助存储器的结构与工作原理 虚拟存储系统等 指令系统的分析与设计 指令系统基本要素 指令系统的设计 典型指令系统分析 CPU 的内部结构与工作原理 运算器结构 基本运算方法 控制单元的结构 - PowerPoint PPT Presentation

Transcript of 计算机组成原理与汇编语言 (组成原理部分) 2000 级

Page 1: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

计算机组成原理与汇编语言(组成原理部分)

2000级

北航计算机学院 刘旭东Tel : 82316285, 82317634

Mail: [email protected]

Page 2: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

课程介绍( 1 )教学内容:计算机单机系统的组成及其工作原理

存储系统的组成与基本工作原理 内部存储器的组成与工作原理 高速缓冲存储器的结构与工作原理 辅助存储器的结构与工作原理 虚拟存储系统等

指令系统的分析与设计 指令系统基本要素 指令系统的设计 典型指令系统分析

CPU 的内部结构与工作原理 运算器结构 基本运算方法 控制单元的结构 指令执行过程分析 控制单元的设计(硬连线设计) 微程序控制器

系统总线及输入输出系统

Page 3: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

课程介绍( 2 )目的

掌握计算机的基本组成、内部结构和工作原理。培养学生分析和设计计算机的能力。

重点与难点主存储器与高速缓冲存储器指令系统的设计CPU 的内部结构与工作原理

与其他课程的关系课程定位:计算机专业基础课程、重点必修课程( 7 学分);先导课程:计算机导论、数字逻辑;后续课程:计算机接口与通信、计算机系统结构;

课程安排课堂教学:共 72 学时(含汇编语言部分)同步实验:计算机教学实验中心单独开设,但成绩计入本课程。课程考试:期终考试(含汇编语言, A 、 B 卷,闭卷)成 绩:考试成绩 × 85 % + 实验成绩 × 15 %

Page 4: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

课程介绍( 3 )上课时间及地点

第一周:星期二 1/2 节(主 M301 ) 2~17周 : 星期三 3/4 节,星期六 1/2 节(一号楼 323 )

教材及参考书教材:《计算机组成原理》,高等教育出版社,唐朔飞编著 《 IBM PC 汇编语言程序设计》,清华大学出版社,沈美明编著教材到学校教材发行库购买。参考书:《计算机组织与结构(性能设计)》第五版,电子工业出版社 《计算机组成原理教程》,科学出版社,白仲英编著

授课教师组成原理部分:刘旭东汇编语言部分:熊桂喜实验部分:李宪永

Page 5: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

第一部分:概述

一.透视计算机:计算机组成与结构总结1. 计算机系统的层次结构2. 计算机的组成部件简介3. 计算机的内部连接

二.理解计算机:计算机的基本工作过程1. 指令的含义2. 程序的执行3. 计算机最基本的操作与控制:微操作

Page 6: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.1 计算机系统

硬件( Hardware ) 计算机的实体部分,可以实现计算机最基本的操作行为。

软件( Software ) 使计算机实现各种功能的程序集合。包括系统软件、应用软件两大类。

Page 7: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.2 计算机系统层次结构 计算机的层次结构的演变

实际机器 M1

(机器语言程序)机器语言

汇编语言

高级语言 虚拟机器 M3

(高级语言程序)

虚拟机器 M2

(汇编语言程序)

Page 8: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

将高级语言程序先翻译成汇编语言程序或机器语言程序,再在 M1或M2 上运行

将汇编语言程序先翻译成机器语言程序,然后在 M1 上运行

1.2 计算机系统层次结构 三级层次结构的计算机系统

实际机器 M1

(机器语言程序)

虚拟机器 M3

(高级语言程序)

虚拟机器 M2

(汇编语言程序)

第一级

第二级

第三级

机器语言程序直接在 M1 上运行

Page 9: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.2 计算机系统层次结构 四级层次结构的计算机系统

实际机器 M1

(机器语言程序)

虚拟机器 M3

(高级语言程序)

虚拟机器 M2

(汇编语言程序)

第一级

第二级

第三级

微程序机器 M0

(微指令系统)第零级

机器语言程序直接在 M1 上运行

将汇编语言程序先翻译成机器语言程序,然后在 M1 上运行

将高级语言程序先翻译成汇编语言程序或机器语言程序,再在 M1或M2 上运行

用微程序解释机器指令,由硬件系统直接执行微程序

Page 10: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.3 计算机的基本组成

计算机的功能 Data Processing ( 数据处理 ) Data Storage (数据存储) Data Movement (数据移动,交换) Control (控制)

计算机的功能结构

Page 11: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.3 计算机的基本组成运算器:实现数据处理的部件

完成最基本的算术逻辑运算ALU (Arithmetic and Logic Unit ) + Registers + DataPath 运算器与机器字长(字的概念)的关系运算器与机器性能指标:

MIPS:Millions of Instructuions Per Second SPEC: System Performance Evaluation Cooperative

( SPECint’2000, SPECfp’2000 )

简单运算器结构图

Page 12: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.3 计算机的基本组成存储器:实现数据存储的部件

保存程序和数据(二进制信息)存储单元: bit, Byte, Word

地址的概念:每一个字节单元拥有一个唯一的地址(索引) 存储器的工作方式:读、写

存储器结构简图

Page 13: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.3 计算机的基本组成 控制器:实现控制功能的部件

提供各部件工作所需的控制信号,控制计算机其他部件协同工作 指令部件( Instruction Register , Instruction Decoder) 指令顺序控制( Program Counter) 时序逻辑部件( Clock, Timer , Sequencing Logic) 控制信号生成部件( Control Signal Generator or Control Memory ) 运算器+控制器= CPU( Central Process Unit)

控制器结构简图

Page 14: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.3 计算机的基本组成输入输出:实现数据交换的部件

实现计算机内部与外界(其他系统或人类)的信息交换实现数据交换的设备:输入设备、输出设备接口标准与接口部件

计算机整体结构简图

Page 15: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.4 计算机结构

总线结构总线:符合一定的标准的一组公共数据通道构成:地址总线、数据总线、控制总线单总线结构多总线结构

标准总线ISA---Industry Standard Architecture (工业标准结构) EISA----Extended ISA (扩展工业标准结构) PCI----Peripheral Connection Interface ( 周边元件扩充接口 )

SCSI----Small Computer System Interface(小型计算机系统接口 )

Page 16: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.4 计算机结构

单总线结构

Page 17: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.4 计算机结构

1946 年,冯·诺依曼与同事开始研制 IAS,虽直到 1952 年仍未完成,但该机结构被公认为随后发展起来的通用计算机的原型。

Page 18: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.4 计算机结构

普通 PC( PC/XT)的内部结构

Page 19: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.4 计算机结构

普通 PC( Pentium)的内部结构(多总线结构)

Mainmemory

LAN IDESCSI

Pentium CPU

32/64 CPULocal Bus

Local B

us to

PC

I Bus b

ridg

e

PCI Bus

Adapter

PC

I to IS

A

brid

ge

PC

I Slo

ts

ISA Bus ISA

Slo

ts

ISAadapter

Cache

Page 20: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

1.4 计算机结构

Sun SPARCstation20( RISC )多总线结构

Floating-point Unit

Integer Unit

InstCache

RefMMU

DataCache

StoreBuffer

Bus Interface

SuperSPARC

L2 Cache

MBus Module

MBus

L64852 MBus controlM-S Adapter

SBus

DRAM Controller

SBusDMA

SCSIEthernet

STDIO

serialkbdmouseaudioRTC

FloppySBusCards

Page 21: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

机器指令:计算机硬件可以执行的表示一种基本操作的二进制代码。

指令格式:操作码 + 操作数(操作数地址)操作码:指明指令的操作性质操作数(地址):指令操作数的位置(或操作数本身)

2.1 计算机的工作过程

程序:在此特指一段机器指令序列。完成一定的功能,采用某种算法,具备一定的流程;计算机按照程序所规定的流程和指令顺序,一条一条地执行指令,达到

完成程序所规定的功能的目的。计算机采用程序计算器( Program Counter )来决定指令执行的顺

序。

操作码 操作数地址

11010101 10000100 01010001 10100000

Page 22: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

Example

Y=ax2+bx-c 假定 a,b,c,x 均为已知数,且存放在内存中,求y。

地址

结果 y 将存放在此值 a

值 b

值 c

值 x

内存00H

02H

04H

06H

08H

0AH

0CH

0EH

10H

12H

14H

16H

18H

假定指令系统: 16 位指令系统

Opcode Address8 8

操作码 说明00H AC (AC)+Mem(Add)

01H AC Mem(Add)

02H AC (AC) — Mem(Add)

指令ADD

LD

SUB

03H AC (AC)×Mem(Add)MUL

04H Mem(Add) (AC)ST

Page 23: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

Example

Y=ax2+bx-c 假定 a,b,c,x 均为已知数,且存放在内存中,求y。

地址

结果 y 将存放在此值 a

值 b

值 c

值 x

内存00H

02H

04H

06H

08H

0AH

0CH

0EH

10H

12H

14H

16H

18H

操作码 说明00H AC (AC)+Mem(Add)

01H AC Mem(Add)

02H AC (AC) — Mem(Add)

指令ADD

LD

SUB

03H AC (AC)×Mem(Add)MUL

04H Mem(Add) (AC)ST

程序如下代码

0112H AC a

0318H AC ax

0014H AC ax + b

指令LD a

MUL x

ADD b

0318H AC ax2+bxMUL x

0216H AC ax2 + bx - cSUB c

0410H Mem (AC)ST y

Page 24: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

Example

地址

0112H

0318H

0014H

0318H

0216H

0410H

结果 y

值 a

值 b

值 c

值 x

内存

00H

02H

04H

06H

08H

0AH

0CH

0EH

10H

12H

14H

16H

18H

程序如下代码

0112H AC a

0318H AC ax

0014H AC ax + b

指令LD a

MUL x

ADD b

0318H AC ax2+bxMUL x

0216H AC ax2 + bx - cSUB c

0410H Mem (AC)ST y

00H开始 PC02HPC04HPC06HPC08HPC0AHPC

Page 25: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

补 1 :微操作

微操作:计算机可以完成的最基本的操作,一条机器指令的执行可以解释为一系列的微操作的执行

操作性质:对数据进行某种处理操作对象操作的时间与条件

B

A

AND

Q

Q

D

D

Q

Q

A B

微操作 AB

ALU

AND

BQD

Q

ACQD

Q

AC + B AC

ADD Ctrl

微操作 AC + B AC

Page 26: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

补 2 :机器结构简化图

ALU

A B

GR

AC

微操作信号发生器

I D

I R

PC MBR

存储器

MAR

微操作控制信号

总线

AC : 累加器ALU:算术逻辑运算单元A, B:缓冲器GR : 通用寄存器I R : 指令寄存器I D : 指令译码器PC : 程序计数器MAR:地址寄存器MBR:数据寄存器

机器结构简化图

Page 27: 计算机组成原理与汇编语言 (组成原理部分) 2000 级

补 3 : ENIAC( 1946) ENIAC :十进制(而非二进制)计算机,用十个真空管(一个 ON

,其余 OFF )表示一位十进制数,算术运算按十进制的方式完成。 占地 170 平方米,重 30 吨,耗电 140 千瓦,共用 18000 个真空

管,每秒可进行 5000 次加减法运算。