1 / 104

教师:李建 Tel: 028-83032835 , 13908225598

计算机组成原理. 教师:李建 Tel: 028-83032835 , 13908225598. 第四章 CPU 的工作机理与微程序设计. ★ 主要内容: 模型机总体设计,指令流程与组合逻辑控制器,微程序控制器。 ★ 重点: 指令流程,微程序控制器原理。 ★ 难点: 指令流程,微程序控制器原理。. 第四章 CPU 的工作机理与微程序设计. 格式、寻址方式、指令类型设置. 1.拟定指令系统 2.确定总体结构 3.安排时序 4.拟定指令流程和微命令序列。 5.形成控制逻辑. 寄存器、 ALU 、 数据通路设置.

kacia
Download Presentation

教师:李建 Tel: 028-83032835 , 13908225598

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机组成原理 教师:李建 Tel: 028-83032835 , 13908225598

  2. 第四章 CPU的工作机理与微程序设计 ★ 主要内容: 模型机总体设计,指令流程与组合逻辑控制器,微程序控制器。 ★ 重点: 指令流程,微程序控制器原理。 ★ 难点: 指令流程,微程序控制器原理。

  3. 第四章 CPU的工作机理与微程序设计 格式、寻址方式、指令类型设置 1.拟定指令系统 2.确定总体结构 3.安排时序 4.拟定指令流程和微命令序列。 5.形成控制逻辑 寄存器、ALU、数据通路设置 设计 步骤: 画流程图(寄存器传送级) 列操作时间表 组:列逻辑式,形成逻辑电路 微:按微指令格式编写微程序

  4. 4.1 模型机总体设计 模型机总体设计包括拟定指令系统和确定总体 结构。模型机CPU以8086/8088为背景并进行简化。 一、总体结构 一台机器的总体结构设计包括:各部件的设置 、部件之间采用的数据通道结构、拟出实现各部件 之间进行信息传送需要的微命令。 部件设置: (1)设置CPU、存储器、I/O设备几大部件 (2)设置各大部件的内部的部件。 首先考虑CPU的内部的部件设置,至于存储器、 I/O设备的内部结构将在以后叙述。 第四章 CPU的工作机理与微程序设计

  5. 模型机数据通路 第四章 CPU的工作机理与微程序设计 地址总线AB 数据总线DB 控制总线CB MDR-DBW / B DB-MDR MDR-IB CPC C-IB C MAR - AB CPMAR MDR MAR RD WR W/B M I/O CPMDR 内总线 IB GR IB D IBCPD PC-- IBCPPC AH ALBH BLCH CL DH DLSP BP DI SI D PC SAL SAR ADD SUB B -! PC+ CLPC ALU 控制部件 CPIR IR RDGR WRGR W/B CPZ Z IB Z FR-IB FR 时序 GR地址

  6. 4.1 模型机总体设计 一、总体结构 模型机的CPU内部的部件的设置如下: 1. CPU 内总线结构 CPU 内部采用双向单总线结构: (1)各寄存器、ALU挂接在一组内总线IB上 (2)IB为16位,可以传送16位数据,也可以传送 8位数据 (3)IB传送的信息:指令代码、地址和操作数 第四章 CPU的工作机理与微程序设计

  7. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (1)通用寄存器 数据寄存器:AX、BX、DX、CX (AH、AL、BH、BL、CH、CL、DH、DL) 地址寄存器:BP、SP、SI、DI 控制信号(微命令):GR-->IB,RDGR,WRGR,W/B 例如:IB==>Ri(16位数据):提供GR地址, 产生控制信号WRGR,W/B 例如:Ri==>IB (8位数据):提供GR地址, 产生控制信号RDGR,W/B,GR->IB 第四章 CPU的工作机理与微程序设计

  8. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (2) 暂存器 三个16位的暂存器:C、D、Z。 暂存器C:用于暂存来自存储单元或GR的内容。 例如:Ri==>Rj(传送16位数据): 第一步完成 Ri => C 提供Ri地址, 产生控制信号 RDGR,W/B,GR->IB,CPC 第二步完成 C => Rj 提供Rj地址, 产生控制信号 C->IB,WRGR,W/B 第四章 CPU的工作机理与微程序设计

  9. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (2) 暂存器 三个16位的暂存器:C、D、Z。 暂存器D:用于暂存参与运算的一个 操作数。 暂存器C:用于暂存来自ALU的结果。 第四章 CPU的工作机理与微程序设计

  10. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (3) 指令寄存器IR 1) 模型机的指令代码的长度为可变,为1-6个字节 2) 第1,2字节为操作码和寻址方式字段,其余为 位移量、常数 3) IR的长度为16位,存放指令的前2个字节; 对于单字节指令,存放在IR的高8位中 4) 控制信号:CPIR 第四章 CPU的工作机理与微程序设计

  11. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (4) 程序计数器PC 1) PC的长度为16位,存放指令的地址 2) PC有计数功能 3)模型机的指令代码的长度为可变,执行不同的指令时,PC的增量就不同 4) 控制信号: CPPC,PC+1,PC->IB,CLPC 第四章 CPU的工作机理与微程序设计

  12. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (5)主存地址寄存器MAR和主存数据寄存器MDR MAR:1)作为CPU向系统总线发送地址信息的寄存器 ,为16位,根据该地址可以访问主存储器 或I/O接口的寄存器 2)控制信号:CPMAR,MAR->AB MDR:1) 双向输入输出的16位寄存器,用于存放CPU 与主存储器或I/O接口之间传送的数据 2) 控制信号:CPMDR,MDR->IB,DB->MDR, MDR->DB,W/B 第四章 CPU的工作机理与微程序设计

  13. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (5)主存地址寄存器MAR和主存数据寄存器MDR 主存储器的控制信号:RD,WR,W/B 例如:完成M => MDR操作(读) 控制信号:MAR->AB,RD=0,W/B,DB->MDR 例如:完成MDR => M操作(写) 控制信号:MAR->AB,MDR->DB,WR=0,W/B 第四章 CPU的工作机理与微程序设计

  14. 4.1 模型机总体设计 一、总体结构 2. 寄存器设置 (6)标志寄存器FR 1)16位 2)状态标志:CF,AF,OF,PF,SF,ZF 3)控制标志:TF,DF,IF 第四章 CPU的工作机理与微程序设计

  15. 4.1 模型机总体设计 二、指令系统 1. 指令代码格式 (1)双操作数指令代码格式 第一字节 第二字节 第三、四字节 第五、六字节 OPCODE d W MOD REG R/M Data_low Data_high Disp_low Disp_high 操作特征 寻址特征 立即数 位移量 1)操作特征部分 *OPCODE(操作码字段) *d(方向字段) *W(字/字节字段) 2)寻址特征部分 *REG(寄存器字段)*MOD(寻址方式字段)*R/M(寄存器/存储器字段) 3)立即数部分 4)位移量部分 第四章 CPU的工作机理与微程序设计

  16. 4.1 模型机总体设计 二、指令系统 1. 指令代码格式 (1)双操作数指令代码格式 例如:MOV DA_WORD,1234H 设DA_WORD的地址为0010H指令等价于MOV [0010H],1234H 第一字节 第二字节 第三、四字节 第五、六字节 OPCODE d W MOD REG R/M Data_low Data_high Disp_low Disp_high 1100011 1 00 000 110 34 12 10 00 操作特征 寻址特征 立即数 位移量 例如:ADD AX,BX 见P104 ADD AX, 1234H ADD AX, [1234H] ADD AX, [BX] ADD AX, [BX+SI] ADD AX, [BX+ SI + 1234H] 第四章 CPU的工作机理与微程序设计 C7H 06H 34H MOV [0010H],1234H 12H 10H 00H 字节数?执行时间?

  17. 4.1 模型机总体设计 二、指令系统 1. 指令代码格式 (2)单操作数指令代码格式 第一字节 第二字节 第三、四字节 OPCODE W MOD OPCODE R/M Disp_low Disp_high 操作特征 寻址特征 位移量 例如: INC AL 第一字节 第二字节 OPCODE W MOD OPCODE R/M 1111111 0 11 000 000 操作特征 寻址特征 第四章 CPU的工作机理与微程序设计

  18. 4.1 模型机总体设计 二、指令系统 2. 指令分类 (1)传送指令 MOV DEST,SRC (2)算术/逻辑运算指令 1) 双操作数算术/逻辑运算指令 ADD DEST,SRC SUB DEST,SRC AND DEST,SRC OR DEST,SRC XOR DEST,SRC 第四章 CPU的工作机理与微程序设计

  19. 4.1 模型机总体设计 二、指令系统 2. 指令分类 (2)算术/逻辑运算指令 2) 单操作数算术/逻辑运算指令 INC DEST DEC DEST NEG DEST NOT DEST 第四章 CPU的工作机理与微程序设计

  20. 4.1 模型机总体设计 二、指令系统 2. 指令分类 3)移位指令 SAL DEST,1 SAR DEST,1 SHL DEST,1 SHR DEST,1 ROL DEST,1 ROR DEST,1 第四章 CPU的工作机理与微程序设计

  21. 4.1 模型机总体设计 二、指令系统 2. 指令分类 (4)转移指令 JMP DEST JXX DEST (5)子程序调用和返回指令 CALL DEST RET (6)堆栈压入和弹出指令 PUSH SRC POP DEST 第四章 CPU的工作机理与微程序设计

  22. 4.2 指令流程与组合逻辑控制器 组合逻辑控制器设计步骤: 1. 设计时序系统 2. 拟定指令流程图与微操作时间表 3. 微命令的逻辑综合与微操作的实现 一、时序系统 组合逻辑控制采用三级时序:工作周期、时钟周期和工作脉冲 1. 工作周期 (1)取指周期FC (2)源周期SC (3)目的周期DC (4)执行周期EC (5)中断响应周期IC (6)DMA传送周期DMAC 第四章 CPU的工作机理与微程序设计

  23. 4.2 指令流程与组合逻辑控制器 一、时序系统 1. 工作周期(CPU的控制流程) 第四章 CPU的工作机理与微程序设计 FC SC DC EC DMA请求 DMAC N N 中断请求 IC Y Y

  24. 4.2 指令流程与组合逻辑控制器 一、时序系统 组合逻辑控制采用三级时序:工作周期、 时钟周期和工作脉冲 1. 工作周期 2. 节拍(时钟周期T) 3. 工作脉冲P 第四章 CPU的工作机理与微程序设计 T P

  25. 4.2 指令流程与组合逻辑控制器 二、指令流程与微操作时间表 1. 取指周期FC (1) 进入FC的条件 第四章 CPU的工作机理与微程序设计 Q FC D C S 复位信号 R 1->FC CPFC 1->FC=EC(1->IC.1->DMAC)+IC+DMAC(1->DMAC.1->IC)

  26. 4.2 指令流程与组合逻辑控制器 二、指令流程与微操作时间表 1. 取指周期FC (2)取指流程 第四章 CPU的工作机理与微程序设计 FT0 PC->IB T+1 P CPMAR CPT(P) FT1 MAR->AB,RD,W/B,DB->MDR MDR->IB PC+1 1->SC P CPIR 1->DC CPPC 1->EC CPT(P) CPFC(P) CPSC(P) CPDC(P) CPEC(P) PC=>MAR FT0 FT1 M=>MDR=>IR PC+1=>PC 模型机取指流程 取指周期微操作时间表

  27. 4.2 指令流程与组合逻辑控制器 二、指令流程与微操作时间表 2. MOV 指令 (1)FC (2)SC (3)DC (4)EC 格式:MOV DST,SRC 功能:(SRC)=》DST 寻址方式:R ,Imm ,[RBI] ,di ,di[RBI] , di[RB][RI] (1) MOV AX,BX (2) MOV AX,1234H (3) MOV AX,[BX] (4) MOV AX,[1234H] (5) MOV AX,[BX+1234H] (6) MOV AX,[BX+SI+1234H] 第四章 CPU的工作机理与微程序设计

  28. 第四章 CPU的工作机理与微程序设计 SC PC+1=>PC FC DC PC=>MAR BX=>C FT0 FT1 w M=>MDR=>IR PC+1=>PC EC C=>AX 内存 n MOV AX,BX n+1 n+2

  29. 第四章 CPU的工作机理与微程序设计 SC PC+1=>PC FC DC PC=>MAR PC=>MAR FT0 FT1 w w M=>MDR=>IR PC+1=>PC M=>MDR=>C PC+1=>PC PC+1=>PC EC C=>AX 内存 n n+1 34H MOV AX,1234H n+2 12H n+3 n+4

  30. 第四章 CPU的工作机理与微程序设计 SC PC+1=>PC FC DC PC=>MAR BX=>MAR FT0 FT1 w w M=>MDR=>IR PC+1=>PC M=>MDR=>C EC C=>AX 内存 n MOV AX,[BX] n+1 n+2

  31. 第四章 CPU的工作机理与微程序设计 SC PC+1=>PC FC DC PC=>MAR PC=>MAR FT0 FT1 w w M=>MDR=>IR PC+1=>PC M=>MDR=>MAR PC+1=>PC w M=>MAR=>C PC+1=>PC EC C=>AX 内存 n n+1 MOV AX,[1234H] n+2 34H n+3 12H n+4

  32. 第四章 CPU的工作机理与微程序设计 SC PC+1=>PC FC DC PC=>MAR PC=>MAR FT0 FT1 w w M=>MDR=>IR PC+1=>PC M=>MDR=>D PC+1=>PC BX + D => Z PC+1=>PC EC C=>AX Z=>MAR M=>MAR=>C 内存 n n+1 MOV AX,[BX+1234H] 34H n+2 12H n+3 n+4

  33. 第四章 CPU的工作机理与微程序设计 SC PC+1=>PC FC DC PC=>MAR PC=>MAR FT0 FT1 w w M=>MDR=>IR PC+1=>PC M=>MDR=>D PC+1=>PC BX + D => Z PC+1=>PC EC C=>AX Z => D 内存 SI+D => Z n n+1 MOV AX , [BX+SI+1234H] Z=>MAR n+2 34H 12H n+3 n+4 M=>MAR=>C

  34. 第四章 CPU的工作机理与微程序设计 FC SC DC FT0 FT1 PC=>MAR PC+1=>PC BX=>MAR w M=>MDR=>IR PC+1=>PC AX=>C EC C=>MDR MDR=>M 内存 n n+1 MOV [BX],AX n+2 n+3 n+4

  35. 第四章 CPU的工作机理与微程序设计 FC SC DC FT0 FT1 PC=>MAR PC+1=>PC PC=>MAR w w M=>MDR=>IR PC+1=>PC AX=>C M=>MDR=>MAR PC+1=>PC PC+1=>PC EC C=>MDR MDR=>M 内存 n n+1 MOV [1234H],AX n+2 34H n+3 12H n+4

  36. 第四章 CPU的工作机理与微程序设计 FC SC DC FT0 FT1 PC=>MAR PC+1=>PC PC=>MAR w w M=>MDR=>IR PC+1=>PC AX=>C M=>MDR=>D PC+1=>PC BX + D => Z PC+1=>PC EC C=>MDR Z => MAR MDR=>M 内存 n n+1 MOV [BX+1234H],AX n+2 34H n+3 12H n+4

  37. 第四章 CPU的工作机理与微程序设计 FC SC DC FT0 FT1 PC=>MAR PC+1=>PC PC=>MAR w w M=>MDR=>IR PC+1=>PC AX=>C M=>MDR=>D PC+1=>PC BX + D => Z PC+1=>PC EC C=>MDR Z => D MDR=>M SI+D => Z Z=>MAR 内存 n n+1 MOV [BX+SI+1234H],AX n+2 34H n+3 12H n+4

  38. 4.2 指令流程与组合逻辑控制器 二、指令流程与微操作时间表 3. 双操作数算逻指令 ADD AX,[BX+1234H] 的指令流程 ADD [BX+1234H],AX 的指令流程 ADD [BX+1234H],5678H 的指令流程 4. 单操作数算逻指令 INC [BX+SI+1234H] 的指令流程 第四章 CPU的工作机理与微程序设计

  39. 第四章 CPU的工作机理与微程序设计 SC FC DC PC=>MAR PC+1=>PC AX=>D FT0 FT1 w M=>MDR=>IR PC+1=>PC PC=>MAR w M=>MDR=>D PC+1=>PC EC BX + D => Z PC+1=>PC C+D=>Z Z=>MAR Z=>AX M=>MAR=>C 内存 n n+1 ADD AX , [BX+1234H] 34H n+2 12H n+3 n+4

  40. 第四章 CPU的工作机理与微程序设计 FC SC DC FT0 FT1 PC=>MAR PC+1=>PC PC=>MAR w w M=>MDR=>IR PC+1=>PC AX=>C M=>MDR=>D PC+1=>PC BX + D => Z PC+1=>PC EC C+D=>Z Z => MAR Z=>MDR M=> MDR =>D MDR=>M 内存 n n+1 ADD [BX+1234H],AX n+2 34H n+3 12H n+4

  41. 第四章 CPU的工作机理与微程序设计 FC SC DC FT0 FT1 PC=>MAR PC+1=>PC PC=>MAR w w M=>MDR=>IR PC+1=>PC PC=>MAR M=>MDR=>D PC+1=>PC M=>MDR=>C PC+1=>PC BX + D => Z PC+1=>PC EC C+D=>Z PC+1=>PC Z => MAR Z=>MDR M=> MDR =>D MDR=>M 内存 n n+1 n+2 34H ADD [BX+ 5678H], 1234H n+3 12H n+4 78H n+5 56H

  42. 第四章 CPU的工作机理与微程序设计 FC SC DC FT0 FT1 PC=>MAR PC+1=>PC PC=>MAR w w M=>MDR=>IR PC+1=>PC AX=>C M=>MDR=>D PC+1=>PC BX + D => Z PC+1=>PC EC C+D=>Z Z => D Z => MDR SI+D => Z MDR=>M Z=>MAR 内存 n M=> MDR =>D n+1 ADD [BX+SI+1234H],AX n+2 34H n+3 12H n+4

  43. 第四章 CPU的工作机理与微程序设计 FC DC DC FT0 FT1 PC=>MAR DT0 PC+1=>PC DT1 DT2 PC=>MAR w w M=>MDR=>IR PC+1=>PC M=>MDR=>D PC+1=>PC BX + D => Z PC+1=>PC EC C+D=>Z Z => D Z => MDR SI+D => Z MDR=>M Z=>MAR 内存 n M=> MDR =>D n+1 INC [BX+SI+1234H] n+2 34H n+3 12H n+4

  44. 4.2 指令流程与组合逻辑控制器 二、指令流程与微操作时间表 5. 移位指令 SAL AX 的指令流程 SAL [BX+1234H] 的指令流程 6. 转移指令:JMP.JXX JMP L1 的指令流程 JZ L2 的指令流程 第四章 CPU的工作机理与微程序设计

  45. 4.2 指令流程与组合逻辑控制器 二、指令流程与微操作时间表 7. 子程序调用指令与返回指令:CALL,RET 8. 堆栈压入与弹出指令:PUSH,POP 9. 中断响应周期IC 10. DMA传送周期DMAC 11. 键盘操作 第四章 CPU的工作机理与微程序设计

  46. 4.2 指令流程与组合逻辑控制器 三、徽命令综合 徽命令= 指令操作码译码信号 寻址字段译码信号 时序信号(工作周期.节拍.工作脉冲) 反馈状态(I/O状态.运行状态等) 例如:P122 PC->IB=FC•T0+MOV•(R+[RBI])•SC•T1+ ••• 第四章 CPU的工作机理与微程序设计

  47. 送M 微命令序列 PC +1 I/O状态 控制台信息 微命令 发生器 …... 译码 送M 或ALU 地址形成 运行状态 D OP 寻址 PSW 时序 IR 来自M 四、组合逻辑控制器组成(补充)

  48. 送M 微命令序列 +1 PC I/O状态 控制台信息 微命令 发生器 …... 译码 送M 或ALU 地址形成 运行状态 微命令 发生器 D OP 寻址 PSW 时序 IR 来自M 1.微命令发生器 电位型 脉冲型 功能: 产生全机所需的各种微命令 控制最基本的操作(微操作)的命令 构成微命令发生器:将产生微命令的条件综合化简,形成逻辑式,用组合逻辑电路实现。

  49. 送M 微命令序列 PC +1 I/O状态 控制台信息 微命令 发生器 …... 译码 送M 或ALU PC 地址形成 运行状态 微命令 发生器 D OP 寻址 PSW 时序 IR 来自M 2.指令计数器PC 功能: 指示指令在M中的位置。 PC本身+1 顺序执行 ALU+1 PC先+1,再用转移地址修改PC 转移执行:

  50. 送M 微命令序列 PC +1 I/O状态 控制台信息 微命令 发生器 …... 译码 送M 或ALU 地址形成 运行状态 D OP 寻址 PSW 时序 IR 来自M PC 微命令 发生器 IR 3.指令寄存器IR 决定操作性质 功能: 存放现行指令。 译码器 微命令发生器 操作码字段 寻址 操作数地址 转移地址 地址码字段 地址形成部件 D

More Related