计算机组成原理(六)

3.4模型机CPU设计方法(一)

CPU设计的步骤

1、拟定指令系统

指令系统是CPU设计的基础。拟定指令内容包括:指令类型、指令功能、指令格式、寻址方式等

2、确定总体结构

1.设置哪些以及多少寄存器;

2.采用什么运算部件;以确定提供什么控制信号

3.确定信息传送采用什么样的数据通路

3、安排CPU的工作时序

规定所有操作的完成的时间和时机 比如:总线周期的长度、包含多少个节拍; 每条指令需要多少个总线周期、规定CPU的哪一步工作在哪个工作周期完成等。

4、规定指令流程和微命令序列

第1步: 确定指令流程   将指令每一步操作(信息在寄存器之间的传送, 即寄存器传送级)   以流程图的方式描述出来;

第2步: 拟定操作时间表   结合时序, 拟定每一步操作所需要的微操作命令, 再以操作时间表   的形式,  将微命令以及微命令产生的条件列出来。

5、形成控制逻辑

  如果采用组合逻辑设计方法:   根据第4步的工作, 将微命令产生的条件进行综合、简化后, 形成逻辑表达式,  用逻辑电路予以实现。

   如果采用微程序设计方法:  根据第4步的工作, 将对微命令进行编码, 形成微指令, 并存入到控制存储器ROM, 作为控制的核心。

 设计CPU的步骤(主要针对控制器)

 通过一台模型机的设计, 深入了解和掌握CPU如何执行指令、如何产生微操作命令

一、指令系统的设计

1.模型机的指令格式

指令字长16位,采用寄存器型寻址,指令中给出寄存器号。(主存容量为64K×16位)、

模型机指令格式分类:双操作数指令 、单操作数指令 、转移指令

2.寻址方式

模型机的编制为按字编址,字长16位,采用定字长指令格式,即指令字长16,寻址方式有以下:

CPU可编程访问的寄存器:

R、指令计数器PC、堆栈指针SP、程序状态字PSW

3.操作目标指令集

指令类型的说明:

二、CPU部件组成和数据通路

重点熟记

总体概括

1.部件设置

(1)寄存器
设置的寄存器都是16位,内部结构是16个集成D触发器, 代码输入至D端,CP端同步打入,还可选由R、S端异步置入 。(这种方式速度更快)。
可编程寄存器(16位)
一组可编程访问的寄存器。
在指令系统中为7个R分配了编号,有:R0=000,R1=001, R2=010,R3=011,SP=100,PSW=101,PC=111

 

非编程寄存器(16位)
1.暂存器

用户不能直接访问的R,用来暂存信息,在指令系统中没 有为它们分配编号,有C、D。
暂存器C:从主存中读取源操作数或源操作数地址时使用它。
暂存器D:从主存中读取目的作数或目的操作数地址时,或 中间运算结果时,使用它。

2.用于控制的寄存器:指令寄存器IR、程序计数器PC、 程序状态字寄存器PSW

① 指令寄存器IR(Instruction Register)
用来存放现行运行指令,它的输出是产生微操作命令序列 的主要逻辑依据。
为了提高读取指令的速度,在主存与IR间建立直接传送通 路,并且将IR扩充为指令队列(或指令栈),允许预取若干 条指令。如:8086/8088指令队列:6/4(B)。

② 程序计数器PC(Program Counter)
PC提供后继指令地址,并送往与主存相连接的地址寄存器 (MAR)。 后继指令地址=PC+n,模型机中为了简化起见,令n=1
③ 程序状态字寄存器PSW(Program Status Word) PSW的内容就是表现的现行程序的运行状态。包括: 特征位:进位C、溢出V、零Z、负N,允许中断I等; 编程设定位
3.用作主存接口的寄存器
①地址寄存器MAR:Memory Address Register
读取指令/存取操作数/读取操作数地址时,CPU先将地址
信息送入MAR,再由MAR经地址总线送往主存M,找到相应的
主存单元。\
②数据缓冲寄存器MBR/MDR:Memory Buffer/Data Register
由控制命令R、W决定传送方向。
R:由主存单元 ——>数据总线 ——>MDR
W:由MDR——> 数据总线 ——>主存单元

2.总线与数据通路结构

为了使数据传送控制简单、集中,采用以ALU为中心的总线结构。

(1)组成

包括四个部分:ALU部件、寄存器组、存储器、控制系统;

(2)特点

1.总线
总线:是一组能为多个部件分时共享的公共信息传送线路, 及相应的控制逻辑。
类型分为:CPU内部总线、系统总线、部件间总线、外总线;
2.各类信息传送途径(重点)

(1)

(2)

(3)

(4)

(5)

(6)

补充:

关于存储器之间的数据传送(M-M)的说明:

问题: 为什么要将从单元中取出的数据暂存到C寄存器,  然后再存入存储单元?

为什么不是下面这个??

答:由于目的单元的寻址可能是存储器间接寻址, 从存储单元中读出的内容作为目标地址, 而该内容读出后需要存入MDR, 再传送到MAR。     因此, 需要将源单元内容存入另外一个寄存器(C暂存器), 待目标地址计算完成并存入MAR后, 再将C中的内容通过MDR存入目标单元

(7)

3.I/O与主存交换问题 

外设与存储器之间数据传送可以有两种方式:

① 由CPU程序控制(相当于执行数据传送指令)

② DMA方式

一个小思考题

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大卞老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值