第19讲组合逻辑设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T1
T2
Z ( Ad ( IR )) Z ( PC ) PC
4 . 中断周期微操作的节拍安排 CPU响应中断,执行中断隐指令 把PC内容压栈,关中断 T0 T1 SP→MAR,0 →中断允许触发器 PC→ MDR , 1→W
T2
MDR → M(MAR) , 向量地址→ PC
§10.1 组合逻辑设计
T2节拍
MDR → Ad(IR) ,(或 MDR → MAR)
3 . 执行周期微操作的节拍安排 (1)非访存指令 ① 清除累加器指令CLA T0 T1 T2 T0 0→ACC ② 累加器取反指令COM
T1
T2
ACC ACC
执行周期微操作的节拍安排 ③ 算术右移1位指令SHR T0 (1)非访存指令 R(ACC)→ACC,ACC0→ACC0 ④ 循环左移1位指令CSL
A
B 异步控制方式的缺点是:设计比较复杂,器件多,控制方 式比较复杂,系统调试难度大,工作可靠性不易保证。
(3) 联合控制方式 将同步控制方式和异步控制方式结合起来,指令的微操作 序列既有同步控制的,又有异步控制的。
CPU内部的数据加工、数据传送指令的微操作序列的执行 时间比较接近,采用同步控制。其中某些执行时间较长的指令采 用中央控制和局部控制相结合的方式。
① Reset
使计算机处于初始状态。
② 连续或单步转换开关。 ③ 符合停机
§10.1 组合逻辑设计
“组合逻辑控制” 又称硬布线控制(Hardwired Control) 或“硬连逻辑控制”。
组合逻辑控制器的设计方法是:
1.列出全部微操作 2.建立操作时间表 3.求微操作命令的逻辑函数表达式 4.作组合逻辑框图
T1
T2
T0 T1
T2 T0 T1 L(ACC)→ACC,ACC0→ACCn ⑤ 停机指令STP
T2
0→G
执行周期微操作的节拍安排 (2)访存指令 ① 加法指令ADD X T0 T1 T2 Ad(IR) →MAR , 1→R M(MAR) → MDR (ACC)+ (MDR)→ACC ② 存数指令STA X T0 T1 T2 Ad(IR) →MAR , 1→W ACC →MDR MDR → M(MAR)
I/O操作指令,由于I/O设备的工作速度与CPU的速度难以 匹配,时间难以确定,采用异步控制。以执行部件送回的应答信 号作为本次微操作的结束。 CPU与主存储器之间的数据传送操作,需要的时间很长, 采用异步控制。
(4) 人工控制
为了调试系统和软件开发的需要,计算机的控制台、面板或 内部电路板上需设置一些开关、按钮,以进行人工控制。如
组合逻辑控制器的设计方法 3.求微操作命令的逻辑函数表达式 根据微操作时间表,对各条指令中的同一种操作(公操作) 进行集中、合并、化简,求出每一个操作的组合逻辑函数表达 式。
4.作组合逻辑框图
根据求出的组合逻辑函数表达式,画出产生微操作命令序 列的组合逻辑框图。
§10.2 微程序设计 Microprogramming
但是,当时还制造不了存放微程序的(廉价、高速、大容量 的)控制存储器。直到1964年才在IBM360系列机上成功地采用 了微程序设计技术,解决了指令系统的兼容问题。 微程序控制的基本思想是把机器指令的每一操作控制步编成 一条微指令。每条机器指令对应一段微程序。 执行机器指令时,从控制存储器中顺序取出这些微指令,就 可按所要求的次序产生相应的操作控制信号。 微程序 Microprogram 由微指令组成的程序,是微指令的有序集合。 微程序控制器Microprogrammed Control Unit的核心部件是控 制存储器。 从二十世纪六十年代中期到八十年代末,大多数计算机都 采用微程序控制技术。
执行周期微操作的节拍安排 (2)访存指令 ③ 取数指令LDA X T0 T1 Ad(IR) →MAR , 1→R M(MAR) → MDR
T2
MDR→ACC
3 . 执行周期微操作的节拍安排 (3)转移类指令 ① 无条件转移指令JMP X T0 T1 T2 T0 Ad (IR)→PC ② 零转移指令JZ X
2.局部控制
局部控制采用不同节拍的机器周期,以解决微操作执行时 间不统一的问题。给操作较繁的微操作安排节拍数多的机器周 期,较简单的微操作安排在较短的机器周期内。 每条指令都有独立的处理方式或时序分配方式。指令周期 取决于所需的微操作序列长度。
优点是处理效率高。但控制器逻辑复杂。
3.中央控制和局部控制相结合 大多数指令的执行过程中包含的微操作个数及指令的执行 时间比较接近或相等,可以将这样的指令作为标准建立统一的 时序节拍,称为中央节拍,由中央控制器发出。 少数指令执行过程中包含的微操作个数较多,指令的执行 时间比较长,需要增加节拍。就在中央节拍中间插入局部节拍, 来完成相应的操作。
§10.1.2 微操作的节拍安排
指令寄存器 Reset OP 地址码 程序计数器PC +1 指令译码器 ID ALU
通用寄存器组
运算器
Reset
启停线路
ห้องสมุดไป่ตู้
CLK 脉冲 源 时序 信号 产生 部件 微操作控 制信号形 成部件 地址寄存器 MAR
状态寄存器
数据寄存器 MDR
DB AB CB
§10.1.2 微操作的节拍安排 假设机器采用同步控制,每个机器周期包含3个节拍。 安排微操作节拍时需注意:微操作的先后顺序,能在1个节 拍内执行的微操作应尽可能安排在同一个节拍内。 1.取指周期微操作的节拍安排 T0节拍可安排两个微操作。 PC→MAR , 1→R T1节拍可安排两个微操作。 M(MAR) → MDR,(PC)+1 → PC T2节拍 MDR → IR , 指令一取到IR就开始进行译码 2.间指周期微操作的节拍安排 T0节拍 T1节拍 Ad(IR) →MAR , 1→R M(MAR) → MDR
微程序 :由微指令组成的程序,是微指令的有序集合。 微指令 Microinstruction
是同时发出的控制信号所执行的一组微操作。
Microprograms consist of series of microinstructions. These microinstructions control the CPU at a very fundamental level of hardware circuitry. For example, a single typical microinstruction might specify the following operations: Connect Register 1 to the "A" side of the ALU Connect Register 7 to the "B" side of the ALU Set the ALU to perform two's-complement addition Store the result value in Register 8 Update the "condition codes" with the ALU status flags ("Negative", "Zero", "Overflow", and "Carry")
(1) 同步控制方式 Synchronous Control Mode 同步控制方式是由基准时标控制微操作序列,每个微操作出 现的时间与统一的基准时标保持一致。 在程序运行时,任何指令的执行或指令中每个微操作的执行 都受事先确定的时序信号所控制。每个时序信号的结束就标志着 一个微操作或一条指令已经完成。随即开始执行后续的微操作, 或自动转向下一条指令的运行。 在同步控制方式下,一条机器指令由确定的机器周期组成, 每个机器周期又分成若干个节拍。在频率固定的脉冲作用下形成 这些节拍和周期。在任何情况下,一条指令的执行所需的机器周 期和节拍数都是不变的。 同步控制方式有三种方案:中央控制,局部控制,中央控制 和局部控制相结合。
§10.1.3 组合逻辑控制器的设计方法 组合逻辑控制器的设计方法是: 1.列出全部微操作 分析并列出各条指令在取指、分析、执行中所需的全部微 操作。(根据给定的CPU数据通路和指令功能) 2.建立操作时间表 根据各条指令所需的全部微操作,按执行的先后顺序,再 加上必要的控制条件,列出全部指令所需的微操作的操作时间 表。 确定机器的状态周期、节拍与工作脉冲。
间指周期微操作的节拍安排节拍adirmar节拍mmar节拍mdrmar1非访存指令清除累加器指令cla0acc累加器取反指令comaccacc1非访存指令算术右移1位指令shr2访存指令加法指令addadirmaraccmdraccadirmaraccmdrmmar2访存指令取数指令ldaadirmarmdracc3转移类指令adirpcpcpciradcpu响应中断执行中断隐指令把pc内容压栈关中断spmar0中断允许触发器pcmdrmmar向量地址pc1013组合逻辑控制器的设计方法组合逻辑控制器的设计方法是
1.中央控制 中央控制采用完全统一的机器周期执行各种不同的指令。 指令的功能不同,所需的微操作也不同。 以最繁的需时最多的指令为标准来确定机器周期的节拍数 和时间间隔。对于那些比较简单的微操作将造成时间浪费。 优点是控制器的逻辑相对简单,时间便于控制。但要求所有 的指令都以相同方式进行处理,效率和性能上存在不足。 如果要提高效率,就必须让所有指令的处理时间都相同或相 近,因而限制了采用某些功能复杂、处理时间长的指令。 反之,若采用了功能复杂、处理时间长的指令,控制器处理 指令的时序要加长,那些功能简单的指令就存在时间浪费、处理 效率不高等问题。
例如,
3.中央控制和局部控制相结合 少数指令执行过程中包含的微操作个数较多,指令的执行时 间比较长,需要增加节拍。就在中央节拍中间插入局部节拍,来 完成相应的操作。例如, 执行乘除法指令时,由一组中央节拍完成取指令操作。然 后,暂停中央节拍,启动局部节拍,完成N次加法和移位操作。 再结束局部节拍,转回中央节拍,继续执行指令的操作。 局部节拍
计算机组成原理
Principles of Computer Organization
广义双语教学课程 青岛理工大学 校级精品课程
http://211.64.192.109/skyclass25/
/ec/C84/
第9章 控制单元的功能
Chapter 9 The Functions of Control unit
J1 J2 J3 J4
M1 M2 M3 M4 M1 M2 M3 M4
插入
中央节拍
Jn-1 Jn
局部节拍的宽度与中央节拍的宽度相等。
(2) 异步控制方式 Asynchronous Control Mode 不用统一的基准时标信号,而由专用的应答线路控制微操 作的时序。前一个微操作的“终了”信号可命令后一个微操作 启动。微操作序列没有固定的周期节拍和严格的时钟同步。 系统各个部件之间没有统一的时钟,每条指令、每个微操 作需要多少时间就占用多少时间。微操作信号的宽度是由对应 微操作的需要来确定,几乎没有时间的浪费。 当控制器发出进行某一微操作控制信号后,等待执行部件在 完成该微操作后发回的“回答”信号,作为本次微操作的结束信 号,再开始新的操作。
第10章 控制单元的设计
Chapter 10 The Design of Control unit When there are only a few addressing modes, the particular addressing mode required is usually encoded within the instruction code (e.g. IBM System/390, most RISC). But when there are lots of addressing modes, a specific field is often set aside in the instruction to specify the addressing mode.
微程序控制Microprogrammed Control的概念 和原理最早是由英国剑桥大学的Maurice. V. Wilkes教授于1951年提出来的。 他指出,“一条机器指令可以分解为许多基本的微命令序 列”。并且首先把这种思想用于计算机控制器的设计。 In 1964 IBM introduced its System/360 computer architecture which was used in a series of computers that could run the same programs with different speed and performance. This was significant at a time when most electronic computers were incompatible with one another, even those made by the same manufacturer. To facilitate this improvement, IBM utilized the concept of a microprogram , which still sees widespread usage in modern CPUs.
§9.2.4 控制方式 Control Mode 控制器控制一条指令运行的过程是依次执行一系列微操作 的过程。微操作严格按照一定的时序进行。不同指令对应的微 操作数及其繁简程度不同,每条指令和每个微操作所需的执行 时间也不同。
控制器的控制方式是指形成控制不同微操作序列的时序控 制信号的方法。常用的时序控制方式有:同步控制方式、异步 控制方式和联合控制方式。