10.1-控制单元CU的组合逻辑设计
【README】
1.本文总结自bilibili《计算机组成原理(哈工大刘宏伟)》的视频讲解,非常棒,墙裂推荐;
2.精简指令集RISC(简单指令集合)采用的就是这种组合逻辑设计的硬连方式(非常重要);
3.组合逻辑设计应用到RISC,进而应用到了 X86cpu的设计上(查看文末补充内容);
【1】组合逻辑控制单元框图
【1.1】CU外特性
CU要发出各种控制命令,这些控制信号是有先后关系的,每一个控制信号的发出都是由给定的时间点发出的,这种相互关系和时间点的确定,就是有节拍信号来控制的;
即需要节拍发生器;
机器主频信号送入节拍发生器,进而产生节拍信号(T0到Tm);
CU到底要产生什么控制命令,和现在执行的指令有直接关系;如指令在IR中,需要译码后才知道;n位操作码具有2^n-1个结果;
CU到底发出什么控制信号,还和标志有关系;如跳转指令;与跳转条件是否成立有关;
假设,给定的控制信号有k+1个(C0 C1 …Ck);有1个或几个有效,几个有效表示在一个节拍中这些控制信号可以并行操作的;
【1.2】节拍信号
系统时钟是系统的最基本时间单位;节拍信号就是在时钟的控制下产生的;在不同的时钟周期处可以产生不同的节拍;
由节拍信号控制各种微操作命令发出的时间;
上图的机器周期包含4个节拍;
【小结】机器周期与时钟周期: 机器周期:完成一条基本操作所需要的时间(通常以访存时间为基准);一个机器周期可以划分为多个时钟周期; 时钟周期:控制计算机操作的最小单位时间;一个时钟周期可以产生1个或多个微操作命令(若微操作命令可以并行执行); |
【2】微操作的节拍安排
【2.1】 安排微操作时序的原则
- 原则一:微操作的先后顺序不得修改;如只有把指令送入IR后,才可以把IR中的指令送入CU进行译码;
- 原则二:被控制对象不同的微操作,尽量安排在一个节拍内;即可以并行执行的微操作,微操作没有先后顺序,这样的微操作会安排在同一个节拍中(因为操作的对象不同);
- 原则三:占用时间短的微操作,尽量安排在一个节拍内,且有先后顺序;如一个在上升沿,一个在下降沿;
取指周期微操作的节拍安排:T0 T1 T2节拍都做了2个操作;即每个时钟周期并行做了2个微操作;
【2.4】执行周期微操作的节拍安排
【2.4.1】指令及节拍安排
CLA |
清零,把0送入acc寄存器 |
COM |
取反 |
SHR |
算术右移 |
CSL |
循环移位 |
STP |
停机操作 |
ADD X |
加法操作 |
STA X |
把累加器ACC的数据送入存储单元X; |
LDA X |
把存储单元X的数据送入CPU的累加器ACC寄存器; |
JMP X |
跳转到给定地址X存储的指令 |
BAN X |
条件转移指令; |
【3】 控制单元CU的组合逻辑设计
【3.1】组合逻辑设计步骤
对于 取指周期,间址周期,执行周期需要哪些微操作呢?
【3.1.1】取指周期微操作步骤
在节拍T0中,CLA COM ADD STA LDA JMP 指令的微操作都需要执行 PC -> MAR ,所以方格填1,这是1的含义;
1->IND : 进行间址周期;
1->EX : 进入执行周期;
【3.1.2】间址周期微操作步骤
【3.1.3】执行周期微操作步骤
【3.2】写出微操作命令的最简表达式
根据微操作命令被用到的指令(如CLA COM),写出表达式,从而化简;作为组合逻辑电路的公式,如下:
上图就是控制器CU的逻辑框图;
精简指令集RISC采用的就是这种组合逻辑设计的硬连方式;
现在处理器分为了两类,1类是整型数处理单元,1类是浮点数处理单元;
而整型数控制单元就是采用上述的组合逻辑设计;
【小结】控制单元CU的组合逻辑设计总结
1)组合逻辑设计优点:思路清晰,简单明了;
2)组合逻辑设计缺点:
- 电路复杂;
- 不易于扩展:因为每一个控制信号都需要单独的电路,来完成控制信号的生成;如新增一条指令,就需要修改控制器,添加一个电路,因此成本非常高;
3)应用:精简指令集RISC(简单指令集合)采用的就是这种组合逻辑设计的硬连方式(非常重要);
【补充】
以下内容转自 wikipedia,https://zh.wikipedia.org/wiki/%E7%B2%BE%E7%AE%80%E6%8C%87%E4%BB%A4%E9%9B%86%E8%AE%A1%E7%AE%97%E6%9C%BA
补充1)精简指令集计算机(英语:reduced instruction set computer,缩写:RISC)或简译为精简指令集,是计算机中央处理器的一种设计模式。这种设计思路可以想像成是一家模块化的组装工厂,对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。目前常见的精简指令集微处理器包括DEC Alpha、ARC、ARM、AVR、MIPS、PA-RISC、Power ISA(包括PowerPC、PowerXCell)、RISC-V和SPARC等。
- 目前最常见的复杂指令集 x86 CPU,虽然指令集是CISC的,但因对常用的简单指令会以硬件线路控制尽全力加速,不常用的复杂指令则交由微码循序器“慢慢解码、慢慢跑”,因而有“RISCy x86”之称。
补充2)精简指令集设计中常见的特征:
- 统一指令编码(例如,所有指令中的op-code永远位于同样的比特位置、等长指令),可快速解译:
- 泛用的寄存器,所有寄存器可用于所有内容,以及编译器设计的单纯化(不过寄存器中区分了整数和浮点数);
- 单纯的寻址模式(复杂寻址模式以简单计算指令序列取代);
- 硬件中支持少数资料类型(例如,一些CISC电脑中存有处理字节字符串的指令。这在RISC电脑中不太可能出现)。
10.1-控制单元CU的组合逻辑设计相关推荐
- 本周推荐10款免费的网站模板设计
为什么80%的码农都做不了架构师?>>> 日期:2013-5-10 来源:GBin1.com 免费网站模板相信大家肯定都非常喜欢,在今天这篇文章中,我们收集了来自极客标签社区 ...
- Java黑皮书课后题第10章:10.4(MyPoint类)设计一个名为MyPoint的类,代表一个以x坐标和y坐标表示的点
10.4(MyPoint类)设计一个名为MyPoint的类,代表一个以x坐标和y坐标表示的点 题目 程序 代码 Test4.java Test4_MyPoint.java 运行实例 UML 题目 程序 ...
- Java黑皮书课后题第10章:10.3(MyInteger类)设计一个名为MyInteger的类
10.3(MyInteger类)设计一个名为MyInteger的类 题目 程序说明 代码 Test3.java Test3_MyInteger.java 运行实例 UML 题目 程序说明 测试程序:T ...
- TML5期末大作业:动漫网站设计——神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码
HTML5期末大作业:动漫网站设计--神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码 常见网页设计作业题材有 个人. 美食. 公司 ...
- ASP.NET MVC 音乐商店 - 10. 完成导航和站点的设计
ASP.NET MVC 音乐商店 - 10. 完成导航和站点的设计 我们已经完成了网站的大部分工作,但是,还有一些添加到站点的导航功能,主页,以及商店的浏览页面. 创建购物车汇总部分视图 我们希望在整 ...
- web课程设计网页规划与设计—— 中西餐美食餐饮网站(10页面) html+css+javascript网页设计实例...
web课程设计网页规划与设计-- 中西餐美食餐饮网站HTML(10页面) html+css+javascript网页设计实例 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HT ...
- Verilog组合逻辑设计
一.实验项目名称: Verilog组合逻辑设计 二.实验目的: 使用ISE软件和Verilog语言进行组合逻辑的设计与实现. 三.实验内容: 1.3-8译码器的设计和实现. 2.4位并行进位加法器的设 ...
- HTML5期末大作业:漫网页网站设计——爱影评在线电影(10页面)) 学生动漫网页设计模板下载 大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板
HTML5期末大作业:漫网页网站设计--爱影评在线电影(10页面)) 学生动漫网页设计模板下载 大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板 常见网页设计作业题 ...
- 平面设计【PS/AI】10款与花为抽象设计的名片
今天给大家分享最新10款与花为抽象设计的名片,大小[63.32M]格式[EPS\JPG],这套素材适合相关设计行业需要. 与花为抽象设计的名片 与花为抽象设计的名片 与花为抽象设计的名片 与花为抽象设 ...
最新文章
- 使用元数据分析数据库
- 《图数据库(第2版)》——2.1 关系型数据库缺少联系
- C#-修改图书借阅管理系统-错误与SQL server 2008错误、复制数据库
- Linux logrotate日志切割详解
- 最近很火的数据动图python_GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了...
- 面试美团,面试官突然问我 Java “锁” ,我哭了
- 使用 Kubernetes 和 Kubeflow 扩展对象检测
- win10如何打开摄像头_如何解决:Win10打开软件报错“应用程序无法正常启动 0xc0150002”...
- 福利卡巴斯基一年免费以及一些使用软件
- REDIS04_主从复制概述及搭建、反客为主、薪火相传、原理、哨兵模式、集群搭建
- 开发对接微信卡包会员卡_微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)...
- 亲测有效——C#制作图片Button
- 判断浏览器必须是IE10以上,低于IE10做出提示
- 7Ps营销理论(转载)
- 心态-《好奇心》书中的精髓:保持好奇心,能让我们的学习和生活更精彩。
- python 爬虫登录
- 指纹识别综述(5): 分类与检索
- 今日头条笔试之字母交换
- string常用方法,不积硅步无以至千里
- 推荐系统模型论文阅读笔记
热门文章
- P4245 【模板】任意模数多项式乘法
- cf1553E. Permutation Shift
- 【蓝桥杯】 2018年国赛 矩阵求和
- 容斥问卷调查反馈——Co-prime,Character Encoding,Tree and Constraints,「2017 山东一轮集训 Day7」逆序对
- codeforces:812(div2):总结
- CF720C Homework(构造)(暴力)
- 字符串:凯撒密码(洛谷P1914)
- P7854-「EZEC-9」GCD Tree【构造】
- AT2567-[ARC074C]RGB Sequence【dp】
- 牛客国庆集训派对day6TJ-DefenseTower【贪心】