19 cpu03

52
CPU 林楠 办公室: 408 办公电话: 0371-63887293 电子邮件: [email protected] 《 计算机组成原理 线 存储器 运算器 控制器 接口与通信 输入 / 输出设备 Cache 第八章 CPU 的结构与功能( (含 第八章 + 第四篇)

Transcript of 19 cpu03

CPU

林楠

办公室: 408

办公电话: 0371-63887293

电子邮件: [email protected]

《 计算机组成原理 》

系统总线

存储器

运算器

控制器

接口与通信

输入 / 输出设备

Cache

第八章 CPU 的结构与功能(最难)

(含 第八章 + 第四篇)

8.1 CPU 的基本功能与组成( 8.1 )8.2 时序系统和控制方式( 8.2 8.3 9 )8.3 组合逻辑设计( 10 )8.4 微程序设计( 10 )

第八章 CPU 的结构与功能

时序系统是控制器的心脏,其功能是为指令的执行提供各种定时信号。(一条指令分不同执行阶段即周期 - 节拍 - 脉冲)

组合逻辑控制器的设计步骤(前三步骤)

步骤一 拟定指令系统(逻辑依据,讲过了)步骤二 确定总体结构(空间安排,刚讲过)步骤三 拟定时序系统(时间安排,该讲了……)

8.2 、时序系统和控制方式

8.2.1 指令周期 1 )指令周期的基本概念 2 )指令周期的分析举例 3 )指令周期的数据流8.2.2 指令流水8.2.3 多级时序系统8.2.4 时序控制方式

3 、存数指令 STA 的指令周期:三个 CPU 周期。 指令功能:向内存单元,写入一操作数。

Review :指令周期的数据流

第一个 CPU 周期:取指令,译指令码

2←22+1

1

3

45

STA 40

000 22

6

7

第二个 CPU 周期:送操作数地址

000 40

000 40

000 006

第三个 CPU 周期:送操作数,执行写操作累加寄存器的内容,先送入数据缓冲寄存器,再写入到所选定的存储单元 (40) 中。

1 、取指周期数据流

Review :指令周期的数据流

MDR

CU

MARPC

IR

存储器

CPU

地址总线

数据总线

控制总线

IR

+1

2 、间址周期数据流

MDR

CU

MAR

CPU

地址总线

数据总线

控制总线

PC

IR

存储器

MDR

Review :指令周期的数据流

3 、执行周期数据流(不同的指令的数据流不同)4 、中断周期数据流

MDR

CU

MAR

CPU

地址总线

数据总线

控制总线

PC存储器

Review :指令周期的数据流

8.2 、时序系统和控制方式

8.2.1 指令周期 1 )指令周期的基本概念 2 )指令周期的分析举例 3 )指令周期的数据流8.2.2 指令流水8.2.3 多级时序系统(周期、节拍、脉冲)8.2.4 时序控制方式

流水过程中通常会出现以下三种相关冲突,使流水线断流。

1 )结构相关

是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能 部件所发生的冲突。 例如:假定一条指令流水线由五段组成。在时钟 4 时, I1与 I4 两条指 令同时访问内存发生资源相关冲突。 解决办法: 1 )第 I4 条指令停顿一拍后再启动; 2 )设两个存储器,一个存指令,一个存数据。

IF 取指ID 译码EX 执行MEM 存取数WB 写回

8.2.2 指令流水– 流水线中的冲突问题

2 )数据相关 如果程序执行过程中,必须等前一条指令执行完毕后才能执行后一 条指令,那么这两条指令就是数据相关的。  在流水计算机中,指令的处理是重叠进行的,当后继指令所需的操 作数,刚好是前一指令的运算结果时,便发生数据相关冲突。 例如: ADD 指令与 SUB 指令发生了数据相关冲突。 解决办法:在流水 CPU 的运算器中设置若干运算结果缓冲寄存器, 暂时保留运算结果,以便于后继指令直接使用。

ADD R1 , R2 , R3 ( R2 ) + ( R3 ) → R1SUB R4 , R1 , R5 ( R1 ) - ( R5 ) → R4AND R6 , R1 , R7 ( R1 )∧( R7 )→ R6

8.2.2 指令流水– 流水线中的冲突问题

IF 取指ID 译码, 读寄存器EX 执行 访存地址MEM 访存WB 写寄存器

3 ) 控制相关  控制相关冲突是由转移指令引起的。 当执行转移指令时,依据转移条件,可能为顺序取下条指令; 也可能转移到新的目标地址取指令,从而使流水线 发生断流。

为了减小转移指令对流水线性能的影响,常用两种转移处理技术: 延迟转移法 由编译程序重排指令序列来实现。 基本思想是“先执行再转移”,即发生转移时并不排空指令 流水线,而是让紧跟在转移指令之后已进入流水线 的少数 几条指令继续完成。

转移预测法 用硬件方法实现,依据指令过去的行为预测将来的行为。 通过使用转移取和顺序取两路指令预取队列器以及目标指 令 Cache ,可将转移预测提前到取指阶段进行。

8.2.2 指令流水– 流水线中的冲突问题

例:流水线中有三类数据相关冲突: 写后读相关;读后写相关;写后写相关。

判断以下三组指令各存在哪种类型的数据相关。

( 1 ) I1:   ADD R1 , R2 , R3 ;  (R2) + (R3) 送( R1 )

   I2:   SUB R4 , R1 , R5 ; (R1) - (R5) 送( R4 )

解:第 (1) 组指令中, I1 指令运算结果应先写入 R1 ,然后在 I2指令中读 出 R1 内容。由于 I2 指令进入流水线,变成 I2 指令在 I1指令写入 R1 前就读出 R1 内容,发生写后读相关。

8.2.2 指令流水– 流水线中的冲突问题

IF 取指ID 译码, 读寄存器EX 执行 访存地址MEM 访存WB 写寄存器

例:流水线中有三类数据相关冲突:

写后读相关;读后写相关;写后写相关。

判断以下三组指令各存在哪种类型的数据相关。

( 2 ) I3:   STA M(x) , R3 ;    (R3) 送 M(x) , M(x) 是存储器单元

  I4:   ADD R3 , R4 , R5 ; (R4)+(R5) 送( R3 )

解: I3 指令应先读出 R3 内容并存入存储单元 M(x) ,然后在 I4 指令中将

运算结果写入 R3 。但由于 I4 指令进入流水线,变成 I4指令在 I3 指令

读出 R3 内容前就写入 R3 ,发生读后写相关。

8.2.2 指令流水– 流水线中的冲突问题

例:流水线中有三类数据相关冲突:

写后读相关;读后写相关;写后写相关。

判断以下三组指令各存在哪种类型的数据相关。

( 3 ) I5:   MUL R3 , R1 , R2 ;  (R1)×(R2)-> ( R3 )

   I6:   ADD R3 , R4 , R5 ;  (R4) + (R5)-> ( R3 )

解:第 (3) 组指令中,如果 I6 指令的加法运算完成时间早于 I5 指令的乘

法运算时间,变成指令 I6 在指令 I5 写入 R3 前就写入R3 ,导致 R3 的

内容错误,发生写后写相关 。

8.2.2 指令流水– 流水线中的冲突问题

1 、指令流水线结构

完成一条指令分 7 段, 每段需一个时钟周期

若流水线不出现断流 1 个时钟周期出 1 结果

不采用流水技术 7 个时钟周期出 1 结果

理想情况下, 7 级流水 的速度是不采用流水技术的 7 倍

地址形成部件

指令译码部件

取操作数部件

取指令部件

操作执行部件

回写结果部件

修改指令指针部件

锁存

锁存

锁存

锁存

锁存

锁存

8.2.2 指令流水– 流水线的结构

2 、运算流水线

完成 浮点加减 运算,可分 对阶、尾数求和、规格化 三段。

分段原则,每段 操作时间 尽量 一致。

锁存器

对阶功能部件

第一段

尾数加部件

锁存器

第二段

规格化部件

锁存器

第三段

8.38.38.2.2 指令流水– 流水线的结构

8.2 、时序系统和控制方式

8.2.1 指令周期 1 )指令周期的基本概念 2 )指令周期的分析举例 3 )指令周期的数据流8.2.2 指令流水8.2.3 多级时序系统(周期、节拍、脉冲)8.2.4 时序控制方式

[思考 ] 用二进制码表示的指令和数据都放在内存里,那 么CPU 是怎样 识别出它们是数据还是指令呢 ?

从时间上来说,取指令事件发生在指令周期的第一个 CPU 周期中,即发生在“取指令”阶段,而取数据事件发生在指令周期的后面某个 CPU 周期中,即发生在“执行指令”阶段。

从空间上来说,如果取出的代码是指令,那么一定送往指令寄存器,如果取出的代码是数据,那么一定送往运算器。

由此可见,时间控制对计算机来说是太重要了。 总之,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的。

8.2.3 多级时序系统(周期、节拍、脉冲)

时序信号  CPU 中一个类似“作息时间”的东西,使计算机可以准确、迅速、有条不紊地工作。

机器一旦被启动,即 CPU开始取指令并执行指令时,操作控制器就利

用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的

动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,

给计算机 各部分提供工作所需的时间标志。

为此,需要采用多级时序系统。

8.2.3 多级时序系统(周期、节拍、脉冲)

1 )设置指令执行的各个机器周期状态

2 )设置节拍(时钟周期:控制计算机操作的最小单位时间)

一个机器周期分成若干个时间相等的时间段(即:节拍、时钟周期) 不同指令,节拍数可以不同,

一个机器周期内可完成若干个微操作,每个微操作需一定的时间,

用时钟周期控制产生一个或几个微操作命令,

其实,一个时钟周期打开一条数据通路,确保执行指令时在数据传 输的过程中,数据不会丢失。

(例如:寄存器到寄存器,寄存器到存储器,存储器到寄存器)

8.2.3 多级时序系统(周期、节拍、脉冲)

一个指令周期包含若干个机器周期,一个机器周期包含若干个时钟周期每个指令周期内机器周期数可不等,每个机器周期内节拍数也可不等。CLK

机器周期 机器周期 机器周期 (取指令) (取有效地址) (执行指令)

指令周期

T0 T1 T2 T3 T0 T1 T2 T3 T0 T1 T2 T3

机器周期 机器周期(取指令) (执行指令)

指令周期

T0 T1 T2 T3 T0 T1 T2 节拍(状态 )

节拍(状态 )

8.2.3 多级时序系统(周期、节拍、脉冲)

定长的机器周期( 1 个机器周期 4 个节拍)

不定长的机器周期( 1 个机器周期内节拍数不等)

组合逻辑控制器中时序信号往往采用三级体制:周期 = 一个机器周期节拍 = 一个时钟周期(最小时间单位)脉冲 作为触发信号,不是一个时间单位

一个周期包含若干个节拍, 一个节拍又包含一个或若干个脉冲。

此图中:一个节拍中有一个脉冲

8.2.3 多级时序系统(周期、节拍、脉冲)

微程序控制器中时序信号比较简单,一般采用二级体制:

周期 = 一个机器周期 节拍 = 一个时钟周期(最小时间单位)

不设脉冲,用节拍电位的前沿和后沿作为脉冲触发信号。

8.2.3 多级时序系统(周期、节拍、脉冲)

机器速度与机器主频的关系

机器的 主频 f 越快 机器的 速度也越快

在机器周期所含时钟周期数 相同 的前提下,

两机 平均指令执行速度之比 等于 两机主频之比

机器速度 不仅与 主频有关 ,还与指令周期中所含的 机器

周期数,以及机器周期中所含时钟周期(主频的倒数)数有

关。

MIPS1

MIPS2

=f1

f2

8.2.3 多级时序系统(周期、节拍、脉冲)

8.2 、时序系统和控制方式

8.2.1 指令周期 1 )指令周期的基本概念 2 )指令周期的分析举例 3 )指令周期的数据流8.2.2 指令流水8.2.3 多级时序系统(周期、节拍、脉冲)8.2.4 时序控制方式

控制方式 即控制不同微操作序列,时序信号的方法。常用的三种方式有:

同步控制(与主频同步)、异步控制、联合控制。

其实质反映了时序信号的定时方式。

8.2.4 时序控制方式 

控制器如何在时序上对指令的执行过程实施控制?

一条指令的执行,是由许多个微操作组成的,不同的指令对应着不同的微操作序列。

控制器对指令流、数据流的控制,实质是对这些微操作序列的控制。

在时间上如何安排这些微操作?或说用怎样的时序方式来形成这些微操作序列?就是控制器的时序控制问题。

1 )、同步控制方式

固定时序控制方式:各微操作都由 CPU 统一的时序信号控制。

在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变。

由于不同的指令操作时间不一致,同步控制方式以最长的指令执行时间作为统一的时间标准。其他指令和微操作也按这个统一标准执行。

这样,全机各个部件都按统一时序工作,由一个时钟产生一系列微操作控制信号进行控制。这些微操作控制信号都与时钟信号(CPU 的主频)同步。

特点:社会主义大锅饭。设计简单,控制方便,时间容易,但是对许 多简单指令来说会有比较多的空闲时间,造成较大数量的时间 浪费,从而影响了指令的执行速度,效率低。

8.2.4 时序控制方式 

1 )、同步控制方式

( 1 )采用 定长的机器周期(机器周期内节拍数相同)

以 最长 的 微操作序列 和 最繁 的微操作作为 标准

8.2.4 时序控制方式 

CLK

机器周期 机器周期 机器周期(取指令) (取有效地址) (执行指令)

指令周期

T0 T1 T2 T3 T0 T1 T2 T3 T0 T1 T2 T3

机器周期 机器周期 机器周期(取指令) (取有效地址) (执行指令)

指令周期

T0 T1 T2 T3 T0 T1 T2 T3 T0 T1 T2 T3

机器周期 机器周期(取指令) (执行指令)

指令周期

T0 T1 T2 T3 T0 T1 T2 节拍(状态 )

机器周期 机器周期(取指令) (执行指令)

T0 T1 T2 T3 T0 T1 T2 T3 T T

延长

8.2.4 时序控制方式 

1 )、同步控制方式

( 2 )采用 不定长的机器周期(机器周期内节拍数不相同) 一些复杂的指令可以通过增加节拍,延长机器周期来解决。

T0 T1 T2 T3 T0 T1 T2

中央控制节拍

T3 T0 T1

中央控制节拍

机器周期

执行周期

指令周期

取指周期

T0 T1 T2 T3

局部控制节拍宽度与中央控制节拍宽度一致

T*T* T*…

8.2.4 时序控制方式 1 )、同步控制方式

( 3 )采用中央控制和局部控制相结合的方法 中央控制:部分指令安排在统一的、较短的机器周

期内完成, 局部控制:部分复杂指令,在中央控制的执行周期

中插入局部 控制节拍。

局部控制节拍

2 )、异步控制方式

  即可变时序控制方式:各微操作不采用统一的时序信号控制。

每条指令、每个操作需要多少时间就占用多少时间。 每条指令的指令周期可由多少不等的机器周期数组成。

这是一种“应答”方式,各操作之间的衔接是由“结束 – 起始”信号 来实现的,由前一操作已经完成的 “结束” 信号,或由下一操作的 “ 准备好” 信号来作为下一操作的起始信号,在没有受到“结束”或 “ 准备好”信号之前不开始新的操作。

例如:存储器读操作, CPU 向存储器发一个读命令(起始信号),启动存储器内部的时序信号,此时 CPU 处于等待状态,当存储器读操作结束后,向 CPU 发出结束信号,以此作为下一操作的起始信号。

特点:共产主义按需分配。省时,效率高,但控制复杂。

8.2.4 时序控制方式 

现在的微机中的联合控制方式:中央控制:对大多数指令执行时间接近或相等的指令,由 CPU的主 频时钟实现同步控制。局部控制:少数执行时间差别大的指令,由局部控制器发出的节拍 控制,但局部控制器的时钟也要与 CPU的时钟同步。

3 )、联合控制方式

此为同步控制和异步控制相结合的方式。

实际上,现代计算机中几乎没有完全采用同步或完全采用异步的控制方式,大多数是采用联合控制方式。

通常的设计思想是:在功能部件内部采用同步方式或以同步方式为主的控制方式,在功能部件之间采用异步方式。

一般来说: CPU 内部是同步的, CPU 与其他部件之间是异步的。

8.2.4 时序控制方式 

1 、指令系统

指令种类直接影响着控制方式的确定,各类指令所需要的时间差 不多时可采用同步控制,如果时间差异大则采用异步控制,同步 控制与 CPU 时钟同步,故时序系统简单,异步控制要有自己的时 钟,故时序系统复杂。

2 、指令格式和寻址方式

指令格式:单地址(访内两次) 双地址(访内三次)

寻址方式:直接、间接、变址等访内次数不同,执行时间不等。 所以,设计时序系统时,需要考虑这些问题。

8.2.4 时序控制方式 - 影响时序系统的因素 

8.1 CPU 的基本功能与组成( 8.1 )8.2 时序系统和控制方式( 8.2 8.3 9 )8.3 组合逻辑设计( 10 )8.4 微程序设计( 10 )

第八章 CPU 的结构与功能

组合逻辑控制器的设计步骤(前三步骤非常重要)

步骤一 拟定指令系统(逻辑依据)步骤二 确定总体结构(空间安排) 设置哪些部件,确定数据通路步骤三 拟定时序系统(时间安排) 选定时序系统作为协调各部件工作的手段(周期–节拍–脉冲) 即把一条指令的执行过程分为若干个阶段,一个阶段为一个周期 一个阶段一个名字(取指周期, 间址周期,执行周期,中断周期)

步骤四 拟定指令流程图 在节拍电位的配合下,将一条指令的执行步骤按时间顺序用流程图 形式表示出来(它是采用时序计数器设计控制器的关键一步)步骤五 编制微操作时间表 将指令流程中规定的微操作由哪个部件完成,在什么时间完成。步骤六 进行微操作的组合、化简 根据操作时间表,将产生同一微操作的条件用“或”连接组合成原始 表达式,利用逻辑化简,获得最简单的逻辑表达式。步骤七 结合现有的元件,适当变换逻辑表达式,设计逻辑电路图。

8.3 组合逻辑设计

确定一台机器指令全部微操作命令的节拍安排之前,首先要明确

CPU 的控制方式(同步或异步)和内部结构(总线或非总线)。

例如:采用同步控制方式,非总线结构的 CPU ,一个 CPU 周期内 3个节拍。

非总线 CPU

PC IR

AC

CU

时 钟

ALU

C1

C2

C5

C9

C0

C10C3

C7

C4

C6

C12

C11

C8

控制信号

标志

控制信号

M D

R M

A R

8.3 组合逻辑设计 – 微操作的节拍安排

安排微操作时序的原则

原则一 微操作的 先后顺序不得 随意 更改。

原则二 被控对象不同 的微操作,尽量安排在 一个节拍 内

完成。

原则三 占用 时间较短 的微操作,尽量 安排在 一个节拍

内完成,

并允许有先后顺序。

8.3 组合逻辑设计 – 微操作的节拍安排

1 、取指周期 微操作的 节拍安排

PC MAR

M ( MAR ) MDR

MDR IR

( PC ) + 1 PC

原则二

原则二

原则三

2 、间址周期 微操作的 节拍安排

M ( MAR ) MDR

MDR Ad ( IR )

T0

T1

T2

T0

T1

T2

1 R (发读命令)

OP ( IR ) ID (指令操作码移码)

Ad ( IR ) MAR

1 R (发读命令)

8.3 组合逻辑设计 – 微操作的节拍安排

4 、执行周期 微操作的 节拍安排

CLA 累加器清零 T0

T1

T2 0 AC

8.3 组合逻辑设计 – 微操作的节拍安排

ADD X 加法指令 T0

T1

T2

Ad ( IR ) MAR

M ( MAR ) MDR

( AC ) + ( MDR ) AC

1 R

STA X 存数指令 T0

T1

T2

Ad ( IR ) MAR

AC MDR

MDR M ( MAR )

1 W

JMP X 转移指令 T0

T1

T2 Ad ( IR ) PC

5 、中断周期 微操作的 节拍安排

T0

T1

T2

0 MAR (送堆栈指针地址)

PC MDR ( PC 的内容压入堆栈)

MDR M ( MAR )向量地址 PC ( PC更新)

1 W

8.3 组合逻辑设计 – 微操作的节拍安排

T2

T1

T0

FE

取指

JMPLDASTAADDCOMCLA微操作命令信号状态条件

节拍工作周期标记

PC MAR

1 RM(MAR) MDR ( PC ) +1 PC

MDR IR

OP( IR ) ID

1 IND

1 EX

I

I

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

1 1 1 1

1 1 1 1 1 1

1 1 1 1 1 1

间址特征

8.3 组合逻辑设计 – 微操作时间表

T2

T1

T0

IND

间址

JMPLDASTAADDCOMCLA微操作命令信号状态条件

节拍工作周期标记

Ad (IR) MAR

1 RM(MAR) MDR MDR Ad (IR)

1 EXIND

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

8.3 组合逻辑设计 – 微操作时间表

一次间址特征

T2

T1

T0

EX

执行

JMPLDASTAADDCOMCLA微操作命令信号状态条件

节拍工作周期标记

Ad (IR) MAR

1 R

M(MAR) MDR

AC MDR

(AC)+(MDR) AC

MDR M(MAR)

MDR AC

0 AC

1 W

1 1 1

1 1

1

1 1

1

1

1

1

1

8.3 组合逻辑设计 – 微操作时间表

组合逻辑控制器的设计步骤(前三步骤非常重要)

步骤一 拟定指令系统(逻辑依据)步骤二 确定总体结构(空间安排) 设置哪些部件,确定数据通路步骤三 拟定时序系统(时间安排) 选定时序系统作为协调各部件工作的手段(周期–节拍–脉冲) 即把一条指令的执行过程分为若干个阶段,一个阶段为一个周期 一个阶段一个名字(取指周期, 间址周期,执行周期,中断周期)

步骤四 拟定指令流程图 在节拍电位的配合下,将一条指令的执行步骤按时间顺序用流程图 形式表示出来(它是采用时序计数器设计控制器的关键一步)步骤五 编制操作时间表 将指令流程中规定的操作落实到由哪个部件完成,在什么时间完成步骤六 进行微操作的组合、化简 根据操作时间表,将产生同一微操作的条件用“或”连接组合成原始 表达式,利用逻辑化简,获得最简单的逻辑表达式。步骤七 结合现有的元件,适当变换逻辑表达式,设计逻辑电路图。

8.3 组合逻辑设计

= FE · T1 ( CLA + COM + ADD + STA + LDA + JMP )

+ IND ·T1 ( ADD + STA + LDA + JMP )

+ EX ·T1 ( ADD + LDA )

例如: M ( MAR ) MDR 微操作的逻辑表达式

带入每个操作的操作码,然后逻辑化简。

例如: 16位的指令码, 前 4位为操作码,

IR15 IR14 IR13 IR12

ADD 0 0 0 0 STA 0 0 1 0LDA 1 0 1 1

8.3 组合逻辑设计 – 微操作最简表达式

= T1 { FE ( CLA + COM + ADD + STA + LDA + JMP )

+ IND ( ADD + STA + LDA + JMP )

+ EX ( ADD + LDA ) }

IR

节拍发生器

CU

T0

T1

Tn

…CLK

(机器主频)

标志

0 1 2n-1…

C0 C1 Cn

操作码译码

n 位操作码

组合逻辑控制器的设计步骤(前三步骤非常重要)

步骤一 拟定指令系统(逻辑依据)步骤二 确定总体结构(空间安排) 设置哪些部件,确定数据通路步骤三 拟定时序系统(时间安排) 选定时序系统作为协调各部件工作的手段(周期–节拍–脉冲) 即把一条指令的执行过程分为若干个阶段,一个阶段为一个周期 一个阶段一个名字(取指周期, 间址周期,执行周期,中断周期)

步骤四 拟定指令流程图 在节拍电位的配合下,将一条指令的执行步骤按时间顺序用流程图 形式表示出来(它是采用时序计数器设计控制器的关键一步)步骤五 编制操作时间表 将指令流程中规定的操作落实到由哪个部件完成,在什么时间完成步骤六 进行微操作的组合、化简 根据操作时间表,将产生同一微操作的条件用“或”连接组合成原始 表达式,利用逻辑化简,获得最简单的逻辑表达式。步骤七 结合现有的元件,适当变换逻辑表达式,设计逻辑电路图。

8.3 组合逻辑设计

组合逻辑控制器的特点 思路清晰,简单明了

庞杂,调试困难,修改困难

速度快

&

&

& 1

1

& &

& &

& ≥1

FE

IND

EXLDA ADD

JMP BAN

STA

T1

M ( MAR) MDR

( RISC )

& &

8.3 组合逻辑设计 – 画出逻辑电路图

考研习题精选

1 、若存储器容量为 64K *32位,指出主机中六个基本寄存器的位数。 并写出组合逻辑控制器完成 STA X ( X 为主存单元地址)指令发出 的微操作及节拍安排。

解:主机中基本寄存器及位数 累加器 32 指令寄存器 32 数据缓冲寄存器 32 通用寄存器 32 地址寄存器 16 PC 程序计数器 16

STA X ( X 为主存单元地址)指令发出的微操作及节拍安排:

PC MAR

M ( MAR ) MDR

MDR IR

( PC ) + 1 PC

T0

T1

T2

1 R (发读命令)

OP ( IR ) ID (指令操作码移码)

T0

T1

T2

Ad ( IR ) MAR

AC MDR

MDR M ( MAR )

1 W

主机中基本寄存器及位数累加器 指令寄存器 数据缓冲寄存器 通用寄存器 地址寄存器 PC 程序计数器

STA X ( X 为主存单元地址)指令发出的微操作及节拍安排:

复习与作业

复习章节:

第 9 章 控制单元的功能第 10 章 控制单元的设计 10.1 组合逻辑设计

作业:

P420 2