8 计算机组成原理第五章 中央处理器 控制器 硬布线控制器 微程序控制器

文章目录

      • 1 控制器的功能和工作原理
        • 1.1 控制器的结构和功能
        • 1.2 控制单元的输入和输出
            • 1.2.1 控制单元输入
            • 1.2.2 控制单元输出
      • 2 硬布线控制器
        • 2.1 CPU的控制方式
        • 2.2 安排微操作时序的原则(最短时间完成,参考)
            • 2.2.1 安排微操作时序-取指周期
            • 2.2.2 安排微操作时序-间址周期
            • 2.2.3 安排微操作时序-执行周期
            • 2.2.4 安排微操作时序-中断周期
        • 2.3 组合逻辑设计
        • 2.4 硬布线控制器小结
      • 3 微程序控制器
        • 3.1 微程序的基本思想
        • 3.2 微程序控制器的基本结构
            • 3.2.1 控制寄存器
        • 3.3 微指令格式
        • 3.4 微指令的编码方式(重点)
            • 3.4.1 直接编码(直接控制)方式
            • 3.4.2 字段直接编码方式(最重)
            • 3.4.3 字段间接编码方式
        • 3.5 微指令的地址形成方式
            • 3.5.1 微指令的地址形成方式-断定方式
        • 3.6 微程序控制的基本概念
        • 3.7 微程序控制单元的设计
        • 3.8 微程序设计分类
        • 3.9 硬布线与微程序的比较
        • 3.10 微程序控制器小结

1 控制器的功能和工作原理

1.1 控制器的结构和功能

在这里插入图片描述
以上过程控制器无非就是取指令、分析指令、以及产生响应的控制信号执行指令的过程

控制器是计算机系统的指挥中心,控制器的主要功能有:

  1. 从主存中取出一条指令,并指出下一条指令在主存中的位置。
  2. 对指令进行译码域测试,产生相应的操作控制信号,以便启动规定的动作。
  3. 指挥并控制CPU、主存、输入和输出设备之间的数据流动方向。

1.2 控制单元的输入和输出

在这里插入图片描述

1.2.1 控制单元输入
  1. 指令寄存器
    OP(IR)→CU
    控制信号的产生与操作码有关
  2. 时钟
    一个时钟脉冲发一个操作命令或一组需要同时执行的操作命令
  3. 标志
    如条件转移指令,根据相应的标志位决定下一步操作
  4. 外来信号
    如:中断请求信号INTR
    总线请求信号HRQ
1.2.2 控制单元输出
  1. CPU内部的控制信号
    寄存器之间的数据传输、PC的修改、控制ALU进行相应的运算
  2. 到控制总线的控制信号

到存储器:访存控制信号MREQ、读命令RD、写命令WR
I/O设备:访问I/O设备的控制信号IO
中断响应信号INTA、总线响应信号HLDA

2 硬布线控制器

在这里插入图片描述
时钟通过节拍发生器产生的多个有先后顺序的节拍信号:
在这里插入图片描述

  • 关于机器周期:机器周期可看做所有指令执行过程中的一个基准时间。
  • 通常以存取周期作为基准时间,即机器周期。
  • 在存储字长等于指令字长的前提下,取指周期也可看做机器周期。

硬布线控制器设计步骤:

  1. 分析每个阶段的微操作序列
  2. 选择CPU的控制方式
  3. 安排微操作时序
  4. 电路设计

2.1 CPU的控制方式

CPU的控制方式:产生不同微操作命令序列所用的时序控制方式。

  1. 同步控制方式
  • 整个系统所有的控制信号均来自一个统一的时钟信号
  • 通常以最长的微操作序列和最烦琐的微操作作为标准,采取完全统一的、具有相同时间间隔和相同数目的节拍作为机器周期来运行不同的指令。
  • 同步控制方式的优点是控制电路简单,缺点是运行速度慢。
    在这里插入图片描述
  1. 异步控制方式
  • 异步控制方式不存在基准时标信号
  • 各部件按自身固有的速度工作,通过应答方式进行联络。
  • 异步控制方式的优点是运行速度快,缺点是控制电路比较复杂。
  1. 联合控制方式
  • 对各种不同的指令的微操作实行大部分采用同步控制、小部分采用异步控制的办法。

现在我们假设采用同步控制方式,一个机器周期内安排3个节拍(时钟周期)来实现设计

2.2 安排微操作时序的原则(最短时间完成,参考)

  1. 原则一 微操作的先后顺序不得险意更改
  2. 原则二 被控对象不同的微操作尽量安排在一个节拍内完成
  3. 原则三 占用时间较短的微操作尽量安排在一个节拍内完成并允许有先后顺序
2.2.1 安排微操作时序-取指周期

(1)PC→MAR

(2)1→R 存储器空闲即可

(3)M(MAR)→MDR 在(1)之后

(4)MDR→IR 在(3)之后

(5)OP(IR)→ID 在(4)之后

(6)(PC)+1>→PC 在(1)之后

根据三个原则,可以以下安排:
在这里插入图片描述
(4)(5)两个微操作占用时间较短,根据原则三安排在一个节拍

没有相关性的微操作,可以安排在同一个时钟周期内完成

2.2.2 安排微操作时序-间址周期

(1)Ad(IR)→MAR

(2) 1→R

(3)M(MAR)→MDR

(4) MDR→Ad(IR)

根据三个原则,可以以下安排:
在这里插入图片描述

2.2.3 安排微操作时序-执行周期
  1. 五条非访存指令

在这里插入图片描述

  1. 三条常见的访存指令

在这里插入图片描述

  1. 两条转移指令

在这里插入图片描述

2.2.4 安排微操作时序-中断周期

(1)a→MAR

(2)1→W 存储器空闲即可

(3)0→EINT 硬件关中断

(4)(PC)→MDR 保存断点内部数据通路空闲即可

(5)MDR→M(MAR) 在(4)之后

(6)向量地址→PC 在(4)之后

根据三个原则,可以以下安排:
在这里插入图片描述
这些操作由中断隐指令完成

:中断隐指令不是一条指令,而是指一条指令的中断周期由硬件完成的一系列操作。

中断周期的三个任务:

  1. 保存断点(PC放某存储单元)
  2. 形成中断服务程序的入口地址
  3. 关中断

2.3 组合逻辑设计

设计步骤:

  1. 列出操作时间表
  2. 写出微操作命令的最简表达式
  3. 画出逻辑图

  1. 列出操作时间表

取指周期操作时间表在这里插入图片描述

需要微操作命令信号的指令,填1
1→IND:表示进入间指周期(非访存指令不需要进入间指周期)
1→EX:表示进入执行周期(所有指令都需要进入执行周期)

间址周期操作时间表
在这里插入图片描述

执行周期操作时间表
在这里插入图片描述

  1. 依据上述三个表,写出微操作命令的最简表达式

以M(MAR)→MDR为例:
在这里插入图片描述

M(MAR)→MDR微操作命令的逻辑表达式:
FE·T1+IND·T1(ADD+STA+LDA+JMP+BAN)+EX·T1(ADD+LDA)
=T1{FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}  //提取公因式T1
  1. 根据逻辑表达式画出逻辑图
    在这里插入图片描述

2.4 硬布线控制器小结

设计步骤:

  1. 分析每个阶段的微操作序列 (重点
  2. 选择CPU的控制方式
  3. 安排微操作时序
  4. 电路设计

(1)列出操作时间表
(2)写出微操作命令的最简表达式
(3)画出逻辑图

3 微程序控制器

  • 硬布线工作原理:微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序,即时产生
  • 微程序工作原理:事先把微操作控制信号存储在一个专门的存储器(控制存储器)中,将每一条机器指令编写成一个微程序,这些微程序可以存到一个控制存储器中,用寻址用户程序机器指令的办法来寻址每个微程序中的微指令。

3.1 微程序的基本思想

在这里插入图片描述

在这里插入图片描述

一个机器指令对应一个微程序思想:每条指令取指周期的操作是相同的,所以将取指令操作的微命令统一编成一个微程序,而每条机器指令所对应的具体操作再单独编写一个与之对应的微程序。

微指令基本格式:

在这里插入图片描述

3.2 微程序控制器的基本结构

在这里插入图片描述

3.2.1 控制寄存器

在这里插入图片描述

  • 取指周期微程序:默认是公共的,故如果某指令系统中有n条机器指令,则CM中微程序的个数至少是n+1
  • 间址周期微程序和中断周期微程序:不一定是公共的。
    此处做成公共的,故如果这台计算机指令系统中有n条机器指令,则CM中微程序的个数是n+3个。

3.3 微指令格式

  1. 水平型微指令 :一次能定义并执行多个并行操作。

基本格式:
在这里插入图片描述

优点:微程序短,执行速度快;
缺点:微指令长,编写微程序较麻烦。

  1. 垂直型微指令:类似机器指令操作码的方式,由微操作码字段规定微指令的功能。

基本格式:
在这里插入图片描述

优点:微指令短、简单、规整,便于编写微程序;
缺点:微程序长,执行速度慢,工作效率低。

  1. 混合型微指令:在垂直型的基础上增加一些不太复杂的并行操作。

微指令较短,仍便于编写;微程序也不长,执行速度加快。

3.4 微指令的编码方式(重点)

微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。编码的目标是在保证速度的情况下,尽量缩短微指令字长。

3.4.1 直接编码(直接控制)方式

在微指令的操作控制字段中,每一位代表一个微操作命令
某位为“1”表示该控制信号有效
在这里插入图片描述

优点:简单、直观,执行速度快,操作并行性好。
缺点:微指令字长过长,n个微命令就要求微指令的操作字段有n位,造成控存容量极大。

3.4.2 字段直接编码方式(最重)

将微指令的控制字段分成若干“段”,每段经译码后发出控制信号
在这里插入图片描述
微命令字段分段的原则:

(1)互斥性微命令分在同一段内,相容性微命令分在不同段内。
(2)每个小段中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。
(3)一般每个小段还要留出一个状态,表示本字段不发出任何微命令。因此,当某字段的长度为3位时,最多只能表示7个互斥的微命令,通常用000表示不操作。
在这里插入图片描述

优点:可以缩短微指令字长。
缺点:要通过译码电路后再发出微命令,因此比直接编码方式慢。

例题:某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有多少位?

解答:第1个互斥类有7个微命令,要留出1个状态表示不操作,所以需要表示8种不同的状态,故需要3个二进制位。
以此类推,后面4个互斥类各需要表示4、13、6、7种不同的状态,分别对应2、4、3、3个二进制位。
故操作控制字段的总位数为3+2+4+3+3=15位

3.4.3 字段间接编码方式

一个字段的某些微命令需由另一个字段中的某些微命令来解释,由于不是靠字段直接译码发出的微命令,故称为字段间接编码,又称隐式编码。

在这里插入图片描述

优点:可进一步缩短微指令字长。
缺点:削弱了微指令的并行控制能力,故通常作为字段直接编码方式的一种辅助手段。

3.5 微指令的地址形成方式

  1. 微指令的下地址字段指出

微指令格式中设置一个下地址字段,由微指令的下地址字段直接指出后继微指令的地址,这种方式又称为断定方式

  1. 根据机器指令的操作码形成

当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成。

  1. 增量计数器法(CMAR)+1→CMAR
  2. 分支转移转移方式:指明判别条件;转移地址:指明转移成功后的去向。
操作控制字段转移方式转移地址
  1. 通过测试网络
    在这里插入图片描述
  2. 由硬件产生微程序入口地址

第一条微指令地址由专门硬件产生
中断周期由硬件产生中断周期微程序首地址

(1)(2)掌握,(3)(4)(5)(6)了解

3.5.1 微指令的地址形成方式-断定方式

例题:某计算机采用微程序控制器,共有32条指令,公共的取指令微程序包含2条微指令,各指令对应的微程序平均由4条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是多少位?

解答:总共需要存储多少条微指令?
32×4+2=130条
标注出130个不同的位置至少需要多少个二进制位?
27=128,28=256
下地址字段的位数至少是8位

3.6 微程序控制的基本概念

在这里插入图片描述

  1. 微命令与微操作

微命令是微操作的控制信号
微操作是微命令的执行过程。

  1. 微指令与微周期

微指令是若干微命令的集合。
微周期通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。

  1. 主存储器与控制存储器

主存储器用于存放程序和数据,在CPU外部,用RAM实现;
控制存储器(CM)用于存放微程序,在CPU内部,用ROM实现。

  1. 程序与微程序

程序是指令的有序集合,用于完成特定的功能;
微程序是微指令的有序集合,一条指令的功能由一段微程序来实现。

  1. 地址寄存器(MAR)与微地址寄存器(CMAR)

MAR存放要访问的存储器的地址
CMAR在CU内部,存放控制存储器的地址

  1. 指令寄存器(IR)与微指令寄存器(CMDR或uIR)

IR在CPU内部,CU外部,存放指令
CMDR在CU内部,存放微指令

3.7 微程序控制单元的设计

设计步骤:

  1. 分析每个阶段的微操作序列
  2. 写出对应机器指令的微操作命令及节拍安排
  3. 确定微指令格式
  4. 编写微指令码点

在这里插入图片描述
两者仅仅最后一步略有差别,硬布线交给一个硬件,是指令译码器,具有译码作用;
微程序交给微地址形成部件,用来定位微程序首地址

在这里插入图片描述
Ad(CMDR)→CMAR
OP(IR)→微地址形成部件→CMAR

在这里插入图片描述

设计步骤:

  1. 分析每个阶段的微操作序列
  2. 写出对应机器指令的微操作命令及节拍安排
    (1)写出每个周期所需要的微操作(参照硬布线)
    (2)补充微程序控制器特有的微操作:

a.取指周期:
Ad(CMDR)→CMAR
OP(IR)→CMAR
b.执行周期:
Ad(CMDR)→CMAR

  1. 确定微指令格式

根据微操作个数决定采用何种编码方式,以确定微指令的操作控制字段的位数。
由微指令数确定微指令的顺序控制字段的位数。
最后按操作控制字段位数和顺序控制字段位数就可确定微指令字长。

  1. 编写微指令码点
    根据操作控制字段每一位代表的微操作命令,编写每一条微指令的码点。

3.8 微程序设计分类

  1. 静态微程序设计和动态微程序设计
  • 静态微程序无需改变,采用ROM
  • 动态通过改变微指令和微程序改变机器指令有利于仿真,采用EPROM
  1. 毫微程序设计
  • 微程序设计 用 微程序解释机器指令
  • 毫微程序设计 用 毫微程序解释微程序
  • 毫微指令与微指令的关系好比微指令与机器指令的关系

3.9 硬布线与微程序的比较

在这里插入图片描述

3.10 微程序控制器小结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从特斯拉AI团队学到的九条方法论

来源:AI前线作者:Gary Chan译者:Sambodhi策划:李冬梅尽管 OpenAI 以其在自然语言处理上的成就而著称,而 DeepMind 则以强化学习和决策而闻名,特斯拉(Tesla)无疑是计算机视觉领域最有…

9 计算机组成原理第五章 中央处理器 指令流水线

文章目录1 指令流水线基本概念性能指标1.1 指令流水的定义1.1.1 指令分法1.1.2 指令执行时间1.2 流水线的表示方法1.3 流水线的性能指标2 指令流水线影响因素分类2.1 机器周期的设置2.2 影响流水线的因素2.2.1 数据相关(数据冲突)三种类型2.2.2 流水线影…

【赛迪智库】美国允许自动驾驶汽车取消方向盘对我国L4级自动驾驶的影响

来源:赛迪智库日前,美国国家公路交通安全管理局(NHTSA)发布了最终版的《无人驾驶汽车乘客保护规定》,其中对于由自动驾驶系统操作的车辆将不被要求配备传统方向盘等手动控制装置。新规有望促进美国L4级自动驾驶汽车商业…

10 计算机组成原理第六章 总线 总线的概念与分类 总线性能指标 总线仲裁 总线操作和定时 总线标准

文章目录1 总线的概念与分类1.1总线的定义1.2 总线的特点1.3 总线的特性1.4 总线的分类1.4.1 串行总线与并行总线1.4.2 按总线功能分类1.5 系统总线的结构1.6 总线概念与分类小结2 总线的性能指标2.1 性能指标分析2.2 总线性能指标小结3 总线仲裁3.1 总线仲裁的基本概念3.2 集中…

远程操控大脑?科学家成功利用近红外线控制老鼠的行为

GETTY IMAGES来源: IEEE电气电子工程师近日,科学家首次发明了一种非侵入性的方法来控制大脑回路——大脑中的神经元群,它们共同执行一项特定任务,成功完成了让实验室动物从远处自由移动。这项将近红外光射入大脑的新技术&#xff…

3 计算机组成原理第三章 存储系统 主存简单模型及寻址 半导体寄存器 存储器分类 主存与CPU连接 双口RAM和多模块寄存器

文章目录1 主存简单模型及寻址的概念1.1 主存储器1.1.1 存储器芯片的基本结构1.1.2 寻址2 半导体存储器2.1 半导体随机存取存储器2.1.1 DRAM的刷新2.1.2 SRAM的读周期2.1.3 SRAM的写周期2.1.4 RAM-易失性存储器2.2 ROM2.2.1 ROM分类2.2.2 半导体随机存储器小结3 存储器分类3.1 …

GPT-4 即将亮相?聊聊目前已知的一切

来源:AI 前线作者:Alberto RomeroGPT-3 首度亮相于大约两年之前的 2020 年 5 月,当时正值 GPT-2 发布的一年之后。而 GPT-2 距离最初 GPT 研究论文的发表也是相隔一年。如果这种周期性趋势继续保持不变,那 GPT-4 肯定也快跟大家见…

全职加入清华,丘成桐:为祖国、为全球数学界培养数学人才

王希勤校长为丘先生颁发聘书(照片来源:清华大学)来源:数据实战派4 月 20 日,清华大学宣布,“菲尔兹奖”首位华人得主丘成桐从哈佛大学退休,受聘清华大学讲席教授,将全职任教清华。清…

11 计算机组成原理第七章 输入/输出系统 I/O系统基本概念 外部设备

文章目录1 I/O系统基本概念1.1 I/O系统演变过程1.2 I/O系统基本组成1.3 I/O方式简介1.4 I/O系统基本概念小结2 外部设备1-输入设备 输出设备2.1 外部设备2.2 输入设备2.3 输出设备2.3.1 显示器2.3.2 打印机2.4 输出设备小结3 外部设备2-外存储器3.1 外存储器3.2 磁盘存储器3.2.…

重庆大学刘礼:因果学习与应用

来源:AI科技评论作者:刘礼编辑:维克多因果学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注。4月9日,在AI TIME青年科学家——AI 2000学者专场论坛上,重庆大学大数据与软件学院教授刘礼…

12 计算机组成原理第七章 输入/输出系统 中断系统

文章目录1 中断的基本概念2 中断请求的分类3 中断请求标记4 中断判优-实现5 中断处理过程5.1 中断处理过程-中断隐指令5.2 中断处理过程-硬件向量法5.3 中断处理过程-中断服务程序6 单重中断与多重中断6.1 单重中断与多重中断比较7 中断屏蔽技术中断屏蔽字例题8 中断系统小结1 …

神经形态计算的物理学

来源: 集智俱乐部作者:张晓雨编辑:邓一雪 摘要神经形态计算(neuromorphic computing)从脑科学汲取灵感来为信息处理创造节能硬件,并能适应高度复杂的任务。2020年发表在 Nature Reviews Physics 上的一篇文…

13 计算机组成原理第七章 输入/输出系统 I/O方式 I/O接口

文章目录1 I/O接口1.1 接口定义1.2 I/O接口的功能(以单总线为例)1.3 I/O接口的基本结构1.4 接口与端口1.5 I/O端口及其编址1.6 I/O接口的类型1.7 I/O接口小结2 I/O方式2.1 I/O方式1-程序查询方式2.1.1 程序查询方式流程图2.1.2 程序查询方式接口2.1.3 程…

参与全球人工智能创新链竞争

来源:社科院工业经济研究所作者:郭朝先,中国社会科学院工业经济研究所研究员、产业组织研究室主任、中国社会科学院大学教授、博士生导师、中国可持续发展研究会理事;方澳,中国社会科学院大学经济学院。本文首发《经济…

4 计算机组成原理第三章 存储系统 高速缓冲存储器 虚拟存储器

文章目录1 局部性原理性能分析2 Cache工作原理(简易版)3 地址映射4 替换算法4.1 替换算法(十进制)举例4.2 Cache工作原理(加强版)4.2.1写策略-命中4.2.2 写策略-未命中4.3 替换算法(二进制&…

CICC城市大脑专委会获批成立,欢迎参加专委会共同探索和研究

CICC 城市大脑专委会中国指挥与控制学会(CICC)是经国家民政部正式注册的我国指挥与控制科学技术领域的国家一级学会,是全国性科技社会组织;是中国科学技术协会的正式团体会员,接受中国科学技术协会的直接领导&#xff…

讲座文稿 | 人工智能与因果推理

来源:本文为中国人民大学明德讲坛第23期暨服务器艺术人工智能哲学第11期讲座文稿。主持人:朱锐 嘉宾:邱德钧、秦曾昌、Vincent Luizzi、袁园 主办:中国人民大学哲学与认知科学跨学科交叉平台、服务器艺术 协办:神经现…

顺序栈的介绍及实现

1 栈 从数据结构角度来讲,栈也是线性表,其操作是线性表操作的子集,属操作受限的线性表。 但从数据类型的角度看,它们是和线性表大不相同的重要抽象数据类型。 ◆ 栈是只准在一端进行插入和删除操作的线性表,该端称为栈…

内排序算法一览

文章目录1 插入排序2 希尔(shell)排序3 冒泡排序4 快速排序5 选择排序6 堆排序7 归并排序8 内排序代码一览运行结果常用排序算法时间复杂度和空间复杂度一览表排序:将一组杂乱无章的数据按一定的规律顺次排列起来,可以看作是线性表的一种操作…

Nature:神经元在大脑中的起点并不一定是它们的终点

来源:生物通虽然人体有30亿个DNA碱基和超过30万亿细胞,格里森和他的同事们发现只有几百DNA突变可能出现在头几个细胞分裂后的受精胚胎或在大脑的早期发展。通过在死者的大脑中跟踪这些突变,他们第一次能够重建人类大脑的发育。胎儿大脑的发育…