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位)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:由主存单元 ——>数据总线 ——>MDRW:由MDR——> 数据总线 ——>主存单元
2.总线与数据通路结构
为了使数据传送控制简单、集中,采用以ALU为中心的总线结构。
(1)组成
包括四个部分:ALU部件、寄存器组、存储器、控制系统;
(2)特点
1.总线
2.各类信息传送途径(重点)
(1)
(2)
(3)
(4)
(5)
(6)
补充:
关于存储器之间的数据传送(M-M)的说明:
问题: 为什么要将从单元中取出的数据暂存到C寄存器, 然后再存入存储单元?
为什么不是下面这个??
答:由于目的单元的寻址可能是存储器间接寻址, 从存储单元中读出的内容作为目标地址, 而该内容读出后需要存入MDR, 再传送到MAR。 因此, 需要将源单元内容存入另外一个寄存器(C暂存器), 待目标地址计算完成并存入MAR后, 再将C中的内容通过MDR存入目标单元
(7)
3.I/O与主存交换问题
外设与存储器之间数据传送可以有两种方式:
① 由CPU程序控制(相当于执行数据传送指令)
② DMA方式
一个小思考题