1 / 101

计算机组成原理

计算机组成原理. 任课教师:石磊 教授 郑州大学信息工程学院计算机系 Email: shilei@zzu.edu.cn. 目录. 第一章 计算机系统概论 第二章 运算方法和运算器 第三章 存储系统 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 第九章 并行组织. 教材 白中英,计算机组成原理 · 网络版,科学出版社, 2002 参考书 石磊,计算机组成原理 · 第 2 版 , 清华大学出版社, 2006 钱晓捷,微型计算机原理及应用 , 清华大学出版社, 2006

walda
Download Presentation

计算机组成原理

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. 计算机组成原理 任课教师:石磊 教授 郑州大学信息工程学院计算机系 Email: shilei@zzu.edu.cn

  2. 目录 • 第一章 计算机系统概论 • 第二章 运算方法和运算器 • 第三章 存储系统 • 第四章 指令系统 • 第五章 中央处理器 • 第六章 总线系统 • 第七章 外围设备 • 第八章 输入输出系统 • 第九章 并行组织

  3. 教材 • 白中英,计算机组成原理·网络版,科学出版社,2002 • 参考书 • 石磊,计算机组成原理·第2版, 清华大学出版社,2006 • 钱晓捷,微型计算机原理及应用, 清华大学出版社,2006 • 王爱英,计算机组成与结构·第3版, 清华大学出版社,2001 • 白中英 邝坚,计算机组织与结构·网络版,科学出版社,2003

  4. 计算机组成原理 5.1 CPU的组成和功能 5.8 流水CPU 5.2指令周期 5.9 RISC CPU 5.3 时序产生器和控制方式 5.10 多媒体CPU 5.4 微程序控制器 5.11 CPU性能评价 5.5 微程序设计技术 5.6 硬布线控制器 5.7 传统CPU 第5章 中央处理器

  5. 5.1 CPU的功能和组成 当代主流计算机所遵循的仍然是冯.诺依曼的“存储程序、程序控制”思想 程序告诉计算机:应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处等 中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(Central Processing Unit)

  6. 5.1.1 CPU的功能 ★ 操作控制 CPU产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作 ★ 指令控制  保证机器按程序规定的顺序取出执行 ★ 时间控制   对各种操作的实施时间进行定时 ★ 数据加工   对数据进行算术运算和逻辑运算处理

  7. 5.1.2 CPU的基本组成 • 控制器完成对整个计算机系统操作的协调与指挥。 • (1) 控制机器从内存中取出一条指令,并指出下一条指令在内存中的位置; • (2) 对指令进行译码,并产生相应的操作控制信号,送往相应的部件,启动规定的动作; • (3) 指挥并控制CPU、内存与输入/输出(I/O)设备之间数据流动的方向 • 运算器是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥 • (1)执行所有的算术运算; • (2)执行所有的逻辑运算,并进行逻辑测试

  8. 取指控制 执行控制 CPU 算术逻辑单元 时钟 ALU 状态条件寄存器 操作控制器 时序产生器 状态反馈 累加器AC c 程序计数器PC 指令译码器 c c 指令寄存器IR c c 地址寄存器AR 缓冲寄存器DR 地址总线ABUS 存储器 数据总线DBUS I/O CPU的基本模型

  9. 5.1.3CPU中的主要寄存器 数据缓冲寄存器(DR) 暂时存放由内存读出或写入的指令或数据字 指令寄存器(IR) 保存当前正在执行的一条指令 程序计数器(PC) 确定下一条指令的地址 地址寄存器(AR) 保存当前CPU所访问的内存单元的地址 累加寄存器(AC) 最常使用的一个通用寄存器 状态条件寄存器(PSW) 保存由算术和逻辑指令的结果建立的各种条件码

  10. 5.1.4 操作控制器与时序产生器 操作控制器在各寄存器之间建立数据通路(传送信息的通路) 操作控制器的功能: 就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制 硬布线控制器 微程序控制器 时序产生器产生并发出计算机所需要的时序控制信号

  11. 取指令 执行指令 5.2  指令周期 • 指令的执行过程 • —读取指令 • 指令地址送入主存地址寄存器 • 读主存,读出内容送入指定的寄存器 • —分析指令 • —按指令规定内容执行指令 • 不同指令的操作步骤数 • 和具体操作内容差异很大 • —检查有无中断请求 • 若无,则转入下一条指令的执行过程 形成下一条指令地址

  12. 5.2.1 指令周期的基本概念 指令周期:CPU从内存取出一条指令并执行完这条指令的时间总和 取指时间+执行指令时间 CPU周期:又称机器周期(总线周期),CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义 时钟周期:通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T 相互关系: 1个指令周期 = 若干个CPU周期 1个CPU周期 = 若干T周期

  13. 指令周期 · CPU周期 ·时钟周期

  14. 5条典型指令构成的简单程序 020CLA;累加器清0 021ADD 30;(AC)+(30)→AC 022STA 40;(AC)→(40) 023NOP; 空操作 024JMP 21; 21 → PC … 030 000 006 ; 数据 … 040 存和数 ; 数据

  15. 一个CPU周期 一个CPU周期 取下条指令PC+1 取指令 PC+1 开始 执行指令 对指令 译码 执行指令阶段 取指令阶段 5.2.2 CLA指令的指令周期

  16. 取出CLA指令 执行控制 取指控制 CPU 算术逻辑单元 ALU 时钟 状态条件寄存器 操作控制器 时序产生器 状态反馈 累加器AC c 程序计数器PC +1 指令译码器 000 020 000 021 c CLA c 000 020 c 指令寄存器IR 地址寄存器AR CLA 20 CLA 21 ADD 30 缓冲寄存器DR 22 STA 40 23 NOP 地址总线ABUS 24 JMP 21 数据总线DBUS 30 000 006 31 40

  17. 执行CLA指令 执行控制 取指控制 CPU 算术逻辑单元 ALU 时钟 状态条件寄存器 操作控制器 时序产生器 状态反馈 000 000 累加器AC c 程序计数器PC 指令译码器 +1 000 021 c CLA c 000 020 c 指令寄存器IR 地址寄存器AR CLA 20 CLA 21 ADD 30 缓冲寄存器DR 22 STA 40 23 NOP 数据总线DBUS 地址总线ABUS 24 JMP 21 30 000 006 31 40

  18. 一个CPU周期 一个CPU周期 一个CPU周期 取指令PC+1 执行加操作 取下条指令PC+1 开始 对指令译码 送操作数地址 取出操作数 取指令阶段 执行指令阶段 5.2.3ADD指令的指令周期

  19. 取出并执行ADD指令 执行控制 取指控制 算术逻辑单元 CPU 0+6=6 ALU 时钟 状态条件寄存器 操作控制器 时序产生器 状态反馈 累加器AC 000 006 c 程序计数器PC 指令译码器 +1 000 022 000 021 c ADD 30 c 000 021 000 030 c 指令寄存器IR 地址寄存器AR 000 006 ADD 20 CLA 21 ADD 30 缓冲寄存器DR 22 STA 40 23 NOP 数据总线DBUS 地址总线ABUS 24 JMP 21 30 000 006 31 40

  20. 5.2.4STA指令的指令周期

  21. 取出并执行STA指令 执行控制 取指控制 CPU 算术逻辑单元 ALU 时钟 状态条件寄存器 操作控制器 时序产生器 状态反馈 累加器AC 000 006 c 程序计数器PC 指令译码器 +1 000 022 000 023 c STA 40 c 000 022 000 040 c 指令寄存器IR 地址寄存器AR 000 006 STA 20 CLA 21 ADD 30 缓冲寄存器DR 22 STA 40 23 NOP 数据总线DBUS 地址总线ABUS 24 JMP 21 30 000 006 40 000 006

  22. 5.2.5 NOP指令和JMP指令的指令周期

  23. 取出并执行JMP指令 执行控制 取指控制 算术逻辑单元 ALU 时钟 状态条件寄存器 操作控制器 时序产生器 状态反馈 累加器AC 000 006 c 程序计数器PC 指令译码器 +1 000 024 000 021 000 025 c JMP 21 c 000 024 000 021 c 指令寄存器IR 地址寄存器AR JMP 21 20 CLA 21 ADD 30 缓冲寄存器DR 22 STA 40 23 NOP 数据总线DBUS 地址总线ABUS 24 JMP 21 30 000 006 40 000 006

  24. 用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢? 5.3  时序产生器和控制方式 [思考] 从时间上来说: 取指令事件发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段。 从空间上来说: 如果取出的代码是指令,那么一定经DR送往指令寄存器IR,如果取出的代码是数据,那么一定送往运算器。 时间控制对计算机来说是非常重要的!

  25. 5.3.1 时序信号的作用和体制 计算机的协调动作需要时间标志,而且需要采用多级时序体制。而时间标志则用时序信号来体现。 硬布线控制器中,时序信号往往采用主状态周期-节拍电位-节拍脉冲三级体制。 • 主状态周期(指令周期):包含若干个节拍周期,可以用一个触发器的状态持续时间来表示 • 节拍电位(机器周期):表示一个CPU 周期的时间,包含若干个节拍脉冲 • 节拍脉冲(时钟周期):表示较小的时间单位 微程序控制器中,时序信号则一般采用节拍电位-节拍脉冲二级体制。

  26. 主状态周期-节拍电位-节拍脉冲 主状态周期 节拍电位1 节拍电位2 节拍脉冲

  27. 节拍电位-节拍脉冲 控制信号:脉冲 数据:电位 数据准备好后,以电位的方式送触发器 控制信号来到后,用一个脉冲信号把数据装入触发器

  28. 5.3.2 时序信号产生器 IORQ MREQ RD WE T1 T2 T3 T4 启动 启停控制逻辑 停机 IORQ° MREQ° RD° WE° T1° T2° T3° T4° MERQ’ RD’ 节拍脉冲和读写时序译码逻辑 IORQ’ WR’ 环形脉冲发生器 Φ 时钟脉冲源 产生一组有序的间隔相等或不等的脉冲序列 提供频率稳定且电平匹配的方波时钟脉冲信号 由石英晶体振荡器组成

  29. 时序产生器(1/4) 一、概念 1、时序部件:计算机的机内时钟。它用其产生的周期状态,节拍电位及时标脉冲去对指令周期进行时间划分,刻度和标定。 2、指令周期:在计算机中从指令的读取到指令的执行完成,执行一条指令所需要的时间,称为指令周期。 指令周期通常由若干个CPU周期来表示,CPU周期也称为机器周期。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,通常用存储周期为基础来规定CPU周期。

  30. 时序产生器(2/4) 二、3级时序信号 1、周期 (1)在一个控制阶段内均持续起作用的信号; (2)通常用周期状态寄存器来标志和指明某某周期控制; (3)指令周期可分为取指周期、分析周期、执行周期。 2、节拍 (1)把一个机器周期分成若干个相等的时间段,每一个时间段对应一个电位信号,称节拍电位; (2)一般都以能保证ALU进行一次运算操作作为一拍电位的时间宽度。 3、时标工作脉冲 (1)及时改变标志状态; (2)时标脉冲的宽度一般为节拍电位宽度的1/N,只要能保证所有的触发器都能可靠地,稳定地翻转即可。

  31. 时序产生器(3/4) 三、3级时序信号的关系 1、一台计算机机内的控制信号一般均由若干个周期状态,若干个节拍电位及若干个时标脉冲这样3级控制时序信号定时完成。 2、3级控制时序信号的宽度均成正整数倍同步关系。周期状态之间,节拍电位之间,时标脉冲之间既不容许有重叠交叉,又不容许有空白间隙,应该是能一个接一个地准确连接,一个降落另一个升起而准确切换的同步信号。

  32. 周期 图6-7 三级时序系统 节拍 时标脉冲 时序产生器(4/4)

  33. CPU的控制方式(1/4) • 控制器的控制方式:形成控制不同微操作序列的时序控制信号的方法。 • 控制方式的分类: • 同步控制方式 • 异步控制方式 • 同异步联合控制方式

  34. CPU的控制方式(2/4) 一、同步控制方式 1、含义:又称为固定时序控制方式或无应答控制方式。任何指令的执行或指令中每个微操作的执行都受事先安排好的时序信号的控制。 2、每个周期状态中产生统一数目的节拍电位及时标工作脉冲。 3、以最复杂指令的实现需要为基准。 4、优点:设计简单,操作控制容易实现。 缺点:效率低。

  35. CPU的控制方式(3/4) 二、异步控制方式 1、含义:可变时序控制方式或应答控制方式。执行一条指令需要多少节拍,不作统一的规定,而是根据每条指令的具体情况而定,需要多少,控制器就产生多少时标信号。 2、特点:每一条指令执行完毕后都必须向控制时序部件发回一个回答信号,控制器收到回答信号后,才开始下一条指令的执行。 3、优点:指令的运行效率高; 缺点:控制线路比较复杂。 4、异步工作方式一般采用两条定时控制线来实现。我们把这两条线称为“请求”线和“回答”线。当系统中两个部件A和B进行数据交换时,若A发出“请求”信号,则必须有B的“回答”信号进行应答,这次操作才是有效的,否则无效。

  36. CPU的控制方式(4/4) 三、同步,异步联合控制方式 1、含义:同步控制和异步控制相结合的方式即联合控制方式,区别对待不同指令。 2、一般的设计思想是,在功能部件内部采用同步式,而在功能部件之间采用异步式,并且在硬件实现允许的情况下,尽可能多地采用异步控制。

  37. 5.3.3 控制方式 1. 同步控制方式  已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令 2. 异步控制方式 控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作 3. 联合控制方式 同步控制和异步控制相结合的方式 控制不同操作序列时序信号的方法

  38. 完全同步控制方式 CPU周期 取指周期 CPU周期 取源数 CPU周期 取目标数 CPU周期 执行周期 W0 W1 P0 P1 P2

  39. 异步控制方式 第N+2条指令 第N条指令 结束应答 结束应答 … Wk … Wi W0 W1 W0 W1 启动 下一条 启动 下一条 第N+1条指令 结束应答 … Wj W0 W1 i、j、k不一定相等 一般采用两条定时控制线:“请求”线和“回答”线 演示

  40. 5.4 微程序控制器 • 微程序控制器同硬布线控制器相比较,具有规整性、灵活性、可维护性等一系列优点 • 它利用软件方法(微程序设计技术)来设计硬件 • 微程序控制的基本思想就是把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里(控制存储器CM)。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,是相应部件执行所规定的操作

  41. 微命令 → 指令系统 • 处理器内部可以分为:控制部件和执行部件 • 微命令:控制部件向执行部件发出的控制命令 • 微操作:执行部件接受微命令后所进行的操作 (微操作在执行部件中是最基本的操作) • 微指令:实现一定操作功能的一组微命令 • 微程序:实现一条机器指令功能的微指令序列 指令系统=所有指令,指令=微程序 微程序=若干微指令,微指令=一组微命令 微命令→微操作

  42. 机器指令与微指令 机器指令1 微指令1 微程序 机器指令2 微指令2 程序 …….. …….. 机器指令i 微指令i ……… …….. 机器指令n 微指令n

  43. 机器指令级 微指令级 微命令 微指令寄存器μIR 指令寄存器IR 缓冲寄存器DR 控制存储器CM 主存储器 地址译码器 地址译码 地址寄存器AR 微地址寄存器μAR 程序计数器PC

  44. 5.5 微程序设计技术 1.静态微程序设计 对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变 2.动态微程序设计 采用EPROM作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统 采用动态微程序设计,微指令和微程序可以根据需要加以改变,因而可在一台机器上仿真其它机器指令系统

  45. 5.6 硬布线控制器 • 硬布线控制器把控制部件看作为产生专门固定时序控制信号的逻辑电路(以使用最少元件和取得最高操作速度为设计目标) • 硬布线控制的优点:速度较快;缺点:不容易修改添加新功能 • 微程序控制的优点:具有规整性、灵活性、可维护性等;缺点:采用存储程序原理,需要执行多条微指令,速度较慢

  46. 5.7 传统CPU • M6800CPU • 是一个比较典型的单总线结构的微处理器 • M6800CPU是一种8位微处理器,采用单一的5V电源。时钟脉冲采用两相(φ1,φ2),主频为1MHz,由外面加入CPU。 • M6800的CPU主要包括8位的ALU,16位的程序计数器、16位的堆栈指示器和16位的变址寄存器,两个8位的累加器和一个8位的状态条件码寄存器,一个8位的指令寄存器以及指令译码与控制部件(即操作控制器)。此外还有一个8位的数据缓冲寄存器和一个16位的地址缓冲寄存器。 • ALU部件执行算术运算和逻辑操作,它们包括逻辑“与”、逻辑“或”、逻辑“异或”、求补、比较、加法、减法、十进制调整等。 • 在M6800中,主存地址和外设地址是统一编址的,因此,在65536个地址中有一部分是为外围设备使用的。

  47. 传统CPU举例 • Intel 8088CPU • Intel 8088是一种通用的准16位微处理器,其内部结构为16位,与外部交换的数据为8位。它可以处理16位数据(具有16位运算指令,包括乘除法指令),也可处理8位数据。它有20条地址线,直接寻址能力达到1M字节。 • CPU 从功能上来说分成总线接口单元BIU和执行单元EU两大部分。 • BIU负责与存储器和外围设备接口,即8088 CPU与存储器和外围设备之间的信息传送,都是由BIU进行的。 • EU 部分负责指令的执行。取指部分与执行指令部分是独立并行工作的,在一条指令的执行过程中,可取出下一条(或多条)指令,在指令流队列寄存器中排队。在一条指令执行完以后就可以立即执行下一条指令,减少了CPU为取指令而等待的时间,提高了系统的运行速度。

  48. 传统CPU举例 • IBM 370CPU • 32位CPU • ALU部件按功能不同分为如下三个子部件:(1)定点运算,包括整数计算和有效地址的计算;(2)浮点运算;(3)可变长运算,包括十进制算术运算和字符串操作。 • 为了存放地址和数据,使用了两组独立的可编址寄存器,16个通用寄存器用来存放操作数和运算结果,且可用作变址寄存器。4个浮点寄存器用于浮点运算。数据寄存器DR、地址寄存器AR、指令寄存器IR是标准化的。 • Intel 80486CPU • 32位CPU • 通过采用流水技术,以及微程序控制和硬布线逻辑控制相结合的方式,进一步缩短可变长指令的译码时间,达到基本指令可以在一个时钟周期内完成。

  49. 传统CPU举例 • 486芯片内部包含一个8KB的数据和指令混合性cache,为频繁访问的指令和数据提供快速的内部存储,从而使系统总线有更多的时间用于其他控制。 • 486芯片内部包含了增强性80387协处理器,称为浮点运算部件(FPU)。由于FPU功能扩充,且放在CPU内部,使引线缩短,故速度比80387提高了3—5倍。 • 486 CPU的内部数据总线宽度为64位,这也是它缩短指令周期的一个原因。而外部数据总线的宽度也可以自动转换。 • 地址信号线扩充到32位,可以处理4GB(232字节)的物理存储空间。如果利用虚拟存储器,其存储空间达64TB(246字节)。

  50. 6 PM 7 8 9 Time T a s k O r d e r 30 40 20 40 40 40 A B C D 5.8 流水CPU 洗衣房的流水作业 三个阶段: 1. 水洗(30) 2. 烘干(40) 3. 熨烫(20) 演示

More Related