-
5、微指令的地址形成方式
-
6、微指令格式
-
- 1)水平型微指令
-
2)垂直型微指令
-
3)混合型微指令
-
7、微程序控制单元的设计
-
- 7.1、动态微程序设计和毫微程序设计
-
- 1)动态微程序设计
-
2)毫微程序设计
1、结构
- 计算机硬件系统的五大功能部件通过
数据总线、地址总线和控制总线
连接在一起,如下图:
1)运算器部件通过数据总线
与内存储器、输入设备和输出设备传送数据
。
2)输入设备和输出设备通过接口电路与总线
相连。
3)内存储器、输入设备和输出设备从地址总线
接收地址信息,从控制总线
得到控制信号,通过数据总线
与其他部件传输数据。
4)控制器部件从数据总线
接收指令信息,从运算器部件接收转移指令地址,送出指令地址到地址总线,并向其他部件提供运行所需的控制信号。
2、功能
- 控制器作为计算机系统的指挥中心,其主要功能有:
1)从主存中取出指令
和指出下一条指令的地址
。
2)进行指令译码、测试
,产生对应的控制信号
。
3)指挥并控制 CPU、主存、I/O之间的数据流
。
-
硬布线控制器的基本原理是根据指令的要求、当前的时序和外部及内部状态,
按时间顺序
产生一系列微操作控制信号
。通常由复杂的组合逻辑门电路和一些触发器构成,因此又称组合逻辑控制器
。 -
硬布线控制单元图如下:
- 指令操作码是决定控制单元发出控制信号的关键,
CU 的输入信号来源
:
1)经指令译码器
译码产生的指令信息。
2)时序系统
产生的机器周期信号和节拍信号。
3)来自执行单元
的反馈信息(标志)。
4)来自控制总线
的控制信号(中断请求等)。
1、硬布线控制器的时序系统及微操作
1)时钟周期
- 用
时钟信号控制节拍发生器
产生宽度为一个时钟周期的节拍。
2)机器周期
- 通常以
存取周期作为基准时间
,即内存中读取一个指令字的最短时间作为机器周期。
3)指令周期
- 一条指令从主存取出到执行完成的时间。
4)微操作命令分析
- 控制单元发出一系列用于
控制功能部件
执行相关功能的操作信号
,必须按一定顺序发出才能让机器有序地工作。
1.1、微操作命令
一条指令分为 3 个工作周期:取指、间址和执行
,每个周期地微操作命令:
2、CPU 控制方式
- 主要有
同步控制、异步控制和联合控制
三种控制方式。
1)同步控制
- 指系统有一个
统一的时钟
,所有控制信号均来自这个统一的时钟信号;通常以最长的微操作序列和最繁琐的微操作为标准
,采取完全统一的、具有相同时间间隔和相同数目的节拍作为机器周期来运行不同指令。优点是电路简单
,缺点是速度慢
。
2)异步控制
- 指
不存在基准时标信号
,各部件按自身固有的速度工作
,通过应答方式联络
;优点是运行速度快
,缺点是控制电路复杂
。
3)联合控制
- 是
同步控制、异步控制的折中
,对不同指令的微操作实行大部分采用同步控制、小部分采用异步控制的方法。
3、设计步骤
-
硬布线控制单元设计步骤包括:
-
1)列出微操作的
操作时间表
。先根据微操作节拍安排,列出微操作命令的操作时间表,操作时间表包括各个机器周期、节拍下每条指令完成的微操作控制信号。 -
2)进行为
操作信号综合
。根据微操作时间表进行综合分析、归类,写出各微操作控制信号的逻辑表达式并进行适当简化;表达式一般包括下列因素:
微操作控制信号=机器周期∧节拍∧脉冲∧操作码∧机器状态条件
经过化简、整理得出用现有门电路实现的微操作命令逻辑表达式。
- 3)画出
微操作命令的逻辑图
。根据逻辑表达式画出对应每个微操作信号的逻辑电路图,并用逻辑门电路实现。
- 微程序控制器通过
将微操作信号代码化,使每条机器指令转化为一段微程序并存放在专门的控制存储器,微操作控制信号由微指令产生
;因此,微程序控制用存储逻辑实现。
1、基本概念
-
微程序设计思想:
将每条机器指令编写成一个微程序,每个微程序包含若干微指令,每条微指令对应一个或几个微操作命令
。 -
微程序设计技术相关术语:
1)微命令和微操作
-
一条机器指令可分解为一个微操作序列,而微操作是计算机中最基本、不可再分的操作。
-
在微程序控制的计算机中,将
控制部件向执行部件发出的各种控制命令称为微命令
。 -
微命令的相容性:
指那些可以同时产生、共同完成某一些微操作的命令
。 -
微命令的互斥性:
指在机器中不允许同时出现的微命令
。 -
微命令的相容与互斥是相对的,不是绝对的。
2)微指令与微周期
-
微指令:
若干微命令的集合
,存放微指令的控制存储器的单元地址称为微地址;一条微指令包括:操作控制字段(操作码字段),用于产生某一步操作所需的各种操作信号;顺序控制字段(微地址码字段),用于控制产生下一条要执行的微指令地址
。 -
微周期:
指从控制存储器中读取一条微指令并执行相应微操作所需的时间
。
3)主存储器与控制存储器
- 主存储器用于
存放程序和数据
,位于 CPU 外部,用 RAM 实现;控制存储器(CM)用于存放微程序
,在 CPU 内部,用 ROM 实现。
4)程序与微程序
- 程序是
指令的有序集合
,用于完成特定的功能;微程序是微指令的有序集合
,一条指令的功能由一段微程实现
。微程序用于描述机器指令,是机器指令的实时解释器,由计算机设计者事先编制好并存放在控制存储器中,一般不提供给用户
;程序由机器指令组成,由软件设计人员事先编制好并存放在主存或辅存中。
2、微程序控制器的结构
- 相比组合逻辑控制器,微程序控制器多了控制存储器、微指令寄存器、微地址形成部件和微地址寄存器。
①控制存储器
微程序控制器的核心,存放各指令对应的微程序,用 ROM 制作
。
②微指令寄存器
存放从控制存储器取出的微指令,位数同微指令字长
。
③微地址形成部件
用于产生初始微地址和后继微地址,为在控制存储器中读取微指令做准备
。
3、微程序控制器工作过程
①取微指令
- 执行取微指令公共操作,在机器开始运行时,将
取指微程序入口地址(一般为 0 号单元)
送入 CMAR,并从 CM 读取相应微指令送入 CMDR。
②翻译微指令
- 指
解析微指令的操作码字段
,通过微地址形成部件产生该机器指令对应的微程序的入口地址,并送入 CMAR。
③执行
-从 CM 中逐条取出对应微指令并执行
。
④为下一个执行准备
-
指执行完当前机器指令对应的微程序后,回到取指微程序入口地址,继续第①步操作
。 -
由于任何机器指令的取指令操作都是相同的,故而将取指令操作的微命令统一编成一个微程序,该微程序只负责从主存单元取出指令并送到指令寄存器。
若指令系统中有 n 种机器指令,则控制存储器种的微程序数量至少是 n+1.
4、微指令的编码
- 指如何
对微指令的控制字段进行编码
,以形成控制信号;编码的目标是在保证速度的情况下,尽量缩短微指令字长
。
1)直接编码
- 又叫
直接控制方式
,此方式下无须进行译码
,微指令中的每一位都代表一个微命令
;设计微指令时,选用某个微命令则只需将对应位设置成 1,反之则反。
优点是简单、直观,执行速度快,操作并行性好;缺点时微指令字长容易过长,n 个微命令则微指令就得有 n 位,造成控制存储器容量极大。
2)字段直接编码方式
将微指令的微命令字段分成若干小字段,把互斥性微命令组合在同一字段中,把相容性微命令组合在不同字段中
,每个字段独立编码,每种编码对应一个微命令且个字段编码含义单独定义,与其他字段无关,如下图:
- 优点是缩短微指令字长,缺点就是速度较直接编码慢,因为需要经过译码电路后再发出微命令。微命令分段原则如下:
①互斥性微命令再同一段内,相容性的不同段; ②每个小段包含的信息位不能太多,否则增加译码线路的复杂性和译码时间; ③一般每个小段要留出一个状态,表示本字段不发出任何微命令。因此,但某字段为 3 位,则最多只能表示 7 个互斥的微命令,通常 000 表示不操作。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
总结
三套“算法宝典”
算法刷题LeetCode中文版(为例)
人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。
最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!
由于篇幅有限,下篇的面试技术攻克篇只能够展示出部分的面试题,详细完整版以及答案解析,有需要的可以关注
三套“算法宝典”
算法刷题LeetCode中文版(为例)
人与人存在很大的不同,我们都拥有各自的目标,在一线城市漂泊的我偶尔也会羡慕在老家踏踏实实开开心心养老的人,但是我深刻知道自己想要的是一年比一年有进步。
最后,我想说的是,无论你现在什么年龄,位于什么城市,拥有什么背景或学历,跟你比较的人永远都是你自己,所以明年的你看看与今年的你是否有差距,不想做咸鱼的人,只能用尽全力去跳跃。祝愿,明年的你会更好!