资源描述:
《组成原理 DJ12 CPU模型ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.4CPU模型主要内容:设计CPU的步骤通过一台模型机的设计,深入了解和掌握CPU如何执行指令、如何产生微操作命令。3.4.1CPU设计的步骤1、拟定指令系统指令系统是CPU设计的基础。包括拟定:指令类型、指令功能、指令格式、寻址方式等2、确定总体结构主要包括:设置那些寄存器,设置多少寄存器;采用什么运算部件;以确定提供什么控制信号确定信息传送的数据通路或者采用什么样的数据通路3、安排CPU的工作时序规定所有的操作完成的时间和时机。比如:总线周期的长度、包含多少个节拍;每条指令需要多少个总线周期、每个总线周期每个节拍包含多少工作脉冲。规定CPU的哪一步骤的工作在
2、哪个工作周期完成等。4、规定指令流程和微命令序列第一步:将指令每一步的操作(信息在寄存器之间的传送,也称为寄存器传送级)以流程图的方式描述出来;第二步:结合时序,拟定每一步操作所需要的微操作命令,并以操作时间表的形式将微命令以及微命令产生的条件列出来。第4步是CPU设计过程的关键步骤。5、形成控制逻辑如果采用组合逻辑设计方法:根据第4步的工作,将微命令产生的条件进行综合、简化以后,形成逻辑表达式,用逻辑电路予以实现。如果采用微程序设计方法:根据第4步的工作,将对微命令进行编码,形成微指令,并存入到控制存储器ROM,作为控制的核心。上述步骤第1步(拟定指令系统)和第2步(
3、确定总体结构)与控制方法(组合逻辑设计或微程序设计)无关。3.4.2模型机指令系统1.指令格式指令字长16位,采用寄存器型寻址,指令中给出寄存器号。(主存容量为64K16位)双操作数指令格式:目的地址源地址操作码寄存器号寻址方式寄存器号寻址方式43333原教材:源地址目的地址单操作数指令格式:4633操作码(可扩展)寄存器号寻址方式目的地址转移指令格式:转移地址转移条件151211986543210操作码寄存器号寻址方式方式N′Z′V′C′转移方式:为“1”转移还是为“0”转移;当第0到5位均为“0”,表示无条件转移。CPU可编程访问的寄存器:寻址方式编码助记符定义
4、2.寻址方式寄存器寻址通用寄存器R、指令计数器PC、堆栈指针SP、程序状态字PSW000R(R)为操作数寄存器间址001(R)(R)为操作数地址自减型寄存器间址010–(R)–(SP)(R)–1为操作数地址(SP)–1为栈顶地址寻址方式编码助记符定义(PC)+(R)为操作数地址,立即/自增型寄存器间址011(R)+访问后(R)+1(SP)+(SP)为栈顶地址,出栈后(SP)+1(PC)为立即数地址,取数后(PC)+1100(R)为间接地址,直接/自增型双间址@(R)+PC指向有效地址,访问后(R)+1@(PC)+访问后(PC)+1如果指定寄存器为PC直接/自增型双间址寻址过
5、程示意:操作码X寄存器号i寻址字段RiAddr1RiAddr1Addr2Addr2Data操作数....且(Ri)+1Ri对字节操作或(Ri)+2Ri对字操作存储器101(R)+d为有效地址变址X(R)X(PC)(PC)+d为有效地址跳步110SKP跳过下条指令执行寻址方式编码助记符定义注:移位量d存放在现行指令单元的下一个单元,因此需要根据PC值来读取该移位量。现行指令码dPCPC+1变址寻址流程的依据操作码助记符含义3.指令类型数据传送类指令0000MOV传送0001ADD加法0101EOR异或双操作数指令0110COM求反1011SR右移单操作数指令1100JMP
6、转移1100RST返回1101JSR转子程序控制类指令完成数据传送、堆栈、I/O操作等说明:包括:RRRMMMRI/O采用统一编址方式,不需要专用I/O指令①数据传送类指令②转移指令指令指明转移条件和转移地址如下图所示:00000无条件转00001无进位转(C=0)00010无溢出转(V=0)00100数非零转(Z=0)01000数为正转(N=0)10001有进位转(C=1)10010有溢出转(V=1)10100数为零转(Z=1)11000数为负转(N=1)转移地址543210JMPR号寻方式NZVC寄存器号寻址方式转移指令的低4位中,某一位位1,表示对它所对应的标
7、志位进行判断。为1,表示对N标志进行判断条件满足,转转移地址;条件不满足,顺序执行。隐含约定:转子时返回地址压堆栈保存。1512118987650RSTSP(SP)+子程序入口③转子指令④返回指令采用自增型寄存器间接寻址—(SP)+指明间址寄存器指明自增型寄存器间址JSR寄存器号寻址方式方式NZVC5432103.4.3模型机的组成与数据通路ABR0~R3R0~R3CDCDSPPCPSWMDR选择器A移位器选择器BR3R0R1MI/OCB内总线CR3DMARMDRIRPCSPPSWDB控制逻辑ALUC0接口