第二学期:软件工程专业本科生:计算机组成原理(第九讲)ppt课件
计算机组成原理(第九讲)厦门大学软件学院 曾文华 2012年4月28日第4篇 控制单元第4篇 控制单元第第9 9章章 控制单元的功能控制单元的功能第第1010章章 控制单元的设计控制单元的设计第第9 9章章 控制单元的功能控制单元的功能第9章 控制单元的功能9.1 微操作命令的分析9.2 控制单元的功能9.1 微操作命令的分析一、取指周期 二、间指周期三、执行周期四、中断周期完成一条指令分 4 个工作周期:取指周期间址周期执行周期中断周期一、取指周期PC MAR 地址线1 RM ( MAR ) MDRMDR IR( PC ) + 1 PC+1 MDRCUMARPCIR存储器CPU地址总线数据总线控制总线OP(IR) CU见P344二、间址周期 M ( MAR ) MDR1 RAd ( IR ) MARMDR Ad ( IR )指令形式地址 MARMDRCUMARCPU地址总线数据总线控制总线IR存储器见P344三、执行周期1. 非访存指令 在执行周期不访问存储器(1) CLA 清A(2) COM 取反(4) CSL 循环左移(3) SHR 算术右移(5) STP 停机指令0 ACCACC ACCL(ACC) R(ACC), ACC0 ACC0R(ACC) L(ACC), ACC0 ACCn0 G左边->右边右边->左边运行标志触发器符号位不变10条指令2. 访存指令 在执行周期要访问存储器Ad(IR) MAR1 RM(MAR) MDR(ACC) + (MDR) ACC Ad(IR) MAR1 WACC MDRMDR M(MAR)STA X MOV (X), AADD X ADD A, (X)(2) 存数指令(1) 加法指令(3) 取数指令Ad ( IR ) MAR1 RM ( MAR ) MDRMDR ACC 3. 转移指令(1) 无条件转(2) 条件转移Ad ( IR ) PCA0 Ad ( IR ) + A0 ( PC ) PCLDA X MOV A, (X) JMP XBAN X(负则转,A0=1)4. 三类指令的指令周期取指周期执行周期取指周期执行周期取指周期执行周期取指周期间址周期执行周期非访存 指令周期直接访存 指令周期间接访存 指令周期转移 指令周期取指周期间址周期执行周期间接转移 指令周期四、中断周期程序断点存入 “ 0 ” 地址程序断点 进栈0 MAR1 WPC MDRMDR M ( MAR )向量地址 PC0 EINT(置“0”)0 EINT(置“0”)向量地址 PCMDR M ( MAR )PC MDR1 W中断服务程序入口地址 M PC( SP ) 1 MAR中断周期:由中断隐指令自动完成 保护断点、寻找中断服务程序入口 地址、硬件关中断的操作中断服务程序入口地址 M PC保 护 断 点保 护 断 点见P3459.2 控制单元的功能一、控制单元的外特性二、控制信号举例 三、多级时序系统四、控制方式五、多级时序系统实例分析一、控制单元的外特性指令寄存器控制单元CU时钟标志CPU 内部的控制信号到系统总线的控制信号来自系统总线的控制信号系统总线数据总线地址总线控制总线1. 输入信号(1) 时钟(2) 指令寄存器(4) 外来信号(3) 标志CU 受时钟控制控制信号 与操作码有关OP ( IR ) CUCU 受标志控制INTR 中断请求 HRQ 总线请求(DMA请求)一个时钟脉冲 发一个操作命令或一组需同时执行的操作命令如指令的操作码状态寄存器来自系统总线的控制信号2. 输出信号(1) CPU 内的各种控制信号(2) 送至控制总线的信号Ri Rj (PC) + 1 PCINTAHLDA访存控制信号访 IO/ 存储器的控制信号读命令写命令中断响应信号总线响应信号(DMA响应)MREQIO/MRDWRALU 、与、或寄存器之 间的传递二、控制信号举例1. 不采用 CPU 内部总线的方式图9.3二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A R共7步 ADD A, (X)二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A R控制信号C0有效,打开 PC送往MAR的控制门ADD A, (X)二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A RADD A, (X)控制信号C1有效,打开MAR通 往地址总线的输出门二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A RADD A, (X)通过控制总线向主存发读命令二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A RADD A, (X)C2有效,打开数据总线送至MDR的输 入门二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A RADD A, (X)C3有效,打开MDR和IR之间的控制门 ,至此指令送至IR二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A RADD A, (X)C4有效,打开指令操作码送至CU的输 出门二、控制信号举例PCIRACCU时钟ALU控制信号标志控制 信号C0C1C2C3C4取指周期以 ADD X 为例PCIRCU1. 不采用 CPU 内部总线的方式PCPCPCM D R M A R M D R M A RADD A, (X)使PC的内容加1PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C3C5ADD X 间址周期IRM D R M D R M A R共5步 ADD A, (X)PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C3C5ADD X 间址周期IRM D R M D R M A RADD A, (X)C5有效,打开MDR和MAR之间的控制门 ,将指令的形式地址送至MARPCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C3C5ADD X 间址周期IRM D R M D R M A RADD A, (X)C1有效,打开MAR送往地址总线的输 出门PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C3C5ADD X 间址周期IRM D R M D R M A RADD A, (X)通过控制总线向主存发读命令PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C3C5ADD X 间址周期IRM D R M D R M A RADD A, (X)C2有效,打开数据总线送至MDR的输 入门,至此有效地址存入MDRPCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C3C5ADD X 间址周期IRM D R M D R M A RADD A, (X)C3有效,打开MDR和IR之间的控制门 ,将有效地址送至IR的地址码字段PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C5ADD X 执行周期C7C6C8ACALU控制 信号M D R M A R M D R共7步 ADD A, (X)PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C5ADD X 执行周期C7C6C8ACALU控制 信号M D R M A R M D RADD A, (X)C5有效,打开MDR和MAR之间的控制门 ,将有效地址送至MARPCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C5ADD X 执行周期C7C6C8ACALU控制 信号M D R M A R M D RADD A, (X)C1有效,打开MAR送往地址总线的输 出门PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C5ADD X 执行周期C7C6C8ACALU控制 信号M D R M A R M D RADD A, (X)通过控制总线向主存发读命令PCIRACCU时钟ALU控制信号标志控制 信号M D R M A R二、控制信号举例1. 不采用 CPU 内部总线的方式C1C2C5ADD X 执行周期C7C6C8ACALU控制 信号M D R