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

  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电脑中不太可能出现)。

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

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

相关文章

ENode 2.8 最新架构图简介

ENode架构图 什么是ENode ENode是一个.NET平台下,纯C#开发的,基于DDD,CQRS,ES,EDA,In-Memory架构风格的,可以帮助开发者开发高并发、高吞吐、可伸缩、可扩展的应用程序的一个应用开发框架。 开源项目地址:https://github.com/tang…

Hibernate注解(一)之持久化实体

翻译自 Hibernate Annotations1. 创建POJO作为持久化实体 每个持久化POJO类都是一个实体,并使用 Entity注解(在类级别)声明: Entity public class Flight implements Serializable {Long id;Idpublic Long getId() { return id;…

python请输入你的名字_实现《你的名字》同款滤镜,python+opencv

好久没有上简书,最近上来一看发现这篇文章阅读量远超了其他的文章,还有评论提到说在讲技术的时候卖萌不好。哈哈,当时写的时候完全没想过会有人搜到看,只是为自己的作品留个念想,所以文风比较散漫随意。于是这次来小修…

10.2-控制单元CU的微程序设计

【README】 1.本文总结自bilibili《计算机组成原理(哈工大刘宏伟)》的视频讲解,非常棒,墙裂推荐; 2.微指令:1条微指令就是多个bit位,如8个bit,每个bit位表示一种微操作&#xff1b…

微服务的误读与误解

微服务确实很受欢迎,但是对于微服务的误解也是事实,本文对这些误解一一来介绍下: 一、微服务不够“微”? 尽管微服务定义的很明确,但是开发者社区对它的解释却颇有争议,主要的一些问题如下: 1.它是否是单体架构的代表…

Hibernate注解(二)之映射简单的属性

翻译自 Hibernate Annotations2. 映射简单的属性 2.1.声明基本的属性映射每个非静态非瞬态属性(取决于访问类型的字段或方法)都被认为是持久性的,除非您将其注释为Transient。没有为您的财产注释等同于适当的 Basic注释。该Basic 注释允许…

进程与服务的签名_苹果app签名需要注意哪几点

现在部分的智能手机系统设备和工作一个应用软件,都需求证书的签名认证。未经任何签名的程序是不能在智能手机上设备和工作的。验证签名的底子进程则:智能手机操作系统或软件渠道对收到的原始数据选用相同的杂凑运算得到消息摘要,将与被签署时分的消息摘要…

8.4-中断系统

【README】 1.本文总结自bilibili《计算机组成原理(哈工大刘宏伟)》的视频讲解,非常棒,墙裂推荐; 2.采用一问一答的方式对中断进行总结(中断7问题),refer2 8.4-中断系统小结&…

ASP.NET Core的配置(1):读取配置信息

提到“配置”二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置信息定义在这两个文件之中。到了.NET Core的时候,很多我们…

EL调用java方法

一、jstl函数 jstl函数自定义二、调用方法的值成变量 第一种使用request对象 <% request.setAttribute(“isOperate”,isShowOperate()); %> 第二种使用标签变量 <c:set var"isOperate" value"<%isShowOperate()%>" />转换成变量使用<…

wordcloud python3.7_[原创]win7/64位系统+python3.7.2下安装wordcloud库失败之解决——一个莫名其妙的方法...

当前环境&#xff1a;win7/64位系统python3.7.2pip-19.2.1使用pip install wordcould安装时出现错误&#xff0c;提示&#xff1a;尝试方法①&#xff1a;考虑更换其他安装源提示没有变化&#xff0c;仍然提示没有找到分发版本-----------强行插入的分割线-------------------(…

1-计算机系统概论

【README】 本文总结自B站 《计算机组成原理&#xff08;哈工大刘宏伟&#xff09;》的视频讲解&#xff0c;非常棒&#xff0c;墙裂推荐&#xff1b; 【1.1】计算机软硬件概念 【1.2】计算机层次结构 【2】计算机基本组成 【2.1】冯诺依曼计算机特点&#xff08;重要*&#…

JetBrains 加入 .NET 基金会

在 BUILD 大会上&#xff0c;微软正式对外宣布&#xff0c;JetBrains 已经加入 .NET 基金会&#xff0c;详细情况可以查看 .NET Foundation 博客。 JetBrains 因为用户推荐、ReSharpe、ReSharper Ultimate 套件等原因&#xff0c;在 .NET 平台投入大量资源。而现在&#xff0c…

jstl中添加自定义的函数

转载自 jstl中添加自定义的函数由于jstl中提供的函数未必能够满足我们的要求&#xff0c;而我们又希望能够像jstl提供的函数那样能够轻松方便使用&#xff0c;那么可以通过自定义函数补充jsltl函数。给jstl添加自定义函数需要以下步骤&#xff1a;定义一个static的public的方…

多智能体强化学习_基于多智能体强化学习主宰星际争霸游戏

大家好&#xff0c;今天我们来介绍基于多智能体强化学习主宰星际争霸游戏这篇论文Grandmaster level in StarCraft II using multi-agent reinforcement learning​doi.org从Alphastar以后 利用强化学习的方法进行星际争霸2AI的又一大突破。Part1 前言游戏介绍(Introduction to…

2-计算机发展及应用

【README】 本文总结自B站 《计算机组成原理&#xff08;哈工大刘宏伟&#xff09;》的视频讲解&#xff0c;非常棒&#xff0c;墙裂推荐&#xff1b; 【1】计算机发展史 【1.1】计算机的产生和发展 【1.2】微型计算机的出现与发展 芯片上的晶体管的数量 与 cpu速度间 有没有关…

ASP.NET Core的配置(2):配置模型详解

在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式&#xff0c;其中涉及到三个重要的对象&#xff0c;它们分别是承载结构化配置信息的Configuration&#xff0c;提供原始配置源数据的ConfigurationProvider&#xff0c;以及作为“中间人”的ConfigurationBuilder。…

Mysql的安装与远程登录

一、安装 &#xff08;1&#xff09;linux版A.linux普通版http://www.jb51.net/article/104107.htmB.ubuntu版 1.安装 sudo apt-get install mysql-server apt-get isntall mysql-client sudo apt-get install libmysqlclient-dev2.设置密码cd /etc/mysql vi debian.cnf ,得…

sqlserver如何定义一个静态变量_[Bazel]自定义规则实现将多个静态库合并为一个动态库或静态库...

1 前言2 自定义规则实现2.1 规则功能2.2 实现规则的理论基础2.3 规则代码实现3 总结4 参考资料1 前言为了实现如标题所述的将多个静态库合并为一个动态库&#xff0c;内置的 Bazel 规则是没有这个功能的&#xff0c;Bazel C/C 相关的内置规则有&#xff1a;cc_binary &#xff…

(转)base64编码(严格说来,base64不算作加解密算法)

【README】 1.本文转自&#xff1a; Java base64加密解密 - xuwc - 博客园参考&#xff1a; https://www.cnblogs.com/luguo3000/p/3940197.html https://blog.csdn.net/jiahao1186/article/detailhttps://www.cnblogs.com/xuwc/p/14058183.htmlhttps://zh.wikipedia.org/wik…