计算机组成原理微命令序列图,计算机组成原理和结构图式(第三章 CPU子系统)...

计算机组成原理和结构图式(第三章 CPU子系统)

1、CPU概述

9759e8c410789b7abdd29266f7b22823.png

M:存储部件(存储单元在存储部件中)

R:通用寄存器组

ALU:逻辑运算部件

1)CPU的基本组成:

1、运算部件

2、寄存器组

3、微命令产生部件

4、时序系统

5、CPU内部数据通路结构

由CPU内总线将这些部件连接起来,实现部件之间的信息交换。

2、运算部件

1)任务:输入/直送,加工,输出

2)运算器构成

d8eb189a363e542f529bfd784dc03032.png

输入逻辑(选择器或暂存器)

算逻运算部件

9fd9020bd9ab0c43edf021e2410de6c1.png

3.输出逻辑(直送、移位、字节交换)

3、寄存器组

任务:暂存控制信息和数据信息。

可编程控制部件

1)通用寄存器Ri,i可编程,一般成对出现

2)程序计数器PC,用途:指示指令在存储器中存放位置

取址结束后,PC内容增加(可编程)

3)程序状态寄存器PSW,有两个空位(可编程)

主要用途: 记录现行程序的运行状态和指示程序的工作方式。

4c1fec398880caa912afc894dfd090df.png

4)堆栈指针SP,与R相似,因其特殊进出方式单独分出

PC>PSW>SP>Ri

不可编程控制部件

1)I指令寄存器IR:存放现行指令

2)暂存器,C和D不可编程,不能被CPU编程访问

3)地址寄存器MAR—>地址总线

4)数据寄存器MDR数据总线

MAR、MDR是CPU联系存储器和外设之间的桥梁

4、控制器及控制方式

1)任务:根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控制,且在数据传送到运算部件时控制完成运算处理。

按产生微命令的方式,可以分为两类: 组合逻辑控制方式 微程序控制方式

2)微命令产生

1c37aa13548ca85bb9620facfa10e98c.png

从指令执行的角度, 指令执行过程: 四个阶段:取址—指令分析(译码)—指令执行—写结果

dd9db219cbb6a13abb33424b7c3deb97.png

1c27e1bbcd2e47638243c2ecd236af99.png

91d0bc9620234322d592a5c859bd56c6.png

3)时序系统

(1)定义:周期、节拍、脉冲等信号称为时序信号,产生时序信号的部件则称为时序发生器或时序系统,由一个振荡器和一组计数分频器组成。

(2)振荡器:一个脉冲源,输出频率稳定的主脉冲,也称为时钟脉冲,为CPU提供时钟基准。

(3)时钟脉冲经过一系列计数分频,产生所需的节拍(时钟周期)信号或更长的工作周期(机器周期)信号。

(4)时钟脉冲、时钟周期、节拍信号与有关控制条件相结合,产生所需的各种工作脉冲。

27be3d114e9589a9faa6a8b602ee3c08.png

5、CPU内部的数据通路结构

762578492b3c432235ccab562afc400e.png

5870dc16627e1c2a9639f0cbb926701b.png

20ce97842e302d22440f82094ea1f1a7.png

6、CPU工作原理

1)CPU主要功能

处理指令

执行操作

控制时间

处理数据

CPU工作过程

取指令

指令译码

指令执行

后续工作

2)CPU外部连接

c01635dd0c9573b2eb71ab2e6f62827f.png

3)CPU控制信息传送的方式

程序输入输出方式

中断方式

DMA方式

通道方式

4)其他

(1)CPU指令集:CISC、RISC

(2)CPU的发展:

①第1阶段,1946-1970(非微处理器) 特点:电子管和晶体管CPU阶段,体积大、功耗高、集成度低、运算速度慢。

②第2阶段,1971-1973(进入微处理器时代) 特点:中小规模集成电路,4位或8位微处理器。

③第3阶段,1974-1977:8位中高档微处理器。

④第4阶段,1978-1984:16位微处理器。

⑤第5阶段,1985-1992,32位微处理器。

⑥第6阶段,1993-2002,32位微处理器,工艺改进,指令集更丰富。

⑦第六阶段,2003-2004,64位单核。

⑧第七阶段,2005-现在,64位多核处理器为主。

7、指令系统

1、一般指令格式

2、常用寻址方式

3、面向用户指令类型

1)指令格式

(1)基本格式       op(操作码θ),A(地址码D)

(2)指令字长

定长指令格式——便于控制

变长指令格式——合理利用存储空间

(3)操作码结构

定长操作码——各指令θ的位置、位数固定相同。

扩展操作码——各指令θ的位置、位数不固定,根据需要变化。(设置扩展标志)

复合型操作码——操作码分为几部分,每部分表示一种操作。

0f494c7ff4fe8348b11d5943f4346d55.png

(4)地址结构

1》指令中提供的地址:存储单元地址码、寄存器编号

2》指令提供地址的方式:

显地址方式——指令中明显指明地址。

隐地址方式——地址隐含约定,不出现在指令中。

3》地址结构的简化:

3ccece582f92a84c615fef1059748399.png

三/二/一地址结构  (1)本身操作数少(2)缩略操作数

零地址结构      用于堆栈(位移)或特殊指令操作

2)常见寻址方式

寻址方式指寻找操作数地址或操作数的方式。

(1)常见寻址方式

1》立即寻址:指令直接给出操作数

定长格式:数在指令中,其长度固定、有限。

变长格式:数在基本指令之后,其长度可变。

用来提供常数、设置初值等。

2》直接寻址:指令直接给出操作数地址

存储单元号(数在M中) M指内存memory,D指主存地址

寄存器号(数在R中)

主存直接寻址(绝对寻址)  S =(D)

定长格式:有效地址D的位数有限, 限制访存范围

变长格式:D的位数可覆盖 整个存储空间

寄存器直接寻址  S =(R)

R所占位数少; 访问R比访问M快

3》间接寻址:指令给出操作数的间接地址

存储单元号(数在M中)

寄存器号(数在M中)

主存间接寻址  S =((D))

寄存器间接寻址  S =((R))

R所占位数少;R可提供全字长地址码; 修改R内容比修改M内容快

堆栈间接寻址  S =((SP)),SP为堆栈指针

396ef7754f26393191b9ce3a1580535a.png

4》变址、基址寻址及其变化

1>变址寻址:指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。

ff1101976d82a36445b89792f0e6e0d9.png

便于访问一位数组

2>基址寻址:指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。

825f590e99142cdf88dee062adeb5128.png

便于访问二维数组中某类 指定的元素。

变址和基址的区别

af1a1ee53be29c582ed7c9732ac7bd8d.png

3>基址+变址:指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址。

6eb962c7218a22ab3516a15b37a127b0.png

4>相对寻址

5>页面寻址

(2)对寻址方式的补充说明

1》操作码隐含说明不同寻址方式

b73772f84718920095219f36ec90f8c1.png

2》指令中设置专门字段说明寻址方式

604554adab1a6878e3dfec6547a1ece3.png

3》指令的功能和类型

按指令功能分类:传送、访存、I/O、算数逻辑运算、程序控制、处理机控制等。

1>数据传输类指令

源地址对应的存储单元——(数据)——>目的地址对应的存储单元

这类指令主要用来实现主存和寄存器之间或寄存器和寄存器之间的数据传送

设计时需要考虑

规定传送范围/方向

指明传送单位:MOVB(8位)、MOVW(16位)、MOVL(32位)

设置寻址方式

2>输入/输出(I/O)指令

主机外设

设计时需要考虑

I/O指令的功能扩展

I/O指令中留有扩展余地:

指令中某些字段编码事先不定义,需要时再约定其含义。

用于外设种类、数量不多的场合。

I/O接口中设置控制/状态寄存器

主机用输出指令或传送指令将具体设备的控制命令按约定的代码格式送往接口中的控制寄存器,向外设发出命令。

外设的状态信息也以某种格式放在接口的状态寄存器中,主机用输入指令或传送指令从状态寄存器中取出有关信息进行查询、分析。

如何设置控制/状态寄存器是接口设计的关键。

主机对外设的寻址方式:寻找I/O接口中的寄存器(I/O端口)的方式

外设单独编址

编址到寄存器:为每个寄存器(I/O端口)分配独 立的端口地址; I/O指令中给出端口地址。

I/O地址空间不占主存空间,可与主存空间重叠。

需设置标志区分访问对象,如

801236be1d95b56e55eb0ba8cd20748f.png

外设统一编址

编址到寄存器:为每个寄存器(I/O端口)分配总线地址;访问外设时,指令中给出 总线地址。

I/O端口占据部分主存空间。

常将存储空间的低端分配给主存单元,高端分配 给I/O端口,以示区分。

I/O指令设置方式

设置专用I/O指令——>显式I/O指令

针对单独编址,用I/O指令访问I/O端口。

指令中说明输入/输出操作,并给出端口地址。

用传送指令实现I/O操作——>隐式I/O指令

针对统一编址,用访存指令访问I/O端口,不设专用的I/O指令。

通过I/O处理机进行I/O操作

3>算术逻辑运算指令

4>程序控制指令:控制程序流程

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值