【计算机组成原理】中央处理器(四)—— 控制器的功能和工作原理

news/2024/5/4 9:34:35/文章来源:https://blog.csdn.net/weixin_43848614/article/details/126997929

【计算机组成原理】中央处理器(四)—— 控制器的功能和工作原理

  • 一、前言
  • 二、硬布线控制器
    • (一)、安排微操作时序的原则
        • 1. 安排微操作时序-取指周期
        • 2. 安排微操作时序-间址周期
        • 3. 安排微操作时序-执行周期
        • 4. 安排微操作时序-间址周期
    • (二)、组合逻辑设计
  • 三、微程序控制器
    • (一)、微指令的设计
    • (二)、微指令的格式
      • 水平型微指令
      • 垂直型微指令
      • 混合型微指令
    • (三)、微指令的编码方式
        • 例题
    • (四)、微指令的地址形成方式
    • (五)、微程序控制单元的设计
      • 微程序设计分类
      • 硬布线与微程序的比较
      • 总结

一、前言

根据 指令操作码目前的机器周期节拍信号机器状态条件,即可确定现在这个节拍下应该发出哪些“微命令”。

CU 发出一个微命令,可完成对应微操作。
如: 微命令1 使得 PCout、MARin 有效。完成对应的微操作1 (PC)→MAR
在这里插入图片描述

二、硬布线控制器

M(MAR)→MDR 微操作命令的逻辑表达式:
FE·T1 + IND·T1(ADD+STA+LDA+JMP+BAN) + EX·T1(ADD+LDA)

在这里插入图片描述

(一)、安排微操作时序的原则

原则一 微操作的 先后顺序不得 随意 更改
原则二 被控对象不同 的微操作,尽量安排在 一个节拍 内完成
原则三 占用 时间较短 的微操作,尽量 安排在 一个节拍 内完成并允许有先后顺序

1. 安排微操作时序-取指周期

在这里插入图片描述

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

在这里插入图片描述

硬布线控制器的特点:

  1. 指令越多,设计和实现就越复杂,因此一般用于 RISC(精简指令集系统)
  2. 如果扩充一条新的指令,则控制器的设计就需要大改,因此扩充指令较困难。
  3. 由于使用纯硬件实现控制,因此执行速度很快。微操作控制信号由组合逻辑电路即时产生

3. 安排微操作时序-执行周期

在这里插入图片描述

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

在这里插入图片描述

(二)、组合逻辑设计

设计步骤:

  1. 列出操作时间表(列出在取指、间址、执行、中
    断周期,T0、T1、T2 节拍内有可能用到的所有微操作)
  2. 写出微操作命令的最简表达式
  3. 画出逻辑图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、微程序控制器

指令是对程序执行步骤的描述,微指令是对指令执行步骤的描述。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(一)、微指令的设计

在这里插入图片描述

微命令与微操作一一对应,一个微命令对应一根输出线;有的微命令可以并行执行,因此一条微指令可以包含多个微命令

(二)、微指令的格式

相容性微命令:可以并行完成的微命令。
互斥性微命令:不允许并行完成的微命令。

水平型微指令

一条微指令能定义多个可并行的微命令。

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

垂直型微指令

一条微指令只能定义一个微命令,由微操作码字段规定具体功能。

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

混合型微指令

在垂直型的基础上增加一些不太复杂的并行操作。
微指令较短,仍便于编写;微程序也不长,执行速度加快。

(三)、微指令的编码方式

(1) 直接编码(直接控制)方式
(2) 字段直接编码方式
(3) 字段间接编码方式

在这里插入图片描述
字段间接编码方式的优点:可以缩短微指令字长 。
缺点:要通过译码电路后再发出微命令,因此比直接编码方式慢 。

在这里插入图片描述

例题

在这里插入图片描述

(四)、微指令的地址形成方式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(五)、微程序控制单元的设计

在这里插入图片描述

在这里插入图片描述

  • 对于补充微程序控制器特有的微操作

a. 取指周期:

Ad ( CMDR ) → CMAR

每条微指令结束之后都需要进行

OP ( IR ) → 微地址形成部件 → CMAR

取指周期的最后一条微指令完成后,要根据指令操作码确定 其执行周期的微程序首地址

b. 执行周期:

Ad(CMDR) → CMAR

每条微指令结束之后都需要进行

微程序设计分类

在这里插入图片描述

硬布线与微程序的比较

在这里插入图片描述

总结

在这里插入图片描述

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

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

相关文章

Python算法性能分析-时间复杂度

时间复杂度: 算法的运行时间。 什么是大O: 大O用来表示上界的。 数据规模: 在决定使用哪些算法的时候,不是时间复杂越低的越好(因为简化后的时间复杂度忽略了常数项等等),要考虑数据规模&am…

没有项目经验,如何书写漂亮的简历?

嗨,同学 你们是不是也开始 国庆假期倒计时啦!!! 一想到熬过这周,接下来可以嗨7天7夜 就按捺不住自己内心的雀跃! 但是,有人却高兴不起来,因为在这个“金九银十”,一些同学还没找到…

接口(关注我还有后续哦)

👍 棒棒有言:现在学习Java变得比以前容易多了,除了有大量的视频教程外,还有专业的机构,这都使学习变得更加简单化。如果仅仅学了些皮毛,高手写的程序你是望尘莫及的。在学习的过程中,书籍永远是…

后台系统接入udesk在线客服(vue前端方式)

SDK最舒服的一点就是买来服务,直接Ctrl CV脚本进项目基本就能完成目标功能,要做的无非就是自定义属性的添加。 楼上项目组用的是java后端接入,我这儿是vue前端接入,做法略有不同。 简单点做就是复制上面script标签内代码到index.h…

关于SignalR的内容延续:1.协商协议 2.分布式部署

既然项目中用到了,那就搞搞清楚,搞不懂就死 : > 前置内容: 长轮询问题在ABP中的解决方案,SignalR_董厂长的博客-CSDN博客 “SingalR是对webSocekt的封装” ,这句话是片面的。 因为: SignalR支持多…

vue-----组件通信/传值

一 父子组件通信分为父给子传和子给父传 父给子传: 1.在子组件标签中写传入的值 2.在子组件内使用props接收父组件传递的值。 子给父传: 1.在子组件内部使用$emit发射自定义事件和传递给父组件的值 2.在父组件内声明自定义事件接受参数 二 兄弟组件…

真无线蓝牙耳机哪款音质最好?真无线蓝牙耳机音质排行榜

随着蓝牙技术的飞速发展,很多耳机的质量和质量都很好。喜欢音乐的人,往往会沉迷于这种美妙的感觉,也正是因为如此,他们才会对音质有更高的要求。除了音质之外,还有很多新的特性,例如主动降低噪音、声音操控…

全流程调度

目录 Azkaban 配置mysql 配置 Executor Server 配置Web Server Sqoop导出脚本 Azkaban 安装azkaban并改名 配置mysql 启动 [doudouhadoop102 ~]$ mysql -uroot -p123456登陆 MySQL,创建 Azkaban 数据库 mysql> create database azkaban;设置密码有效长度 …

一文入门Qt Quick

很高兴可以来到这一章,终于可以开始讲讲最近几年Qt的热门技术Quick这一块了。希望通过这个比较简短的例子可以带领有兴趣的朋友快速跨过Qt Quick的入门这道槛!以下内容为本人的著作,如需要转载,请声明原文链接 微信公众号「englyf」https://www.cnblogs.com/englyf/p/16733…

m基于matlab的光通信的信道估计,均衡,抑制papr误码率仿真,对比ZF,RLS,MMSE三种算法(包括matlab仿真录像)

目录 1.源码获取方式 2.算法描述 3.部分程序 4.部分仿真图预览 1.源码获取方式 使用版本matlab2013b 获取方式1: 点击下载链接(解压密码C123456): m基于matlab的光通信的信道估计,均衡,抑制papr误码…

libxml编译时问题解决记录

在对libxml进行模糊测试时,需要先将其拉去并进行编译,可参考此链接:magma本地编译 或者直接参考这个链接:magma编译libxml2 然而在编译的过程中,拉去完libxml2执行到这一句时报错如下: configure.ac:42: e…

Python骚操作,实现驾考自动答题,这就直接满分了?

Python骚操作来了~ 用Python来实现科目一/四自动答题,100分不要太简单! 最初是表弟最近想买车,但是驾照都没有,买什么车,只能先考驾照~ 看他在网页上练习题目慢吞吞的,我就看不下去了,直接给他…

《数据结构》队列及其经典面试题

前言 上一篇讲了栈和栈的经典面试题,链接如下: 栈与栈的经典面试题 其实栈和队列是一码事,都是对只能再线性表的一端进行插入和删除。 因此,其实栈和队列可以互相转换! 一、队列的特点 先进先出的数据结构&#…

Android系统安全 — 2.0-移动终端栈溢出的保护机制设置

简介 操作系统提供了许多安全机制来尝试降低或阻止缓冲区溢出攻击带来的安全风险。例如 NX/DEP、 ASLR(PIE)、CANARY、FORTIFY、RELRO 等手段。 栈保护 1.NX/DEP Linux 和 Windows 平台都支持对非可执行代码的保护,在 Linux 平台中被称为…

【Mybatis框架】初识Mybatis

CSDN话题挑战赛第2期 参赛话题:学习笔记 MyBatis1、MyBatis简介1.1、MyBatis历史1.2、MyBatis特性2. 搭建MyBatis2.1 创建一个Maven项目2.2 在项目下新建我们的MyBatis项目2.3 引入依赖2.4 创建MyBatis的核心配置文件2.5 创建mapper接口2.6 创建MyBatis的映射文件2.…

AWS 中文入门开发教学 34- MySQL@RDS - 准备工作 - VPC子网,安全组,DB子网组,参数组,选项组

知识点 建立RDS MySQL前的准备工作实战演习 VPC子网,安全组,DB子网组,参数组,选项组 VPC子网 Name: deeplearnaws-db-1cCIDR: 172.16.21.0/24 安全组 Name: deeplearnaws-db-sg <- 可以直接使用之前创建的,但生产环境时应只保留3306端口 DB子网组 Name: deeplearnaws-db-su…

JavaScript学习Day008(jQuery操作)

DOM操作分类 DOM操作分为三类 DOM Core&#xff1a;任何一种支持DOM的编程语言都可以使用它&#xff0c;如getElementById() HTML-DOM&#xff1a;用于处理HTML文档&#xff0c;如document.forms CSS-DOM&#xff1a;用于操作CSS&#xff0c;如element.style.color"gree…

【NLP】第12章 检测客户情绪以做出预测

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

JavaScript数组与对象

数组对象 「创建数组的两种方式」 1. 字面量方式var arr [1,"test",true];2. 实例化数组对象 new Array() var arr new Array(); 注意&#xff1a;上面代码中arr创建出的是一个空数组&#xff0c;如果需要使用构造函数Array创建非空数组&#xff0c;可以在创建数…

SpringCloud-19-Spring Cloud Hystrix介绍和服务端降级

8 Hystrix&#xff1a;Spring Cloud服务熔断与降级组件 8.1 分布式系统面临的问题 复杂分布式体系结构中的应用程序往往由多个服务组成&#xff0c;这些服务之间相互依赖&#xff0c;依赖关系错综复杂&#xff0c;每个依赖关系在某些时候将不可避免的失败&#xff01; 若一个…