【计算机组成原理与体系结构】控制器

news2024/11/21 2:24:27

目录

一、CPU的功能与基本结构

二、指令周期的数据流

三、数据通路

四、硬布线控制器

五、微程序控制器

六、微指令


一、CPU的功能与基本结构

运算器基本结构

控制器基本结构

CPU的基本结构

二、指令周期的数据流

取址周期

间址周期

 

中断周期

指令周期流程

三、数据通路

CPU内部单总线结构

专用数据通路

四、硬布线控制器

  • 原则一:微操作的先后顺序不得随意更改
  • 原则二:被控对象不同的微操作,尽量安排在一个节拍内完成
  • 原则三:占用时间较短的微操作,尽量安排在一个节拍内完成,并允许有先后顺序

硬布线控制器特点:

  • 指令越多,设计和实现就越复杂,因此一般用于RISC(精简指令集系统)
  • 如果扩充一条新指令,则控制器的设计就需要大改,因此扩充指令困难
  • 由于使用纯硬件实现控制,因此执行速度很快。微操作控制信号由组合逻辑电路即时产生

五、微程序控制器

程序:由指令序列组成

微程序:由微指令序列组成,每一种指令对应一个微程序

 

指令是对程序执行步骤的描述

微指令是对指令执行步骤的描述

 

设计思想:采用“存储程序”思想,CPU出厂前将所有指令的“微程序”存储“控制器存储器”中

微命令与微操作一一对应

微指令中可能包含多个微命令

微程序控制器基本结构

 

六、微指令

相容性微命令:可以并行完成的微命令

互斥性微命令:不允许并行完成的微命令

水平型微指令设计

微指令的地址形成方式:

  1. 微指令的下地址字段指出:微指令格式中设置一个下地址字段,由微指令的下址字段直接指出后继微指令的地址,这种方式又称为断定方式。
  2. 根据机器指令的操作码形成:当机器指令取至指令寄存器后,微指令的操作由操作码经微地址形成部件形成。
  3. 增量计数器法:(CMAR)+1   ->   CMAR
  4. 分支转移:转移方式指明判别条件,转移地址指明转移成功后的地址
  5. 通过测试网络:通过内部的一些特定的电路来决定接下来应该执行的微指令地址
  6. 由硬件来直接产生微程序入口地址:由专门的硬件来记录取指周期首地址和中断周期首地址

微指令下址字段的设计

  • 微指令中下址字段的结构和后继微指令地址的形成方法有关,又称为微程序流的控制。
  • 判定方式产生后继微指令地址可由设计者指定或设计者指定的测试判别字段控制产出。
  • 测试判别字段的位数取决于测试源的个数。
  • 微指令寄存器的下址字段的位数取决于控制存储器的容量。

硬布线控制器与微程序控制器对比

 

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

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

相关文章

微信云开发

微信云数据库 快速开始:小程序/小游戏 | 微信开放文档 (qq.com) 首先微信云开发需要一个真实小程序的 AppID,而不能使用测试号。 然后点击这个开通云开发 云的环境大概是这样的 首先我们要初始化 否则会像这样,报错 写在app.js的 onLaunc…

LearnOpenGL-高级OpenGL-11.抗锯齿

本人初学者,文中定有代码、术语等错误,欢迎指正 文章目录 抗锯齿多重采样锯齿产生原因多重采样方式 OpenGL的MSAA例子:提示GLFW离屏MSAA例子1:多重采样帧缓冲传送到屏幕上例子2:采样多重采样帧缓冲的纹理缓冲与后期效果…

【华为OD统一考试B卷 | 100分】太阳能板最大面积(C++ Java JavaScript Python)

题目描述 给航天器一侧加装长方形或正方形的太阳能板(图中的红色斜线区域),需要先安装两个支柱(图中的黑色竖条),再在支柱的中间部分固定太阳能板。 但航天器不同位置的支柱长度不同,太阳能板的安装面积受限于最短一侧的那根支柱长度。如图: 现提供一组整形数组的支柱高…

chatgpt赋能python:如何升级你的Python到最新版本

如何升级你的Python到最新版本 Python作为一种强大的编程语言,拥有广泛的用途,从网站开发到数据科学,都可以使用它来实现。然而,Python不断更新,每个新版本都带来了新的功能和改进,因此升级Python到最新版…

二叉树概念(二)

平衡二叉树 AVL树(Adelson-Velsky 和 Landis) 左子树和右子树的高度之差的绝对值小于等于1 C++ 中,可以直接使用 std::set 类作为平衡二叉树;Java 中,可以直接使用 TreeSet。在 Python 中,没有内置的库可以用来模拟平衡二叉树。 力扣 红黑树 (Red-Black Tree) 是一种二…

Shell脚本数组简介及运用

目录 一、数组简介 二、数组支持的数据类型 三、定义数组 四、获取数组某个索引处的值 五、遍历数组元素 六、获取数组长度 七、截取数组元素 八、数组的元素替换 1.临时替换 2.永久替换 九、删除元素或数组 十、数组追加元素 1.满元素数组追加 2.非满元素数组追…

【模块三:职业成长】39|能力维度四:如何从做技术到为企业创造生存优势?

你好,我是郭东白。今天这节课是架构师能力维度的第四部分,我们来继续探索架构师成长过程的能力跃迁。不过今天我们会连续讲两个跃迁:从跨域架构师到总架构师(首席架构师)的跃迁;从总架构师再到 CTO 的跃迁。…

浅尝 xen 虚拟化

前言 之前分享过使用 oVirt 部署私有虚拟化环境, oVirt 是基于 KVM 虚拟化开发了一系列的管理工具, 以 Web Console /CLI 的方式交付使用. 今天记录和分享的是在 VMware Workstation 中使用 Alpine 作为基础操作系统部署 xen 虚拟化环境的简单测试. xen 基本概念 xen 可以理…

chatgpt赋能python:Python的发音

Python的发音 Python是一种广泛使用的编程语言,用于web开发、数据分析、科学计算等众多领域。然而,Python这个词汇的发音在不同的地方却存在差异。在本文中,我们将介绍Python的发音,解决大家的困惑。 发音方式 Python在英语中常…

【数学建模系列】TOPSIS法的算法步骤及实战应用——MATLAB实现

文章目录 TOPSIS简介方法和原理数学定义数学语言描述现实案例 正负理想解定义实例 量纲 TOPSIS法的算法步骤1.用向量规范化的方法求得规范决策矩阵2.构成加权规范阵C(c~ij~)~m*n~3.确定正负理想解的距离4.计算各方案到正理想解与负理想解的距离5.计算各方案的综合评价指数6.排列…

STM32源码阅读记录之HAL库(SystemTick)

问题 HAL_Delay是怎么做到可以延迟控制的? 分析记录 步骤01:看函数本身 void HAL_Delay(uint32_t Delay); /*** brief 此函数根据变量递增提供最小延迟(以毫秒为单位)。* note 在默认的实现中,SysTick计时器是时基的来源。它用…

【Leetcode -225.用队列实现栈 -232.用栈实现队列】

Leetcode Leetcode -225.用队列实现栈Leetcode -232.用栈实现队列 Leetcode -225.用队列实现栈 题目:仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 …

chatgpt赋能python:Python实践:如何升级pip

Python实践:如何升级pip Python作为一门高效的脚本语言,被广泛应用于数据分析、人工智能、Web开发等领域。而pip则是Python的包管理工具,是开发Python应用的必备工具。但是pip在使用过程中,有时候会出现版本不兼容或者出现漏洞等…

chatgpt赋能python:Python取两位小数的方法

Python取两位小数的方法 介绍 Python是一种高级编程语言,因其简洁易懂、跨平台等特点,被广泛应用于科学计算、数据分析、网站开发、人工智能等领域。在编写Python程序时,我们经常需要将浮点数精确到小数点后几位,比如精确到两位…

【0基础教程】Javascript 里的分组正则Capturing Groups使用方法及原理

一、从最简单开始 现有一个字符串: “1-apple” 需要提取出 1 和 apple 来,对应的正则表达式很简单: ^(\d)-(.)$ 对应的代码也比较简单: const str "1-apple"const regexp /^(\d)-(.)$/let match regexp.exec(str)c…

chatgpt赋能python:Python如何升序输出?从入门到实践!

Python如何升序输出?从入门到实践! 作为一门高级编程语言,Python是目前应用广泛且最为流行的一门语言之一。它逐渐成为开发者的首选语言,因为它易学易用,可读性强,支持多种编程范式,提供了强大…

chatgpt赋能python:如何升级Python的pip版本

如何升级Python的pip版本 如果你使用Python来进行程序开发,那么你一定需要用到pip,它是Python的包管理器,用于安装和管理各种Python库。 不过,一旦你开始使用pip,你可能会遇到一个问题:你的pip版本可能会…

软考A计划-系统架构师-学习笔记-第二弹

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

前端vue基于原生check增强单选多选插件

前端vue基于原生check增强单选多选插件, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id12979 效果图如下: #### 使用方法 使用方法 <!-- 多选组件 checkData&#xff1a;多选数据 change&#xff1a;多选事件 --> <ccCheckView…

FreeRTOS:软件定时器

目录 前言什么是硬件定时器什么是软件定时器 一、回调函数二、定时器的配置2.1软件定时器分类2.2定时器相关API函数2.2.1创建软件定时器2.2.2开启软件定时器2.2.3停止软件定时器2.2.4复位软件定时器 三、软件定时器实验3.1实验要求3.2实验代码 前言 什么是硬件定时器 CPU内部…