1 / 80

第 5 章 计算机、微型计算机的组成及 工作过程

第 5 章 计算机、微型计算机的组成及 工作过程. 5.1 计算机及微型计算机的产生与发展. 参见教材 P118-P122. ENIAC (1946,18000 电子管, 150 千瓦,重 30 吨, 5000 次 / 秒, …… .). John von Neumann and the EDVAC. 1. “ 存储程序 ” 概念的产生及其重要意义。 ENIAC ( Electronic Numerrical Integrator And Computer ) —— 不具备 “ 存储程序 ” 的功能

Download Presentation

第 5 章 计算机、微型计算机的组成及 工作过程

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第5章 计算机、微型计算机的组成及 工作过程

  2. 5.1 计算机及微型计算机的产生与发展 • 参见教材P118-P122

  3. ENIAC(1946,18000电子管,150千瓦,重30吨,5000次/秒,…….)ENIAC(1946,18000电子管,150千瓦,重30吨,5000次/秒,…….)

  4. John von Neumann and the EDVAC 1. “存储程序”概念的产生及其重要意义。 • ENIAC(Electronic Numerrical Integrator And Computer) • ——不具备“存储程序”的功能 2. 冯氏计算机结构:( stored-program computer) EDVAC(Electronic Discrete Variable Automatic Computer) • ——采用“存储程序”的概念,并付诸实现, “开创了整个程序设计时代的到来”

  5. 4004 微处理器(1971,2250晶体管,4.2mmx3.2mm,世界上第一个微处理器)

  6. 8008微处理器(1973 ,3500 晶体管)

  7. Pentium 微处理器(1993,320万晶体管)

  8. ITANIUM 2 (2.14亿晶体管,1GHZ主频,0.18微米线宽,328个寄存器,…….)

  9. 5.2 计算机及微型计算机的组成 5.2.1 计算机的组成 冯·诺依曼计算机由运算器、控制器、存储器、输入设备、输出设备五部分组成,如图5.1所示。

  10. 运算器 状态 命令 数据 输入设备 存储器 输出设备 程序和数据输入 输出结果 命令和应答 命令和应答 状态和请求 地址 指令 状态和请求 控制器 图 5.1 计算机的组成

  11. 1.存储器 • 计算机中的指令和数据都表现为二进制数码,他们必须被存入存储器的不同区域才能被区分。 • 为了准确地对存储器进行读或写,通常以字节(或以字)为单位将存储器划分为一个个存储单元,并依次对每一个存储单元赋予一个序号(从零开始的无符号整数),该序号称为存储单元的地址。 • 存储单元中存放的数据或指令称为存储单元的内容。地址是识别存储器中不同存储单元的惟一标识,如图5.2所示。

  12. 地址 内容 0 1 2 3 4 M-3 M-2 M-1 图 5.2 存储器及其地址

  13. MAR 地址寄存器 地址译码器 RD 控 制 逻 辑 存储单元 1 0 1 0 1 0 0 1 000……00H WR … FFF……FFH MDR 数据寄存器 •存储器

  14. 存储单元的地址和内容都是二进制数码,但它们是完全不同的两个概念,如同高级语言中的变量名和变量的值是不同的两个概念一样。存储单元的地址和内容都是二进制数码,但它们是完全不同的两个概念,如同高级语言中的变量名和变量的值是不同的两个概念一样。 • 地址的位数由控制器地址线的位数确定,每个存储单元中内容(数据或指令)的位数由设计计算机时对存储器的编址方法确定。

  15. 如果控制器有n条地址线,则它所能管理的存储单元最多为2n个。如果对存储器采用的是按字节编址,则每个存储单元只能存放8位二进制数码。如果控制器有n条地址线,则它所能管理的存储单元最多为2n个。如果对存储器采用的是按字节编址,则每个存储单元只能存放8位二进制数码。 • 每个存储单元的地址都是惟一的,不同存储单元的地址互不相同。 • 每次读、写存储器时都必须先给出存储单元的地址,然后才能访问(读或写)存储单元中的内容。

  16. 2. 运算器 • 运算器是进行算术运算(如加、减、乘、除等)和逻辑运算(如非、与、或等)的装置. • 通常由算术逻辑部件ALU,专用寄存器X、Y和Z,累加器,通用寄存器R0、R1、…、Rn-1以及标志寄存器F组成,如图5.3所示。

  17. R0 Rn-1 内 部 总 线 Y X A B ALU F Z 图 5.3 运算器的基本组成

  18. 核心部件ALU用于完成算术运算和逻辑运算。 • X、Y是ALU的输入寄存器,Z是ALU的输出寄存器。 • F用于存放运算结果的状态,例如,结果是否为零,是正还是负,有无进位,是否溢出,等等。

  19. ALU的功能是对X、Y中的数据进行运算,并将结果送到Z。ALU的功能是对X、Y中的数据进行运算,并将结果送到Z。 • X、Y、Z是与ALU不可分的一部分,通常称为ALU的数据暂存器。 • X、Y中的数据可来自通用寄存器,也可来自存储器。Z中的数据可送往通用寄存器,也可送往存储器。

  20. 3.控制器 • 为了实现对计算机各部件的有效控制,快速准确地取指令、分析指令和执行指令,控制器通常由 • 指令寄存器IR 程序计数器PC 存储器地址寄存器MAR 存储器数据寄存器MDR 指令译码器ID 控制电路 等几部分组成,如图5.4所示。

  21. 控制信号 控制电路 指令译码 IR 内 部 总 线 PC 存储器 MAR MDR 图 5.4 控制器的基本组成

  22. IR用于存放正在执行或即将执行的指令; • PC用于存放下一条指令的存储单元地址,它具有自动增量计数的功能; • MAR用于在访存时缓存存储单元的地址; • MDR用于在访存时缓存对存储单元读/写的数据;

  23. ID用于对IR中的指令进行译码,以确定IR中存放的是哪一条指令;ID用于对IR中的指令进行译码,以确定IR中存放的是哪一条指令; • 控制电路负责产生时序脉冲信号,并在时序脉冲的同步下对有关的部件发出操作控制命令,以控制各个部件的动作。

  24. 4. 输入设备和输出设备 • 输入设备是用来输入数据(通常是原始数据) 和程序的装置,其功能是将外界的信息转换成机内的表示形式并传送到计算机内部。常见的输入设备有键盘、鼠标、图形数字化仪、图像扫描仪、数字照相机和数字摄像机,等等 。 • 输出设备是用来输出数据(通常是处理结果)和程序的装置,其功能是将计算机内的数据和程序转换成人们所需要的形式并传送到计算机外部。常见的输出设备有显示器、打印机、绘图机,等等。

  25. 5.2.2 微型计算机的组成 • 微型计算机 =CPU+存储器+I/0接口+输入/输出设备 • 主机:包含了除输入/输出设备以外的所有部件,是一个能独立工作的系统,所以有时也将主机称为微型计算机。 • 主板

  26. 存储器 CPU I/O 接口 I/O 设备 AB DB CB 图 5.5 微型计算机的组成

  27. CPU、存储器、I/O接口电路之间用三组总线相连:CPU、存储器、I/O接口电路之间用三组总线相连: 地址总线(AB: Address Bus) 数据总线(DB: Data Bus) 控制总线(CB: Control Bus) 地址总线、数据总线、控制总线通常统称为系统总线。

  28. 从传输方向上看,数据总线是双向的,即数据可以从CPU传送到其他部件,也可从其他部件传送到CPU。从传输方向上看,数据总线是双向的,即数据可以从CPU传送到其他部件,也可从其他部件传送到CPU。 • 地址总线是单向的,即地址只能由CPU传送到存储器或I/O端口,用以给出CPU将要访问的部件的地址。 • 控制总线中的信号线有的是单向的,也有的是双向的。

  29. 5.4 计算机的工作过程 假设在某计算机的指令系统中设计有如下的几条指令: (1) LOAD R1, M1 (2) STORE M3, R1 (3) ADD R1, M2 (4) JMP L (1)是传送类指令,其含义是将M1中的内容装入R1。 (2)也是传送类指令,其含义是将R1的内容存入M3中。 (3)是运算类指令,其含义是将R1的内容与M2中的内容相加后存入R1。 (4)是转移类指令,其含义是无条件转向L处。 如果要求将M1的内容与M2的内容相加后存入M3(可表示为(M1)+(M2)→(M3)),再将程序转向L处的指令继续执行,则可用上面给出的各指令编写出如下的程序来实现:

  30. 汇编语言程序 机器语言程序 程序的功能 LOAD R1, M1 00001011 00000101 将M1的内容送入R1 ADD R1, M2 00011011 00000110 将R1的内容加上M2的内容再送回R1 STORE M3, R1 00101011 00000111 将R1的内容送入M3中 JMP L 00110000 00010001 转向L处继续执行那里的指令 汇编时,假设存储单元的地址M1、M2、M3分别为5、6、7,其内容分别为12、34、0;地址L为17;R1寄存器的编号为1011; 四条指令LOAD、ADD、STORE、JMP的操作码分别为0000、0001、0010、0011。 每条机器指令的第2个字节都是存储单元地址,第一个字节左边4位是操作码,右边4位是寄存器号或0000。

  31. 上述机器语言程序可被计算机识别,但不能被执行,还需要为其分配存储器地址。上述机器语言程序可被计算机识别,但不能被执行,还需要为其分配存储器地址。 • 例如,上述机器语言程序可能按如下方式分配存储器地址:

  32. 00000101 00001100 M1 M2 00000110 00100010 M3 00000111 00000000 00001000 00001011 “LOAD R1, M1”的第一个字节 00001001 00000101 “LOAD R1, M1”的第二个字节 00001010 00011011 “ADD R1, M2”的第一个字节 “ADD R1, M2”的第二个字节 00001011 00000110 “STORE M3, R1”的第一个字节 00001100 00101011 “STORE M3, R1”的第二个字节 00001101 00000111 00001110 00110000 “JMP L”的第一个字节 00001111 00010001 “JMP L”的第二个字节 ………….. 00010000 第五条指令(只有一个字节) ………….. 00010001 第六条指令

  33. 5.4.3 计算机的工作过程 • 1.计算机的内部结构(模型机)

  34. 存储器 控制信号 控制电路 指令译码 LOAD R1, M1 ADD R1, M2 IR STORE M3, R1 PC JMP L ABUS MAR 内 部 总 线 DBUS L MDR R0 Rn-1 M1 a Y M2 b A B M3 c ALU F Z 图 5.8 单总线CPU的计算机的基本结构

  35. 2. 指令及程序的执行过程 • 计算机执行程序的过程可归纳如下: (1) 控制器把PC中的指令地址送往存储器地址寄存器MAR,并发出读命令“M读”。存储器按给定的地址读出指令,经由存储器数据寄存器MDR送往控制器,保存在指令寄存器IR中。 (2) 指令译码器ID对指令寄存器IR中的指令进行译码,分析指令的操作性质,并由控制电路向存储器、运算器等有关部件发出指令所需要的微命令。

  36. (3) 当需要由存储器向运算器提供数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,然后向存储器发出读命令“M读”,从存储器中读出的数据经由存储器数据寄存器MDR送往运算器。

  37. (4) 当需要由运算器向存储器写入数据时,控制器根据指令的地址部分,形成数据所在的存储单元地址,并送往存储器地址寄存器MAR,再将欲写的数据存入存储器数据寄存器MDR,最后向存储器发出写命令“M写”,MDR中的数据即被写入由MAR指示地址的存储单元中。

  38. (5) 一条指令执行完毕后,控制器就要接着执行下一条指令。 • 为了把下一条指令从存储器中取出,通常控制器把PC的内容加上一个数值,形成下一条指令的地址,但在遇到“转移”指令时,控制器则把“转移地址”送入PC。 • 控制器不断重复上述过程的(1)到(5),每重复一次,就执行了一条指令,直到整个程序执行完毕。

  39. 下面,以前面给出的、由4条指令组成的程序段为例,结合图5.8中所示的计算机结构,简述指令及程序的执行过程。下面,以前面给出的、由4条指令组成的程序段为例,结合图5.8中所示的计算机结构,简述指令及程序的执行过程。 LOAD R1, M1 ADD R1, M2 STORE M3, R1 JMP L • 假设程序及数据已经装入了存储器,第一条指令的地址已经装入了PC寄存器。

  40. (1) 取指令“LOAD R1, M1”并执行 ① 取指令“LOAD R1, M1”并形成下一条指令的地址: (i) 控制器发“PCOUT”和“MARIN”信号,使PC→MAR; (ii) 控制器发“M读”信号,使存储器的内容(指令)→MDR,通过DBUS; (iii) 控制器发“PC加”信号,使PC+n→PC,其中n为该指令占用的地址数; (iv) 控制器发“MDROUT”和“IRIN”信号,使MDR→IR。

  41. 第(i)步要占用内部总线,第(ii)步和第(iii)步不占用内部总线,前三步可在同一个机器周期*内完成。第(iv)步要占用内部总线,需要在另一个机器周期*内完成。所以,取指令共需要两个机器周期*。第(i)步要占用内部总线,第(ii)步和第(iii)步不占用内部总线,前三步可在同一个机器周期*内完成。第(iv)步要占用内部总线,需要在另一个机器周期*内完成。所以,取指令共需要两个机器周期*。 • 机器周期定义(修改教材p136第17行): • 计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间。 • 上面*号处(以及P145 作业10、11题)的机器周期均是指通过内部总线进行信息传输所完成的机器周期。

  42. ② 执行指令“LOAD R1,M1”: (i) 控制器发“IROUT”和“MARIN”信号,使IR中指令的地址段(即M1)→MAR; (ii) 控制器发“M读”信号,使存储器M1的内容(数据)→MDR,通过DBUS; (iii) 控制器发“MDROUT”和“R1IN”信号,使MDR→R1。 第(i)步要占用内部总线,第(ii)步不占用内部总线,前两步可在同一个机器周期内完成。第(iii)步要占用内部总线,需要在下一个机器周期内完成。所以,执行该指令共需要两个机器周期。

  43. (2) 取指令“ADD R1,M2”并执行 • ① 取指令“ADD R1,M2”并形成下一条指令的地址: • 操作过程同(1)中的①。 • ② 执行指令“ADD R1, M2”: • (i) 控制器发“IROUT”和“MARIN”信号,使IR中指令的地址段(即M2)→MAR; • (ii) 控制器发“M读”信号,使存储器M2的内容(数据)→MDR,通过DBUS; • (iii) 控制器发“MDROUT”和“YIN”信号,使MDR→Y(即ALU的A端); • (iv) 控制器发“R1OUT”,使R1→内部总线(即ALU的B端); • (v) 控制器发“add”信号,使A+B→Z; • (vi) 控制器发“ZOUT”和“R1IN”信号,使Z→R1。

  44. (3) 取指令“STORE M3, R1”并执行 • ① 取指令“STORE M3, R1”并形成下一条指令的地址: • 操作过程同(1)中的①。 • ② 执行指令“STORE M3, R1”: • (i) 控制器发“IROUT”和“MARIN”信号,使IR中指令的地址段(即M3)→MAR; • (ii) 控制器发“R1OUT”和“MDRIN”信号,使R1→MDR; • (iii) 控制器发“M写”信号,使MDR→存储器M3中,通过DBUS。

  45. (4) 取指令JMP L并执行 • ① 取指令JMP L并形成下一条指令的地址: • 操作过程同(1)中的①。 • ② 执行指令JMP L: • 控制器发“IROUT”和“PCIN”信号,使IR中指令的地址(即L)→PC。 • 这里,惟一的一步操作要占用内部总线,需要一个机器周期。

  46. 5.4.4 控制器的基本原理 1.硬布线控制器原理 • 硬布线控制器主要由环形脉冲发生器、指令译码器和微命令编码器组成。 • 环形脉冲发生器用于循环地产生节拍脉冲信号; • 指令译码器用于确定IR中存放的是哪一条指令; • 微命令编码器用于在不同节拍脉冲信号的同步下产生相应的微命令信号。

  47. 如果用T1、T2、……依次表示对应机器周期的节拍脉冲信号,用00、01、10、11依次表示指令LOAD、ADD、STORE和JMP的操作码,则硬布线控制器的原理如图5.9所示。如果用T1、T2、……依次表示对应机器周期的节拍脉冲信号,用00、01、10、11依次表示指令LOAD、ADD、STORE和JMP的操作码,则硬布线控制器的原理如图5.9所示。

  48. 环形脉冲 发生器 T1 T2 Tn LOAD ADD 指令译码 微命令编码器 IR STORE JMP 微命令信号 图 5.9 硬连线控制器原理

  49. 在取指令和执行指令时,都需要控制器能针对不同的指令在不同的机器周期内发出所需要的各种微命令。例如,在取指令时,就需要控制器在第一个周期内发出PCOUT、MARIN、M读、PC加共4个微命令,在第二个周期内发出MDROUT和IRIN两个微命令。在取指令和执行指令时,都需要控制器能针对不同的指令在不同的机器周期内发出所需要的各种微命令。例如,在取指令时,就需要控制器在第一个周期内发出PCOUT、MARIN、M读、PC加共4个微命令,在第二个周期内发出MDROUT和IRIN两个微命令。 • 针对前面给出的4条指令及对指令执行过程的讨论,可归纳出对不同指令在不同机器周期内应发出的微命令如表5-2所示。表中的End代表指令执行结束的微命令。

More Related