当前位置: 首页 > news >正文

计算机组成原理复习

一、计算机系统概述

冯·诺依曼结构的主要思想

1. 采用 存储程序,程序控制 工作方式。
2. 计算机应由运算器、控制器、存储器、输入设备和输出设备五个基本部件组成。
3. 各基本部件的功能:
存储器 不仅能存放数据,而且也能存放指令,形式上两者没有区别,但计算机应能区分数据还是指令;
控制器 应能自动执行指令;
运算器 应能进行加/减/乘/除四种基本算术运算,并且也能进行一些逻辑运算和附加运算;
操作人员可以通过 输入设备 输出设备 和主机进行通信。

计算机硬件的主要技术指标 

1、机器字长机器一次能处理的二进制位数
2、存储容量:存放二进制信息的总位数       存储容量=存储字个数 × 存储字长
3、时间指标   

CPI (Clock cycles Per Instruction)

执行一条指令执行时所用的时钟周期

单条指令CPI 、一段程序中所有指令的CPI

四、储存器

0/153

根据这个层次结构,来看看更接近使用现状的一个存储系统

通常把各种不同存储容量、不同存取速度的存储器,按一定的体系结构组织起来,形成一个统一整体的存储系统。

CPU访问到的存储系统具有Cache的速度,辅存的容量和价格

由缓存、主存储器、辅助存储器构成的三级存储系统可以分为两个层次

(1)缓存-主存 (解决CPU和主存速度不匹配的问题) 数据调动由硬件完成,对程序员是透明的
(2)主存-辅存 (解决存储系统的容量问题) 数据调动由硬件和操作系统共同完成的 虚拟存储器

 dasdad

 存储单元:大量存储单元的集合构成一个 存储体,为了区别存储体中的各个存储单元, 必须将它们逐一编号。存储单元的编号称为地 址,地址和存储单元之间有一对一的对应关系。

存储字:一个二进制数由若干位组成,当 这个二进制数作为一个整体存入或取出时,这 个数称为存储字。(8的倍数)

主存按字节编址,每一个存储字(32位) 包含几个存储单元?每一个32位的存储字包含4个存储单元(字节)

半导体存储芯片 基本结构

半导体存储芯片的译码驱动方式

随机存取存储器 ( RAM ) 

1. 静态 RAM (Static RAM, SRAM)
2.动态 RAM (Dynamic RAM, DRAM)  ,时序,刷新

只读存储器(ROM)

1.2.3.4.5.

           将多个芯片组成一个存储器,不管是采用位扩展法、字扩展法、字位同时扩展法首先要计算出总的芯片数。

位扩展是指只在位数方向扩展(加大字长), 而芯片的字数和存储器的字数是一致的
字扩展是指仅在字数方向扩展,而位数不变。

总容量:所要求的容量和
容量/片:选定的存储芯片容量

            然后就是如何把芯片连接起来的问题。即要完成CPU主存间地址线、数据线、控制线的连接。

课堂上讲解的例题如下 

 存储器与 CPU 的连接(跳

存储系统存在速度问题,可以通过双端口RAM和多模块存储器两种方法提供存储器工作速度

优化后速度和CPU差距太大了,自然引出高速存储单元Cache

Cache 

Cache集成在CPU内部,他是SRAM,所以速度快和成本高

根据局部性原理,(即空间局部性和时间局部性) 可以把目前访问的地址部分数据放到Cache中

性能分析

设设t_c为访问一次Cache所需时间,t_m是访问一次主存所需时间
命中率H:CPU欲访问信息已在Cache中比率
缺失率M=1-H

Cache--主存的平均访问时间为

  1. t=H*t_c+(1-H)*(t_c+t_m)        这是CPU先访问你Cache后访问主存
  2. t=H*t_c+(1-H)*t_m                 这是CPU同时访问Cache和主存,命中就直接停止访问主存

那么基于局部性原理,即把CPU访问的地址周围数组到Cache中,如何界定周围? 

如每KB一块主存和Cache以块为单位交换数据

 

常见的映射方法          ppt上的例题

(a)全相联映射
主存块可以放在Cache任意位置

(b)直接映射
每个主存块只能放到一个特定的位置: Cache块号=主存块号%Cache总块数

(c)组相联映射
Cache块分为若干组,每个主存块可放到特定分组中的任意一个位置 .  组号=主存块号%分组数

可以给cache块加一个标记,记录对应的主存块号,但是标记位前面应该有有效位,表明是有数据的 

            1.全相联映射     

任何一个块都能任意位置,CPU如何访问主存呢??? 

 CPU访问主存地址  1....1101001110:
①主存地址的前22位,对比Cache中所有块的标记;
②若标记匹配且有效位=1,则Cache命中,访问块内地址为001110的单元。
③若未命中或有效位=0,则正常访问主存

2.直接映射.

缺点在于0和8余8,其他地方有空闲cache块,但8号主存块不能使用,如何优化标记?

 接着,若cache总块数是2 的n次方,则主存块号末尾n位直接反映他在Cache中位置 , 将主存块号的其余部分位作为标记即可,即标记位22位------>19位标记

3.相联映射
常见的替换算法
1. 先进先出 FIFO )算法   : 按调入Cache的先后决定淘汰的顺序,即在需要更新时, 将最先进入Cache的块作为被替换的块。
2. 近期最少使用( LRU )算法:  LRU算法是把CPU近期最少使用的块作为被替换的块。这种 替换方法需要随时记录Cache中各块的使用情况,以便确定哪个 块是近期最少使用的块。 LRU算法相对合理,但实现起来比较复杂,系统开销较大。

 数据校验

1.  海明码校验ppt上的例题

 由Richard Hamming于1950年提出,目前还被广泛使用。

海明校验码实质上就是一种多重奇偶校验码
0001 -> 00011 (偶校验)P=D4⊕ D3 ⊕ D2⊕ D1
0001 -> 00010 (奇校验) P=D4⊕ D3 ⊕ D2⊕ D1 ⊕ 1

基本思想:将整个数据按某种规律分成若干组,对每一组内采用 一位奇偶校验,就能提供多位检错信息,从而对错误位置进行定位,并将其纠正。

六、计算机的运算方法

无符号数和有符号数

无符号数 :整个机器字长的全部二进制位均用来存放数值 (没有符号位)

有符号数:01011  ----->+0.1011                      11100-------------->-1100

原码

整数 :x=+1110--------> 0,1110                               x=-1110--------------> 1,1110
小数: x=+0.1101-------> 0.1101                             x=-0.1101--------------->1.1101

简单、直观;但运算相对复杂 但是用原码作加法时,会出现如下问题:原码中 0 的表示不唯一,故不利于程序员编程

补码

正数没有变化,还是x=+1010 -------> 01010
但是负数有变化 此事在CSAPP第一章中亦有记载 是互模的,比如????????????????????

简便的计算方法是原码除符号位各位取反加1

原码1,1010------------>1,0101--------->1,0110
而小数补码是-0.0110------------>10110--------->11001------------->11010

符号位可以和数值位一起参加运算,减法可以用加法方便的 来实现,零的表示唯一。

反码

补码末尾减一,就是除符号位各位取反,

接下来是移位:

移位

分为算术移位,逻辑移位,加一个循环移位

乘法

原码会了

补码是booth算法

 

 

除法

浮点数格式

定点运算   ppt上的例题

七、指令系统

ISA(Instruction Set Achitecture):指令集体系结构

是软、硬件界面的接口
是硬件设计的依据和软件设计的基础,直接影响计算机系统的性能

指令系统(指令集):一台计算机中所有机器指令的集合
机器指令:计算机能直接识别、执行的操作命令

 操作码字段的位数与支持的最大指令数量有关,length_{op}=[log2^ n]     向下取整

 

操作码 指明机器做什么操作

(1) 长度固定 优点:便于硬件设计,指令译码时间短 例如 IBM 370 操作码 8 位

(2) 长度可变 操作码分散在指令字的不同字段中 优点:减少指令字长的浪费

地址码 给出该指令的源操作数地址、目的操作数地址、下一条指令地址,这里需要配和book

1.四地址

(1) 四地址   A1 第一操作数地址    A2 第二操作数地址     A3 结果的地址     A4 下一条指令地址
(A1)OP(A2)---->A3

若PC代替A4?? 

2.三地址

若 A3 用 A1 或 A2 代替????

3.二地址(最常用)

若A1和A2均为存储器地址, 执行该指令至少需要访问几次主存? 4 次访存

若ACC 代替 A1(或A2)????

4.一地址

单目运算:如:取反等

双目运算:另一个隐含操作数就存放在一个专用的寄存器中 如: 累加器等

5.零地址
  1. 无需操作数 如:空操作/停机等
  2. 所需操作数为默认的 如:堆栈/累加器等

 扩展操作码技术

PPT上的例题

指令字长

指令字长:一个指令中包含二进制代码的位数。

指令字长决定于  操作数地址的长度   操作数地址的个数    操作码的长度

1. 指令字长固定 指令字长 = 存储字长
2. 指令字长可变 通常取字节(8b)的整数倍

操作数类型和操作种类

1.字的存放问题

假设某机器主存按字节编址,有一数据(32位)包含4 个单独编址的存储单元。

大端方案(Big-Endian) ,即数据的高字节保存在内存 的低地址中,而数据的低字节保存在内存的高地址中。

假设某机器主存按字节编址,有一数据(32位)包含4个单独 编址的存储单元。

小端方案(Little-endian),即数据的高字节保存在内存的高 地址中,而数据的低字节保存在内存的低地址中

 2.字的边界对齐问题

设存储字长为32位,读写的数据有4种不同长度,它们分别: 字节(8位)、 半字(16位)、 单字(32位)、 双字(64位)。

各种不同长度的数据存放时,有两种处理方式:
(1)不按边界对齐 (2)按边界对齐

例如:int i(32b), short k(16b), double x(64b), char c(8b), short j(16b)

 

得到x,需要访问几次存储器?
优点:不浪费主存资源
缺点:当访问的一个双字、单字或半字跨越两个存储单元时,存储器的工作速度降低了一半,而且读写控制比较复杂。----增加了访问次数

按边界对齐   无论要存放的是字节、半字、单字或双字,都必须从存储字的起始位置 开始存放,而空余部分浪费不用。

例如:int i(32b), short k(16b), double x(64b), char c(8b), short j(16b)

优点:读写数据的 控制比较简单。 缺点:浪费了的存储器资源。

数据存放按如下规则:双字数据(64b)的起始地址:8的倍数(最末三位为000)
字数据(32b)的起始地址:4的倍数(最末两位为00)
半字(16b)地址:2的倍数(最末一位为0) 字节(8b)地址:任意

例如:int i(32b), short k(16b), double x(64b), char c(8b), short j(16b)

操作类型

1.数据传送
寄存器寄存器存储器存储器
目的寄存器存储器寄存器存储器
例子MOVESTORE
MOVE
PUSH

LOAD

MOVE

POP

MOVE
 2. 算术逻辑操作

 加、减、乘、除、增 1、减 1、求补、浮点运算、十进制运算 与、或、非、异或、位测试、位清除、位求反

如 8086 ADD SUB MUL DIV INC DEC CMP NEG AND OR NOT XOR TEST

3. 移位操作

算术移位 逻辑移位 循环移位(带进位和不带进位)

4. 转移

(1) 无条件转移 JMP

(2) 条件转移

  • 结果为零转 (Z = 1) JZ
  • 结果溢出转 (O = 1)JO
  • 结果有进位转(C = 1)JC
  • 跳过一条指令 SKP

 (3) 调用和返回

 (4) 陷阱(Trap)与陷阱指令

意外事故的中断
• 一般不提供给用户直接使用 在出现事故时,由 CPU 自动产生并执行(隐指令)
• 设置供用户使用的陷阱指令 如 8086 INT TYPE 软中断

5. 输入输出(对于I/O独立编址的计算机)

输入               端口地址------------------->CPU 的寄存器

例如 IN AX, n IN AL, nn, AL

输出                CPU 的寄存器 -------------------> 端口地址

例如OUT DX, AL OUT DX, AX OUT n, AX OUTIN AL, DX IN AX, DX????

寻址方式

第一种是指令寻址,这种比较简单,分为顺序寻址和跳跃寻址,顺序就是不停+1,跳跃是遇到

JMP的时候,跳到对应的地址

第二种是数据寻址

1>立即寻址

2>直接寻址

EA = A 寻址方式 OP 有效地址由形式地址直接给出

执行阶段访问一次存储器 
A 的位数限制了该指令操作数的寻址范围(缺点)

3>隐含寻址
4>间接寻址
5>寄存器寻址
6>寄存器间接寻址
7>寄存器间接寻址
8>变址寻址
9>相对寻址
10>堆栈寻址

方式       算法              主要优点                                      主要缺点

立即     操作数=A         指令执行速度快 (赋初值)          操作数大小受限

寄存器      操作数=(R)        指令执行快,指令短                地址范围有限

直接         EA=A                有效地址计算简单                    地址范围有限

间接         EA=(A)              有效地址范围大                        很慢,多次存储器访问

寄间接     EA=(R)              地址范围大                                慢,有存储器访问

变址        EA=A+ (Rx)       在循环,数组处理有用              慢,有存储器访问

基址        EA= (Rb)+A       提供更大的范围的访存能力       慢,有存储器访问

相对        EA=(PC)+A        程序在内存中成块移动              慢,有存储器访问

 PPT上的例题

指令格式

RISC

根据指令系统设计和实现的风格,可将计算机分为复杂指令系统计算机(CISC)和精简指令系统计算机(RISC)。

CISC(Complex Instruction Set Computer)
RISC(Reduced Instruction Set Computer)

CISCRISC的优缺点

八、CPU的结构和功能

8.1 CPU 的结构

现代计算机的硬件体系架构仍然遵循冯诺依曼计算机的基本原理。 按“存储程序”的概念,只要把程序装入 主存储器后,即可由计算机自动地完成取指令、 执行指令的任务

 

CPU=运算器+控制器

一、CPU 的功能
1.控制器的功能
  • 从内存中取出指令(指令控制)CU
  • 分析指令,对指令的操作码进行解码(操作控制) CU
  • 执行指令,按一定的顺序发出各种操作命令(时间控制) CU
  • 控制程序的输入及结果的输出
  • 管理总线的控制权和使用权
  • 处理异常和特殊请求  (处理中断)  中断系统
2.运算器的功能
  • 实现算数运算和逻辑运算(数据加工)           ALU
二. CPU与系统总线

CPU通过系统总线(控制总线、数据总线、地址总线)和其他部件进行通讯

根据CPU的功能,考虑实现这些功能所需的结构:

  • 指令控制需要PC和IR,所以CPU中应该有寄存器单元。
  • 操作控制和时间控制需要控制单元(CU)和时序电路,由控制单元对指令进行译码,并在给定的时刻给出给定的操作命令。
  • 数据加工需要运算器(ALU)和寄存器。
  • 处理中断需要中断系统的支持。
三、CPU 的寄存器
1 、 控制和状态寄存器 (大部分对用户透明)

  (1) 存储器数据寄存器(MDR) 一个专用寄存器。 用来暂时存放,欲存入主存储器中的一条指令或一个数据字,或从主存 读出的一条指令或一个数据字。

(2)存储器地址寄存器(MAR) 一个专用寄存器。 它用来保存当前CPU所访问的主存单元的地址。

(3)程序计数器(PC) PC也是一个专用寄存器 8.1 程序计数器又称指令计数器,用来存放要执行的下条指令地址

(4)指令寄存器(IR) IR也是一个专用寄存器。存放当前正执行的指令。 在执行指令的过程中,指令寄存器的内容不允许发生变化。

(5)程序状态字寄存器(PSWR) PSWR也是一个专用寄存器,它用来存放程序状态字(PSW)。 它主要包括两部分内容:状态标志,控制标志。 状态标志----例如:进位标志、结果为零标志等; 控制标志----例如:中断标志。 8086微处理器的状态标志寄存器是16位的寄存器
           在具有中断系统的机器中还有中断标记寄存器

 MAR、MDR、IR、PC—— 用户不可见         (PSWR)---------用户可见

从内存中取出一条指令的流程:PC-->MAR-->Memory-->MDR-->IR

PC将要取的指令地址给MAR,MAR将地址传递到内存,并且控制器发出读命令,取出的指令存放至MDR,进而传递给IR

 2 、用户可见寄存器
  • (1) 通用寄存器        存放操作数 可作某种寻址方式所需的专用寄存器
  • (2) 数据寄存器        存放操作数(满足各种数据类型) 两个寄存器拼接存放双倍字长数据
  • (3)地址寄存器 存放地址,其位数应满足最大的地址范围 用于特殊的寻址方式 变址寄存器 栈指针
  • (4)条件码寄存器 对于用户部分透明...................................................................

 不同计算机的CPU中, 寄存器组织是不一样的。

处理器中对用户可见的寄存器是(B)
A.程序状态字寄存器
B.数据寄存器
C.程序计数寄存器
D.指令寄存器
以下为题目解析
*处理器一般包括两类寄存器:一类称为用户可见寄存器;第二类称为控制和状态寄存器。用户可见寄存器通常所有程序都是可用的由机器语言直接使用它一般包括数据寄存器(又称为通用寄存器)、地址寄存器以及条件码寄存器故本题答案选择B选项*

可是A选项的PSW和C选项的PC都是用户可见的啊。这个题真的把我弄糊涂了,我网上搜答案全是B。如果题目是不可见的寄存器还能选D。选B我实在想不出原

b的话他认为是通用寄存器,是对所有用户可见的,a和c只是对汇编程序员可见,而对应用程序员是透明的(可能是这个意思)

四 . 控制单元CU和中断系统 

CPU分为

ALU (第6章)

CU   产生全部指令的微操作命令序列 (1)组合逻辑设计 (2)微程序设计 (教材 第4篇)

中断系统       (第5章 I/O)第四节“中断系统”。

寄存器           刚刚讲的

8.2 指令周期

指令周期的基本概念 (了解,在9.2.3时序系统中深入学习)

取出并执行一条指令所需的全部时间

 由于各种指令操作功能不同,寻址方式也不同,执行时间也不同, 因此各种指令的指令周期是不相同。

具有间接寻址的指令周期 执行阶段需要从主存中取出操作数的地址,然后取出操作数,至少需要进行两次访存。 

当CPU采用中断方式实现主机与输入输出设备交换信息  执行周期结束后,需要检查是否有中断请求,如果有需要进行中断相应,完成保存程序断点,形成中断服务程序入口地址,硬件关中断等操作。 

CPU执行一条指令的过程:取指令+执行指令+公操作

1.取指令+执行指令----基本过程,是有序过程

2.公操作——进行一系列的测试:

每步都需检测“异常”,若有异常,则自动切换到异常处理程序。------------------------------------译码—无效操作数, 运算---溢出

每步都需检测是否有某个I/O设备提出中断请求。

“异常”和“中断”的差别?

指令周期流程

CPU工作周期的标志

CPU 的4个工作周期都有访存操作,只是访存的目的不同。

  1. 取 指令            取指周期      放到IR
  2. 取 EA地址       间址周期      采用间址寻址,需要取地址   放到IR的地址码部分或MDR的地址码部分
  3. 取 操作数        执行周期       放到CPU的寄存器中,为数据操作做准备
  4. 存 程序断点    中断周期       将断点保存至内存单元的指定位置

指令周期的数据流 (了解,在9.1微操作命令分析中深入学习)

为便于分析,简化了CPU模型(MAR、MDR、PC、IR、CU)

1.取指周期数据流

(1)PC中指令的地址送到MAR,并送至地址总线
(2)由CU向存储器发送读命令,使对应MAR所指单元的内容经数据总线送至MDR,再送至IR
(3)CU控制PC内容加1,形成下一条指令的地址

2. 间址周期数据流

一旦取指周期结束,CU便检查IR中的内容,以确定是否有 间址操作。

(1) 若有间址操作,则MDR中形式地址送 到MAR,又送至地址总线
(2) CU向存储器发送读命令,以获取EA 有效地址存至MDR

3. 执行周期数据流

不同的指令在执行周期的操作不同,因此执行 周期的数据流是多种多样的。

4 . 中断周期数据流

(1)把SP的内容送到 MAR,并送到地址总线上
(2) CU向存储器发送 写命令,将PC的内容(程序断点)送到MDR,并存入存储器。 

执行完中断服务程序后 可以准确返回到该程序的间 断处。

指令流水

一、如何提高机器速度

1. 提高器件的性能 高速芯片(存储、运算器)
2. 改进系统结构,开发系统的并行性 多体并行(存储) 多总线
3.提高IO和主机传递速度,中断,DMA,通道,IO处理机

二、系统的并行性

1. 并行的概念

  • 并发 两个或两个以上事件在同一时间段发生
  • 并行 两个或两个以上事件在同一时刻发生

时间上互相重叠

2. 并行性的等级

过程级(程序、进程)粗粒度  软件实现
指令级(指令之间)(指令内部) 细粒度 硬件实现

流水线技术就是指令级并行技术中最早也是最成熟的技术。

三、指令流水原理

1. 指令的串行执行

 取指令 取指令部件 完成                   执行指令 执行指令部件  完成                      总有一个部件空闲

 2. 指令的并行执行(二级流水)

若取指和执行阶段时间上完全重叠 指令周期减半 速度提高 1 倍
使CPU从串行工作变为并 行工作,具有了流水线的雏型。

四、流水线性能

1. 吞吐率

单位时间内流水线所完成指令或输出结果的数量 设m段的流水线各段时间为Δt

2. 加速比 Sp

m段的流水线的速度与等功能的非流水线的速度之比

设流水线各段时间为Δt

完成n 条指令在m段流水线上共需 T = m*Δ t + (n-1) *Δ t
完成n 条指令在等效的非流水线上共需 T′= nm*Δt

则 S_p=\frac{nm*\Delta t}{m*\Delta t+(n-1)*\Delta t}=\frac{nm}{m+n-1}

3. 效率

流水线中各功能段的利用率

QUESTION :  

五、指令的六级流水

将一个指令处理过程分成m个复杂程度相当、处理时间大致相等的 子过程,每个子过程由一个独立的功能部件来完成。在同一时间,m个 部件同时进行不同的操作。

将一条指令分成6个子过程, 每个子过程由不同的电路单元分别 执行,在CPU中这6个不同功能的电路单元组成一条指令处理流水线。

子过程  称为流水线的“级”或“段”。 段的数目,称为流水线的深度。

⚫ 取指 (FI) : 从存储器取出一条指令并存入指令寄存器。
⚫ 指令译码 (DI) : 确定操作码,操作数地址的形成方式。
⚫ 计算操作数地址 (CO) : 计算操作数的有效地址。
⚫ 取操作数 (FO) : 从存储器中取操作数(若操作数在寄存器中,则无须此 阶段)。
⚫ 执行指令 (EI) :根据操作码执行相应操作
⚫ 写操作数 (WO) : 将结果存入存储器。 

假设每一段的时间相同。          取指-->译码-->形成操作数的地址-->取操作数-->执行-->结果的写回

完成一条指令              6 个时间单位(通常为一个时钟周期,1拍)
       串行执行              6 × 9 = 54 个时间单位      
       六级流水              6+8=14 个时间单位

六、影响指令流水线性能的因素 

总有一些原因使指令流水出现停顿,影响流水线效率,一个关键原因:程序中相邻或相近指令之间存在一定依赖性(也称,相关性)

指令流水线的相关性包括结构相关、数据相关、控制相关。

  1. 结构相关(资源冲突):指令重叠执行过程中,硬件资源满足不了指令重叠执行的要求;
  2. 数据相关(数据冲突):在同时执行的多条指令中,一条指令依赖前 一条指令的执行结果(数据)却无法得到;
  3. 控制相关(控制冲突):流水线遇到分支指令或其他改变PC值的指令。

 

 停顿指的是指令四在4时间段内FI选择听一次,把命令延迟到5-10运行

2. 数据相关

不同指令因重叠操作,可能改变操作数的读/写访问顺序,导致数据冲突

• 写后读相关(RAW)
• 读后写相关(WAR)
• 写后写相关(WAW)

流水线的多发技术

45/63接着即可

九、控制单元的功能

CPU主要是完成指令的自动执行,离不开控制单元发出控制信号。CPU在执行不同的指令时,发出不同的控制信号。

本章将着重分析控制单元为完成不同指令所发出的各种控制信号 (操作命令)

一、 控制单元的功能

1.控制单元的外特性

2.输入信号

(1) 指令寄存器
OP ( IR )----->CU 控制信号 与操作码有关

(2) 时钟
CU 受时钟控制 (一定先后顺序,一定节奏)
例如:取指过程 PC-->MAR, M(MAR)-->MDR, MDR-->IR
一个时钟脉冲
发一个操作命令或一组需同时执行的操作命令

(3) 标志
CU 受标志控制 指令正确执行必要的 
例如:JZ指令,CU根据上条指令的结果是否为0 而产生不同控制信号

(4) 外来信号
如 INTR 中断请求

3.输出信号

(1) CPU 内的各种控制信号
寄---------->寄
(PC) + 1 PC
ALU: +、-、与、或 ……

(2) 送至控制总线的信号
IO/M             访 IO/ 存储器的控制信号
RD               读命令
WR              写命令
INTA            中断响应信号

控制单元为完成不同指令 ——向计算机的所有部件有次序地发出相应控制信号

这里 有次序 指的是"时序系统",控制信号 指的是"微操作命令"

二、多级时序系统

1.指令周期

指令周期: 取出并执行一条指令所需的全部时间

2.机器周期

机器周期看作指令执行过程中的一个基准时间,以 访问一次存储器的时间 为基准。

通常把一个指令周期划分为若干个机器周期,每个机器周期完成一个基本操作。

3.时钟周期(节拍、状态)

在一个机器周期内,可完成若干个微操作。

用时钟信号来控制产生每个微操作命令。

时钟信号可由晶振发出的脉冲经放大后产生

时钟周期=节拍脉冲=震荡周期 在每个时钟周期内机器完成一个或几个需同时执行的微操作, 时钟信号的频率即为CPU 主频----CPU 内核工作的时钟频率。

4.多级时序系统

一个指令周期包含若干个机器周期
一个机器周期包含若干个时钟周期
机器周期、节拍、CLK组成多级时序系统

  • 定长指令周期 早期三级时序系统
  • 机器周期数固定,节拍数固定
  • 不定长指令周期 现代时序系统

机器周期数可变,节拍数可变

5.机器速度和机器主频之间关系

机器的 主频 f 越快 机器的 速度也越快

机器速度 不仅与 主频有关 ,还与机器周期中所含 时钟周期数 以及指令周期中所含的 机器周期数有关

QUESTION

三、控制方式(CU采用的时序控制)

指令功能不同,指令的执行时间也会不同。

1. 同步控制方式 同步控制方式即固定时序控制方式(机器周期内 节拍数 相同),以最复杂指令的操作时间作为统一的时间间隔标准。

每条指令和每个微操作所需的执行时间不同

1. 同步控制方式

优点:设计简单,容易实现;
缺点:对于许多简单指令来说会有较多的空闲时间,造成 较大数量的时间浪费,从而影响了指令的执行速度。

为了提高CPU效率,同步控制的改进: 教材388(2):采用不定长的机器周期 教材388(3):采用中央控制和局部控制相结合的方法 

2.异步控制方式

3.联合控制方式

4.人工控制方式

22/47

十、控制单元的设计

 


http://www.mrgr.cn/news/79902.html

相关文章:

  • 【java常用算法和应用场景】
  • [创业之路-186]:《华为战略管理法-DSTE实战体系》-1-为什么UTStarcom死了,华为却活了,而且越活越好?
  • NAT(4)RFC2993架构影响
  • JAVA笔记2第五章
  • 基于Springboot的实验室管理系统【附源码】
  • 【Linux篇】走进Linux — 开启开源操作系统之旅
  • 【漏洞复现】CVE-2022-26619 CVE-2022-32994 Arbitrary File Upload
  • 多发电站实现光伏发电预测的统一管理模式
  • CSDN原力值说明
  • mac 安装CosyVoice (cpu版本)
  • 通用定时器之输出比较的功能
  • 0001.简易酒店管理系统后台
  • MOTR: End-to-End Multiple-Object Tracking with Transformer
  • PyQt5入门(四)--------下拉选择框控件(comboBox)
  • 【Neo4J】neo4j docker容器下的备份与恢复
  • 微信小程序web-view 嵌套h5界面 实现文件预览效果
  • 餐饮平台数仓建模案例
  • Spann3R:基于DUSt3R的密集捕获数据增量式重建方法
  • day11 性能测试(4)——Jmeter使用(黑马的完结,课程不全)直连数据库+逻辑控制器+定时器
  • 分布式事物XA、BASE、TCC、SAGA、AT
  • 解决 MyBatis 中空字符串与数字比较引发的条件判断错误
  • ubuntu 安装 docker详细教程
  • 第十九章程序清单合集——Java语言程序设计进阶篇(黑皮书)
  • 机器学习02-发展历史补充
  • 负载均衡策略:L(P)策略;L(Max) ;L(LDS)
  • [游戏开发] Unity中使用FlatBuffer