2024年Web前端最全计算机组成原理学习笔记——控制器(1),高级前端工程师面试题2024

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

  • 控制单元发出一系列用于控制功能部件执行相关功能的操作信号,必须按一定顺序发出才能让机器有序地工作。
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 表示不操作。

  • 1

  • 2

  • 3

3)字段间接编码
  • 一个字段的某些微命令需由另一个字段中的某些命令来解释,因此称为字段间接编码,又称隐式编码。可进一步缩短微指令字长,但因为削弱了微指令的并行控制能力,因此通常作为字段直接编码方式的一种辅助手段。

5、微指令的地址形成方式

  • 后继微地址的形成主要有:

  • 1)直接由微指令的下地址字段指出。微指令中设置一个下地址字段,由微指令的下地址字段直接指出后继指令的地址,这种方式又称为断定方式

  • 2)根据机器指令的操作码形成。机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成。

  • 3)其他方法:

①增量计数器法,即(CMAR)+1→CMAR,适用于后继微指令的地址连续的情况。 ②根据各种标志决定微指令分支转移的地址。 ③通过网络测试形成。 ④由硬件直接产生微程序入口地址;电影加电后,第一条微指令的地址可由专门的硬件电路产生,也可由外部直接向 CMAR 输入微指令的地址,这个地址即为取指周期微程序的入口地址。

  • 1

  • 2

  • 3

  • 4

6、微指令格式

  • 微指令格式与编码方式有关,通常分为水平型微指令和垂直型微指令
1)水平型微指令
  • 直接编码、字段直接编码、字段间接编码和混合编码都属于水平型微指令,其基本指令格式如下:

在这里插入图片描述

  • 每一位都对应一个控制信号,1 表示有效,0 表示无效。优点是微程序短,执行速度快;缺点是微指令长,编写微程序较麻烦。
2)垂直型微指令
  • 采用类似机器指令操作码的方式,在微指令中设有操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,指令格式如下:

在这里插入图片描述

3)混合型微指令
  • 在垂直型基础上增加一些不太复杂的并行操作,具有微指令较短、便于编写、微程序短和执行速度快的特定。

  • 水平型微指令和垂直型微指令的异同:

读者福利

========

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

由于篇幅过长,就不展示所有面试题了,想要完整面试题目的朋友(另有小编自己整理的2024大厂高频面试题及答案附赠)


  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值