计算机组成原理与系统结构——微程序控制

news/2024/12/16 2:11:07/

笔记内容及图片整理自XJTUSE “计算机组成原理与系统结构” 课程ppt,仅供学习交流使用,谢谢。

基本概念

微指令

将控制单元实现为基本逻辑单元之间的互连并非易事,且设计相对呆板,难以灵活地改变,因此实现微程序控制单元是一种替代方法。实际上,它是一种编程语言,称为微程序语言,每一行描述一组同时发生的微操作,称为微指令。指令序列称为固件,即介于硬件与软件间的微程序,用固件设计比用硬件设计更容易,但代码开发工作更困难。

使用微程序实现一个控制单元具有以下步骤:

1)对于每个微操作,控制单元所做的是生成一组控制信号

2)对于任何微操作,从控制单元发出的每条控制线要么是打开要么是关闭,用二进制表示

3)每个微操作都有一个控制字,其中的每一位都代表一条控制线

微指令具有以下类型:

垂直微指令——每条微指令指定要执行的单个或少数多个微操作

水平微指令——每条微指令指定要并行执行的许多不同的微操作

在控制存储器中安排微指令具有以下步骤:

1)每个例程中的微指令要按顺序执行

2)每个例程都以一个分支或跳转指令结束,以指示下一步要去哪里

3)存在一个特殊执行周期例程,以表示接下来要执行的取决于当前操作码的机器指令例程

微程序控制单元

控制存储器包含描述控制单元行为的程序,因此只需要执行这个程序就可以实现控制单元。下图显示了控制单元的关键要素:

1)控制存储器——存储微指令集

2)控制地址寄存器——包含下一条要读取的微指令的地址

3)控制缓冲寄存器——接收一条从控制存储器中读出的微指令

4)排序逻辑单元——加载控制地址寄存器并发出读命令

细化的功能单元具有以下功能(在同一时钟脉冲周期中发生):

1)为了执行一条指令,排序逻辑单元向控制存储器发出READ命令

2)控制地址寄存器指定地址中的字被读进控制缓冲寄存器

3)控制缓冲寄存器的内容生成控制信号以及排序逻辑单元的下一个地址信息

4)排序逻辑单元根据来自控制缓冲寄存器的下一个地址信息,结合ALU标志,把新的地址加载到控制地址寄存器,具体方法将从以下三个决定中选择:

A)获取下一条指令——控制地址寄存器加1

B)跳转到基于跳转微指令的新例程——控制缓冲寄存器的地址字段加载到控制地址寄存器

C)跳转到机器指令例程——根据IR中的操作码加载控制地址寄存器

微程序的目前应用包括以下几类:

1)实现计算机——实现计算机的基本功能

2)仿真——在一台机器上使用微程序来执行最初为另一台机器编写的程序

3)操作系统支持——实现基元

4)实现专用设备——实现专用设备的专用功能

5)高级语言支持——固件中实现的功能和数据类型

6)微校验——监控、检测、隔离、修复系统错误

7)用户定制——一些机器提供可写入存储和易于使用的微指令集,允许用户编写微程序

优缺点

微程序的主要优点是简化控制单元的设计,成本更低也不易出错。硬连线控制单元必然包含复杂逻辑,以通过指令周期的多个微操作进行排序;另一方面,微程序控制单元的译码器和排序逻辑单元也是非常简单的逻辑组件。微程序的主要缺点是它的速度比硬连线单元慢。

由于易于实现,微程序在纯CISC架构中仍是实现控制单元的主要技术。RISC架构的处理器指令格式更简单,它通常使用硬连线控制单元。

微指令排序

微指令控制单元要实现如下两个基本任务:

1)微指令排序——从控制存储器获取下一条微指令

2)微指令执行——生成执行微指令所需的控制信号

设计控制单元时,两个任务必须一起考虑,因为它们都会影响微指令格式和控制单元时序。

设计注意事项

微指令排序技术涉及微指令大小和地址生成时间两个问题。第一个问题,最小化控制存储器会降低组件的成本;第二个问题,需要尽可能执行微指令。

执行微程序时,下一条要执行的微指令的地址有以下几种类别:

1)由指令寄存器决定——在获取指令后,一个周期一次

2)下一个顺序地址——在大多数设计中很常见

3)分支——分为条件分支和无条件分支,通常每3-4条微指令中有一条分支

微指令执行

微指令周期是微程序处理器的基本事件。每个周期由取指(由微指令地址生成决定)和执行(产生控制信号)两个部分组成。其中一些信号控制点位于处理器内部,其余则连接到外部控制总线或其他接口。常见的微指令分类法包括垂直/水平、压缩/非压缩、硬微/软微编程、直接/间接编码。


http://www.ppmy.cn/news/1555466.html

相关文章

计算机网络技术基础:2.计算机网络的组成

计算机网络从逻辑上可以分为两个子网:资源子网和通信子网。 一、资源子网 资源子网主要负责全网的数据处理业务,为全网用户提供各种网络资源与网络服务。资源子网由主机、终端、各种软件资源与信息资源等组成。 1)主机 主机是资源子网的主要…

爬虫基础之Web网页基础

网页的组成 网页可以分为三大部分–HTML、CSS 和 JavaScript。如果把网页比作一个人,那么 HTML 相当于骨架、JavaScript 相当于肌肉、CSS 相当于皮肤,这三者结合起来才能形成一个完善的网页。下面我们分别介绍一下这三部分的功能。 HTML HTML(Hypertext…

一些常见网络安全术语

1、黑帽 为非法目的进行黑客攻击的人,通常是为了经济利益。他们进入安全网络以销毁,赎回,修改或窃取数据,或使网络无法用于授权用户。这个名字来源于这样一个事实:老式的黑白西部电影中的恶棍很容易被电影观众识别&…

自适应卡尔曼滤波(包括EKF、UKF、CKF等)的创新思路——该调什么、不该调什么

在调节自适应卡尔曼滤波时,需要注意的参数和矩阵都对滤波器的性能有直接影响。本文给出详细的说明,包括相关公式和 MATLAB 代码示例 文章目录 需要调节的参数1. **过程噪声协方差矩阵 Q Q Q**:2. **测量噪声协方差矩阵 R R R**:…

安装一个tensorflow 1X 版本

1. 查询版本对应 2.创建虚拟环境,激活虚拟环境 conda create -n tensor110 python3.63. 安装tensorflow1.10 pip install tensorflow1.10

调试 Simple RNN 环境及解决依赖冲突问题的总结

调试 Simple RNN 环境及解决依赖冲突问题的总结 摘要 在深度学习领域,Simple RNN(简单循环神经网络)是一种常用于序列建模的基础网络结构。然而,由于其对环境配置的依赖较强,实际运行中可能因依赖冲突导致代码无法正…

发现一个对话框中的按钮,全部失效,点击都没有任何反应,已经解决

前端问题,技术vue2,ts。 发现一个对话框中的按钮,全部失效,点击都没有任何反应。 因为我只在template标签中加入下面这个代码,并没有注册。 只要有一个子组件没有注册,就会影响所有的按钮,使当前…

解决阿里云轻量级服务器 Ubuntu 24.04.1 LTS 没网也 ping 不通 8.8.8.8 以及 route -n 没有输出任何转发信息

事情发生在两天前,位于公网的阿里云轻量级服务器(Ubuntu 24.04.1 LTS)忽然没网。主要是上次上服务器进行配置已经是一个多月前,最近也没有做什么事情,就忽然没网了,让人纳闷。更主要的是,上次备…