1 / 50

第四节 模型机设计

第四节 模型机设计. 格式、寻址方式、指令类型设置. 设计步骤:. 拟定指令系统 确定总体结构 安排时序 拟定指令流程和微命令序列。 形成控制逻辑. 寄存器、 ALU 、数据通路设置. 画流程图 ( 寄存器传送级 ). 列操作时间表. 组:列逻辑式,形成逻辑电路. 4.4.1 指令系统. 微:按微指令格式编写微程序. 1. 指令格式. 指令字长 16 位,采用寄存器型寻址,指令中给出寄存器号。. (主存容量为 64K×16 位). 双操作数指令格式:. 操作码 寄存器号 寻址方式 寄存器号 寻址方式.

kasen
Download Presentation

第四节 模型机设计

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. 第四节 模型机设计 格式、寻址方式、指令类型设置 设计步骤: 拟定指令系统 确定总体结构 安排时序 拟定指令流程和微命令序列。 形成控制逻辑 寄存器、ALU、数据通路设置 画流程图(寄存器传送级) 列操作时间表 组:列逻辑式,形成逻辑电路 4.4.1 指令系统 微:按微指令格式编写微程序 1.指令格式 指令字长16位,采用寄存器型寻址,指令中给出寄存器号。 (主存容量为64K×16位)

  2. 双操作数指令格式: 操作码寄存器号寻址方式寄存器号寻址方式 操作码 (可扩展) 寄存器号 寻址方式 操作码 寄存器号 寻址方式 方式N′Z′V′C′ 4 3 3 3 3 目的地址 源地址 单操作数指令格式: 4 6 3 3 目的地址 转移指令格式: 15 12 11 9 8 6 5 4 3 2 1 0 转移地址 转移条件

  3. 2.寻址方式 CPU可编程访问的寄存器: 通用寄存器R、指令计数器PC、堆栈指针SP、程序状态字PSW 寻址方式 编码 助记符 定义 寄存器寻址 000 R (R)为操作数 寄存器间址 001 (R) (R)为操作数地址 自减型寄存器间址 010 -(R) (R)-1为操作数地址 -(SP) (SP)-1为栈顶地址

  4. 寻址方式 编码 助记符 定义 (R)为操作数地址, 立即/自增型寄存器间址 011 (R)+ 访问后(R)+1 (SP)+ (SP)为栈顶地址, 出栈后(SP)+1 (PC)+ (PC)为立即数地址, 取数后(PC)+1 变址 101 X(R) (R)+d为有效地址 X(PC) (PC)+d为有效地址 跳步 110 SKP 跳过下条指令执行

  5. 3.指令类型 操作码 助记符 含义 用于数传、堆栈、I/O操作 0000 MOV 传送 0001 ADD 加 双操作数指令 0101 EOR 异或 0110 COM 求反 单操作数指令 1011 SR 右移 1100 JMP 转移 1100 RST 返回 1101 JSR 转子

  6. 5 4 3 2 1 0 JMP 寄 寻 方式N′Z′V′C′ 0 0 0 0 0 无条件转 转移地址 0 0 0 0 1 无进位转 (C=0) 0 0 0 1 0 无溢出转 (V=0) 0 0 1 0 0 数非零转 (Z=0) 01 0 0 0 数为正转 (N=0) 有进位转 (C=1) 1 0 0 0 1 1 0 0 10 有溢出转 (V=1) 1 0 10 0 数为零转 (Z=1) 110 0 0 数为负转 (N=1) 条件满足,转转移地址;条件不满足,顺序执行。

  7. 15 12 11 9 8 6 5 0 RSTSP(SP)+ JSR 寄 寻 方式N′Z′V′C′ 5 4 3 2 1 0 子程序入口 隐含约定:转子时返回地址压栈保存。 4.4.2 CPU总体结构 1.寄存器设置 (1)可编程寄存器(16位) 通用寄存器: R0(000)、R1(001) R2(010)、R3(011)

  8. 堆栈指针: SP(100) 指令计数器: PC(111) (可扩展) I N Z V C 程序状态字: PSW(101) 4 3 2 1 0 允许中断(开中断) (2)非编程寄存器(16位) 暂存器C :暂存来自主存的源地址或源数据。 暂存器D :暂存来自主存的目的地址或目的数。 指令寄存器IR :存放现行指令。 地址寄存器MAR 实现CPU与主存的接口 数据寄存器MDR

  9. 2.算逻部件设置 (16位) SN74181 4片 SN74182 1片 选择器A 选择器B ALU 选择数据来源 移位器 :实现直送、左移、右移、字节交换 3.数据通路结构 为了使数据传送控制简单、集中,采用以 ALU为中心的总线结构。 (1)组成 包括四个部分: ALU部件、寄存器组、内总线、CPU与系统总 线的连接

  10. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW (2)特点 ALU为内部数据传送通路的中心; 寄存器采用 分立结构; 内总线采用单向数据总线(16位);

  11. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 从内总线输入 (打入) 与系统总线 的连接通过 MAR、MDR实现。 输入 从DB输入 (置入) MDR 输出至DB 输出 输出至ALU的B门

  12. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 4.各类信息传送途径 置入 (1)指令信息 M DB IR (2)地址信息

  13. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 打入 1)指令地址 PC A ALU 内 MAR 移 2)指令地址加1 PC A ALU 内 PC 移 打入 C0

  14. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 3)转移地址 打入 PC R0 B ALU 内 移 寄存器寻址: 打入 MAR 寄存器间址: R0 B ALU 内 移 置入 AB M DB MDR B ALU PC 移、 内

  15. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 4)操作数地址 打入 MAR R0 寄存器间址: B ALU 内 移

  16. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 变址: PC A ALU 内 MAR AB M 移 M DB MDR B ALU C 内 移 A R0 ALU MAR 移 内 C B

  17. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW R: R: M: 2)R 1)R 3)M (3)数据信息 打入 R1 R0 B ALU 内 移 打入 R0 B ALU MDR DB M 内 M DB MDR B ALU R2 移、 内

  18. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW M: 4)M I/O: 5)R 打入 M(源) DB MDR ALU 内 C C ALU MDR DB M 内 (计算目的地址) (目的) R0 ALU MDR DB I/O 内

  19. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 6)I/O R 7)I/O M 打入 I/O DB MDR ALU 内 R0 DMA方式: I/O DB M

  20. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW R0 R0 A、 B、 5.微命令设置 ALU输入选择: ALU功能选择: S3S2S1S0、M、C0 (1)数据通路 操作: 输出移位选择: 不移、左移、 结果分配: CPR0、CPC、CPMAR、

  21. AB 内总线 DB CB 移位器 R0 MAR M I/O ALU R1 MDR R2 IR A B 控制逻辑 R3 PC R0~R3 R0~R3 C D C D SP PC PSW MDR C SP D PSW 1 MAR向AB送地址 地址使能 EMAR 0 MAR与AB断开 读 R (2)访M、I/O 操作: 00 MDR与DB断开, R=1读W=1写 写 W 置入MDR SMDR, 置入IR SIR

  22. 4.4.3 组合逻辑控制器设计 1.时序系统 (1)工作周期 取指周期FT 源周期ST 用于指令正常执行 目的周期DT 执行周期ET 中断周期IT 用于I/O传送控制 DMA周期DMAT 1工作周期开始 设置6个触发器分别 作为各周期状态标志 0工作周期结束 在整个指令周期中,任何时候必须、且只能有一 个工作周期状态标志为“1”。

  23. 1)取指周期FT 从M取出指令并译码; 修改PC。 公操作 取指结束时,按操作码和寻址方式(R/非R寻址) 转相应工作周期。 2)源周期ST 按寻址方式(非R寻址)形成源地址,从M取出源操 作数,暂存于C。 3)目的周期DT 按寻址方式(非R寻址)形成目的地址,或从M取出 目的操作数,暂存于D。 4)执行周期ET 按操作码完成相应操作(传送、运算、取转移地址 送入PC、返回地址压栈保存); 后续指令地址送入MAR。

  24. 5)中断周期IT IT指CPU响应中断请求后,到执行中断服务程序前。 关中断、保存断点和PSW、转服务程序入口。 由硬件完成 6)DMA周期DMAT DMAT指CPU响应DMA请求后,到传送完一次数据。 DMA控制器接管总线权,控制直传。 由硬件完成 (2)时钟周期(节拍)T 1)时钟周期时间: 1微秒 完成一步操作: 一次从M读出,并经数据通路传送的操作;或 一次数据通路传送操作;或 一次向M写入的操作 模型机以访存时间作为一步操作时间。 一个总线 周期等于一个时钟周期,可根据需要扩展。

  25. 2)时钟周期数: 一个工作周期中的时钟数可变。 每个工作周期第一拍T=0, 每开始一个新节拍T计数, 工作周期结束时T清0。 用计数器T控制节拍数 将计数值译码,可产生节拍电位。 (3)工作脉冲P 每个时钟结束时设置一个脉冲。 1µS T P 打入寄存器 进行时序转换 (周期状态设置/清除 时钟T计数/清除)

  26. 2.控制流程(工作周期转换) SR DR DMA请求? 中断请求? FT 单 SR 双 转 ST DR DT ET N N Y Y DMAT IT

  27. 3.指令流程图与操作时间表 Q Q S R FT D C 总清 1 FT 拟定指令流程: 确定各工作周期中每拍完成的具体 操作(寄存器传送级)。 列操作时间表: 列出每一步操作所需的微命令及产 生条件。 (1)取指周期FT 1 1)进入FT的方式 初始化时置入FT, 程序正常运行时同步打入FT。 CPFT

  28. 2)流程图 M IR M IR PC+1 PC PC+1 PC CPT ( P) CPET( P) CPDT( P) CPST( P) CPFT( P) PC A, 1 ST 1 DT 1 ET FT0: 3)操作时间表 FT0: 电位型微命令 脉冲型微命令 EMAR, R, SIR A+1, DM CPPC 或 或 转换 工作周期中,每拍结束时发CPT;工作周期结束时, 5个时序打入命令都发。

  29. (2)传送指令 M IR M IR, M IR, PC+1 PC PC+1 PC PC+1 PC R1 MAR R0 MAR R1 R0 PC MAR PC MAR M MDR C C MDR MDR M 1)流程图 例1: MOV R0,R1; FT0: ET0: ET1: 例2: MOV(R0),(R1); FT0: ST0: 源数 ST1: 目的地址 DT0: ET0: ET1: ET2: 例3: MOV X(R0),X(R1); FT0:

  30. M IR PC+1 PC PC+1 PC PC+1 PC D+R0 MAR C+R1 MAR PC MAR PC MAR PC MAR C MDR M MDR C M MDR D M MDR C MDR M 例3: MOV X(R0),X(R1); FT0: 形地 ST0: ST1: 取源操作数, 暂存于C, 需5步。 ST2: 源数 ST3: ST4: 形地 DT0: 取目的地址, 暂存于MAR, 需4步。 DT1: 目的地址 DT2: DT3: ET0: 源数送存储器, 需3步。 ET1: ET2:

  31. 2)操作时间表 M IR SP+1 SP PC+1 PC SP A SP A PC A CPET(P) CPFT(P) CPFT(P) CPET(P) CPT(P) CPT(P) CPT(P) CPT(P) SP MAR MDR B M MDR C 1 ST 1 DT 例: MOV (R1),(SP)+; FT0: EMAR R SIR A+1 DM CPPC ST0: 输出A DM CPMAR T+1 ST1: EMAR R SMDR 输出B DM CPC T+1 ST2: A+1 DM CPSP

  32. MDR M C MDR R1 A PC A CPET(P) CPFT(P) CPET(P) CPFT(P) CPT(P) CPT(P) CPT(P) CPT(P) R1 MAR PC MAR 1 FT 1 ET C B DT0: 输出A DM CPMAR ET0: 输出B DM CPMDR T+1 ET1: EMAR W T+1 ET2: 输出A DM CPMAR

  33. M IR, PC+1 PC PC MAR PC MAR 例: ADD X(R1),(PC)+ ; M MDR D M MDR C M MDR D MDR M C+D MDR D+R1 MAR PC+1 PC PC+1 PC PC MAR (3)双操作数指令 取目的数,暂存于D。 FT0: 立即数 DT3: ST0: ST1: DT4: 目的数 ST2: ET0: DT0: 形式地址 ET1: DT1: ET2: DT2:

  34. (4)单操作数指令 M IR, PC+1 PC R0-1 R0 PC MAR M MDR D D MDR MDR M 例: COM -(R0); FT0: DT0: 、MAR DT1: ET0: ET1: ET2: (5)转移-返回指令 SKP 执行再下条指令。 R 从R取转移地址。 无条件转移 (R) 按R指示从M取转移地址。 (R)+ 按R指示从M取转移地址,修改R。 (SP)+ 从堆栈取返回地址,修改SP。 (RST) X(PC) 以PC內容为基准转移。

  35. 例1: JMP R0; FT0: M IR, M IR, M IR, PC+1 PC PC+1 PC PC+1 PC PC+C PC SP+1 SP PC MAR SP MAR R0 PC M MDR C M MDR PC ET0: 、MAR 例2: RST (SP)+; FT0: ET0: ET1: ET2: 、MAR 例3: JMP X(PC); FT0: ET0: 位移量 ET1: ET2: 、MAR (5)转子指令 无条件转子: R (R) (R)+ (PC)+ (SP)+ 入口在R中 入口在M中 入口在堆栈中

  36. M IR, PC+1 PC SP-1 SP PC MDR R2 MAR MDR M C PC +MOV(ST2+DT2) X P M MDR C 在ST形成子程序入口;在ET保存返回地址,并转 子程序入口。 例: JSR(R2); FT0: ST0: 子程序入口 ST1: ET0: 、MAR 返回地址压栈 ET1: ET2: ET3: 、MAR 4.控制逻辑 归纳微命令,综合化简条件,用组合逻辑电路实现。 例: 读令R= FT0 +MOV(ST1+ST4+……) +…… CPPC = FT0 P +……

  37. 4.4.4 微程序控制器设计 1.时序系统 二级时序: 微指令周期 P 微指令 打入 µIR 结果打 入目的 地, 读取后续 微指令 控制数 据通路 操作 后续微 地址打 入 µAR

  38. 2.微指令格式 AI BI SM C0 S ZO EMAR R W ST SC PC A Ri A D A C A 按数据通路各段操作划分字段,同类操作中互斥 的微命令放同一字段。 (1)格式 3 3 5 2 2 3 1 1 1 2 4 数据通路操作 访存操作 顺序控制 辅助操作 (2)各字段功能 R0~R3、SP、PC 1)数据通路操作 AI: A输入选择 000无输入 011 001 100 010

  39. MDR B 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC Ri B D B C B BI: B输入选择 000无输入 011 001 100 010 R0~R3、PSW SM: ALU功能选择 S3S2S1S0M C0: 初始进位选择 S: 移位选择 R0~R3、SP、PC、PSW CPRi ZO: 结果分配 001 2)访存操作 EMAR、R、W 3)辅助操作 00 无操作 10关中断 01开中断 11 SIR

  40. 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 4)顺序控制 增量 断定 9种 指明微地址形成方式 SC: 0000顺序执行 增量 0001无条件转移 0010按操作码分支 断定 0111转微子程序 增量 1000返回微主程序 3.微程序的编制 (1)编写顺序

  41. 按指令执行顺序编写: 取机器指令 功能转移 执行 按操作码编码顺序,逐级分类编写: MOV指令、 双操作数指令、 单操作数指令、 转移指令 (2)实现分支 将同类断定依据所对应的微地址放在相应的微地址 形成表中,用SC字段选取。(见教材P161~P163) SC=0000 顺序执行 现行微地址+1 SC=0001 无条件转 现行微指令给出转移微地址 SC=0111 转微子程序 现行微指令给出微子程序 入口 返回微主程序 从寄存器取返回微地址 SC=1000

  42. 按操作码 DR分支(24路)进入执行 MOV DR MOV DR 微地址形成表: 按操作码分支(4路) SC=0010 表内单元地址 (断定依据): 单元内容 (微地址) MOV 03H 取源数、目的地 双 0CH 取源数、目的数 单 24H 取目的数 JMP/JSR 3FH 按J、PC分支 SC=0011 06H 0AH 执行规定操作 后转取指入口 双 单 3DH

  43. M IR: 40H 46H 顺序/转移地址 PC 4DH 5EH 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC SC=0100 按J、PC分支(4路) SC=0101 按源寻址方式分支(7路) SC=0110 按目的寻址方式分支 从60H开始 (3)微指令实例 1)取指微指令代真 微地址00 000 000 00000 00 00 000 1 1 0 11 0000

  44. PC+1 PC: 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 02 00 09 01 4C 4E 03 04 60 05 0A 0B 08 4F 微地址01 100 00010010 01 00 111 0 0 0 00 0000 微地址02 按操作码分支: 000 00000000 00 00 000 0 0 0 00 0010 2)机器指令的微程序实现 例:MOV R1,(R0);按流程写出微地址 00

  45. 本章小结 逻辑组成 1、建立CPU整机概念 工作机制 (1)逻辑组成 寄存器、ALU设置,数据通路结构 (旧5.4.2,新3.4.3 ) 寄存器传送级: 各类指令的流程 指令的执行过程 (2)工作机制 微操作控制级: 微命令序列 拟定流程的关键:清楚了解数据通路结构 (旧5.5.2,新3.5.2 ) 熟练掌握基本寻址方式

  46. 基本寻址方式(模型机): 寄存器寻址 : R 寄存器间址 :(R) 自减型寄存器间址 :–(R) –(SP)(用于入栈操作) 自增型寄存器间址 :(R)+ (SP)+(用于出栈操作) 立即寻址 : (PC)+ 变址: X(R) 相对寻址 : X(PC) (旧5.4.1,新3.4.2 )

  47. 2、有关的基本概念 (1) 微命令的产生方式 组合逻辑控制方式: 基本思想 、优缺点、应用场合 (旧5.5.4,新3.1.3、 3.5.3 ) 微程序控制方式: 基本思想 、优缺点、应用场合 (旧5.6.1、 5.8.1 ,新3.1.3、 3.6.4 )

  48. (2) 时序控制方式 同步控制方式 : 定义、特点、应用场合 异步控制方式: 定义、特点、应用场合 主设备、从设备 (旧5.3.1,新3.1.2 ) (3) 主机与外设的信息传送控制方式 中断方式: 定义 、流程、应用场合 DMA方式: 定义 、流程、应用场合 (旧5.2.2,新3.1.4 )

  49. 第四章复习提纲 1.四种运算方法(原码一位乘、补码一位乘、原码 加减交替除法、补码加减交替除法)的算法、规则。 2.浮点加减运算流程。 3.CPU组成(重在数据通路结构)。 4.指令流程(寄存器传送级),操作时间表(微命令序列)。 5.微指令设计方法(分段原则、各段功能、编码方法)。 6.基本概念:溢出及判断方法,数的补码表示及变补, 对阶,规格化,同步控制与异步控制(含义、应用场合), 组合逻辑控制与微程序控制(基本思想、优缺点、应用场 合),I/O传送控制方式(定义、应用场合),控制字,状态 字,程序状态字,主设备,从设备……等。

  50. 第四章作业(二) 1、分别写出下述指令流程: (1) MOV R2,(SP)+ ; (2)ADD X(PC),R1 ; (3)JMP (R0); 2、列出指令JMP (R0);的取指周期和 执行周期的操作时间表。假定执行周期 结束后将进入新的取指周期。

More Related