目录

1. 控制器的结构和功能

2.  控制单元的输入和输出

3. CPU 的控制方式

4. 安排微操作时序

5. 电路设计(组合逻辑设计)


 

 

1. 控制器的结构和功能

组原5_控制器硬布线设计

 

 

组原5_控制器硬布线设计

 

 

 

 

 

2.  控制单元的输入和输出

组原5_控制器硬布线设计


操作码部分规定了要产生一些任务,具体怎么产生这些信息,流过控制单元后,就会自动的变成相应的信号。
在写微操作序列的时候,微操作的产生是需要一定顺序的,产生顺序的概念需要一个参考的时钟。
某些微操作的实现需要依据一定的条件的,所以还需要一些标志作为输入。这里的标志主要来自于运算器程序状态字寄存器。
要控制外部一些部件的话,还需要接收外部一些部件传来的状态信息。

 

对于硬布线这种方案来说,待会要完成的是组合逻辑电路内容,而整个控制电路的实现要配合上一些触发器的,两者的组合是一个时序逻辑电路

两种电路主要区别:
运算器是一个组合逻辑电路,它的特点是在于实现一些固定不变的规则(比如 1+1=2 这样规则);
而控制器是一个时序逻辑电路,它的特点在于实现第一步做什么,第二步做什么,这样步骤的控制。

 

 

 

组合逻辑这一块中,体现的主要是电路设计内容;所以不是考察的重点,简单了解即可。下面介绍简单了解的内容:

组原5_控制器硬布线设计


标志:对于这些标志来说,一根线就代表一个标志(1代表标志来了,0代表这个标志没来。)这样的信号对组合逻辑设计很友好,指令的操作码对组合逻辑设计不友好,因为在设计指令的操作码时使用了二进制编码。
 

二进制编码的特点是:1个编码对应1个状态,而并不是1个位对应1个状态。
组合逻辑设计需要先把这些输入转化为1个位对应1个状态。(通过译码器实现)

存储器:1个二进制编码形式地址转化为能够选中1个存储单元的控制信号,就是把1个编码对应1个状态转化为1根线对应1个这状态。

 

 

机器主频(CLK),通过节拍发生器之后会产生一系列按照先后顺序排列的节拍信号,对应关系如下:

组原5_控制器硬布线设计

CLK 经过节拍发生器之后,可以产生多个按照顺序发出的单个凸起的信号,即节拍信号。

可以看出,这一系列信号是由顺序的,T0时间只有T0信号出现,T1时间只有T1信号出现……
那么就可以用这样的一序列信号来控制按照顺序产生的一系列操作。

这些单个信号就对应机器周期中的一个时钟。(和之前时钟定义没有冲突,本身时钟定义一个高一个低代表一个周期;这里只是把一个周期的形状做成了全高的形状) 所以横线上的 T0,T1,T2 还是时钟。

一个机器周期由多个时钟周期构成,按照顺序排列的时钟周期代表了按照顺序排列的一系列步骤; 这个步骤的多少代表这个机器周期内所做任务的复杂程度,复杂的任务需要更多的步骤,那么就需要更多的时钟周期,整个机器周期就会更长。


 

机器周期概念:

组原5_控制器硬布线设计

一般来说,存取数据所花的时间是整个系统中最长的,所以将存取周期所花时间定义为这套机器的机器周期。

 

控制器的设计可以分为4步:

组原5_控制器硬布线设计

 

 

 

 

3. CPU 的控制方式

 

组原5_控制器硬布线设计

定长 ==> 每个机器周期相同,但每个机器周期任务不同,所以以最长的、最繁琐的微操作为标准。
不定长的时钟周期依然保持了每一个时钟周期都来自统一的时钟信号。

 

 

 组原5_控制器硬布线设计

 

 

 

 

4. 安排微操作时序

取指周期

组原5_控制器硬布线设计

对于 PC的更新 来说,只要 PC 已经放到 MAR 之后,就可以更新了。

1 2 是没有前后依赖的,所以可以将它们安排在同一个时钟;
第3句和第6句一方面没有顺序依赖,另一方面这两个数据传输走的路线是不一样的(原则2的被控对象不同)所以也可以安排在一个时间段内进行。
最后两句的安排就有不同了,虽然第5句需要在第4句之后完成,但是这两句话它们占用的时间都比较短,根据第3个原则,都安排在一个时间段。

这里不是考察的重点,只需要注意:没有相关性的这些微操作可以把他们安排在同一个时钟周期完成。

 

 

 

间址周期:

组原5_控制器硬布线设计

 

 

执行周期:
因为不同的指令执行的内容不一样,所以这里列举10条指令,它的时钟周期的安排,具体的安排不重要,主要熟悉一下常见指令

组原5_控制器硬布线设计

上面5条指令都是不涉及访存的,仅仅对 ACC 进行相应的操作,属于 非访存 指令。

 

组原5_控制器硬布线设计

 

 

中断周期:

组原5_控制器硬布线设计

 

 

 

 

5. 电路设计(组合逻辑设计)

组原5_控制器硬布线设计

 

 

取指周期

组原5_控制器硬布线设计

每一行代表一个微操作。
在取指周期,在第3个时间段补充了两个操作。它们的作用是:决定取指周期微操作结束后是要转入间址周期还是执行周期。
表中的每一列表示刚涉及的每一条指令,格子中要填的内容就是这条指令需不需要这个微操作。比如 CLA 在取指周期的时候是需要将 PC 放入 MAR 的,故填1。

整个系统处于什么阶段是根据四个寄存器来判断的 "点我 "
处于某一个阶段的时候,是将那个寄存器内容变成1。
非访存指令肯定用不到间址周期,只要访存指令才可能用到。


微操作:表示这样一个式子(PC ——> IR)表示出来的过程。
微操作命令:指的是产生那些微操作所需要的一些信号。

M(MAR) ——> MDR ;取指阶段,所有的指令都需要这个信号。

 

 

间址周期

组原5_控制器硬布线设计

在间址周期,M(MAR) ——> MDR 又出现了,虽然它操作的内容不一样,但是操作的形式是一样的。硬布线的设计就是把形式一致的操作信号将其编写成组合逻辑形式。

 

 

执行周期

组原5_控制器硬布线设计

ADD 如果使用到间接寻址,那么就存在这个过程。【Ad(IR) ——> MAR】  存数和取数也是有可能使用到间接寻址。

这里工程太过庞大,不太可能考。

 

 

 

下一步根据这几张表,写出微操作的简单表达式。以 (MAR) ——> MDR 为例:

组原5_控制器硬布线设计

 

组原5_控制器硬布线设计

首先由对应阶段的执行标志以及对应所在节拍开头 (比如 FE·T1) ;然后每一个阶段内要把所有的这些不同指令的信号括起来。 取指阶段由于所有指令都需要这条微操作,所以相当于将所有的信号括起来,而对于只有这样10条指令的系统中,肯定有一条指令在运行,所以将所有括起来之后,肯定结果为1。 后一步类似提公因式的操作。

 

 

 

写完逻辑表达式之后,开始画电路。

讲解  50 min 处。

组原5_控制器硬布线设计

对于每一个微操作都进行这样的设计,就得到一个硬布线的控制单元。

 

 

 

组原5_控制器硬布线设计

只需要知道这么一个过程就行,对于其中的概念可以稍微读一下书上的总结。整体的设计过程很耗时间,不要深究,但是第1步肯定要掌握好。

 

再听一下每一块知识需要掌握的程度:很多不用深究,了解即可(结尾总结)

 

相关文章:

  • 2021-11-25
  • 2021-08-07
  • 2021-12-15
  • 2021-06-29
  • 2021-05-21
  • 2022-12-23
  • 2021-11-06
猜你喜欢
  • 2021-05-08
  • 2021-12-28
  • 2021-12-13
  • 2021-08-09
  • 2022-12-23
  • 2021-10-15
  • 2021-08-23
相关资源
相似解决方案