【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】 安排微操作时序的原则

  1. 原则一:微操作的先后顺序不得修改;如只有把指令送入IR后,才可以把IR中的指令送入CU进行译码;
  2. 原则二:被控制对象不同的微操作,尽量安排在一个节拍内;即可以并行执行的微操作,微操作没有先后顺序,这样的微操作会安排在同一个节拍中(因为操作的对象不同);
  3. 原则三:占用时间短的微操作,尽量安排在一个节拍内,且有先后顺序;如一个在上升沿,一个在下降沿;

取指周期微操作的节拍安排: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的组合逻辑设计相关推荐

  1. 本周推荐10款免费的网站模板设计

    为什么80%的码农都做不了架构师?>>>    日期:2013-5-10  来源:GBin1.com 免费网站模板相信大家肯定都非常喜欢,在今天这篇文章中,我们收集了来自极客标签社区 ...

  2. Java黑皮书课后题第10章:10.4(MyPoint类)设计一个名为MyPoint的类,代表一个以x坐标和y坐标表示的点

    10.4(MyPoint类)设计一个名为MyPoint的类,代表一个以x坐标和y坐标表示的点 题目 程序 代码 Test4.java Test4_MyPoint.java 运行实例 UML 题目 程序 ...

  3. Java黑皮书课后题第10章:10.3(MyInteger类)设计一个名为MyInteger的类

    10.3(MyInteger类)设计一个名为MyInteger的类 题目 程序说明 代码 Test3.java Test3_MyInteger.java 运行实例 UML 题目 程序说明 测试程序:T ...

  4. TML5期末大作业:动漫网站设计——神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码

    HTML5期末大作业:动漫网站设计--神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码 常见网页设计作业题材有 个人. 美食. 公司 ...

  5. ASP.NET MVC 音乐商店 - 10. 完成导航和站点的设计

    ASP.NET MVC 音乐商店 - 10. 完成导航和站点的设计 我们已经完成了网站的大部分工作,但是,还有一些添加到站点的导航功能,主页,以及商店的浏览页面. 创建购物车汇总部分视图 我们希望在整 ...

  6. web课程设计网页规划与设计—— 中西餐美食餐饮网站(10页面) html+css+javascript网页设计实例...

    web课程设计网页规划与设计-- 中西餐美食餐饮网站HTML(10页面) html+css+javascript网页设计实例 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到头大?HT ...

  7. Verilog组合逻辑设计

    一.实验项目名称: Verilog组合逻辑设计 二.实验目的: 使用ISE软件和Verilog语言进行组合逻辑的设计与实现. 三.实验内容: 1.3-8译码器的设计和实现. 2.4位并行进位加法器的设 ...

  8. HTML5期末大作业:漫网页网站设计——爱影评在线电影(10页面)) 学生动漫网页设计模板下载 大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板

    HTML5期末大作业:漫网页网站设计--爱影评在线电影(10页面)) 学生动漫网页设计模板下载 大学生HTML网页制作作品 简单漫画网页设计成品 dreamweaver学生网站模板 常见网页设计作业题 ...

  9. 平面设计【PS/AI】10款与花为抽象设计的名片

    今天给大家分享最新10款与花为抽象设计的名片,大小[63.32M]格式[EPS\JPG],这套素材适合相关设计行业需要. 与花为抽象设计的名片 与花为抽象设计的名片 与花为抽象设计的名片 与花为抽象设 ...

最新文章

  1. 使用元数据分析数据库
  2. 《图数据库(第2版)》——2.1 关系型数据库缺少联系
  3. C#-修改图书借阅管理系统-错误与SQL server 2008错误、复制数据库
  4. Linux logrotate日志切割详解
  5. 最近很火的数据动图python_GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了...
  6. 面试美团,面试官突然问我 Java “锁” ,我哭了
  7. 使用 Kubernetes 和 Kubeflow 扩展对象检测
  8. win10如何打开摄像头_如何解决:Win10打开软件报错“应用程序无法正常启动 0xc0150002”...
  9. 福利卡巴斯基一年免费以及一些使用软件
  10. REDIS04_主从复制概述及搭建、反客为主、薪火相传、原理、哨兵模式、集群搭建
  11. 开发对接微信卡包会员卡_微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)...
  12. 亲测有效——C#制作图片Button
  13. 判断浏览器必须是IE10以上,低于IE10做出提示
  14. 7Ps营销理论(转载)
  15. 心态-《好奇心》书中的精髓:保持好奇心,能让我们的学习和生活更精彩。
  16. python 爬虫登录
  17. 指纹识别综述(5): 分类与检索
  18. 今日头条笔试之字母交换
  19. string常用方法,不积硅步无以至千里
  20. 推荐系统模型论文阅读笔记

热门文章

  1. P4245 【模板】任意模数多项式乘法
  2. cf1553E. Permutation Shift
  3. 【蓝桥杯】 2018年国赛 矩阵求和
  4. 容斥问卷调查反馈——Co-prime,Character Encoding,Tree and Constraints,「2017 山东一轮集训 Day7」逆序对
  5. codeforces:812(div2):总结
  6. CF720C Homework(构造)(暴力)
  7. 字符串:凯撒密码(洛谷P1914)
  8. P7854-「EZEC-9」GCD Tree【构造】
  9. AT2567-[ARC074C]RGB Sequence【dp】
  10. 牛客国庆集训派对day6TJ-DefenseTower【贪心】