CPU和微程序

news2024/11/25 4:48:17

目录

一、CPU功能和结构

(一)CPU的功能 

1. 指令控制

2. 操作控制

3. 时间控制

4. 数据加工

5. 中断处理

(二)CU和ALU的功能

1. CU(控制器)的功能

2. ALU(运算器)的功能

(三)CPU的结构组成

1. 通用寄存器

2. 专用寄存器

二、指令执行过程

(一)指令周期

(二)指令周期流程图

(三)周期数据流

1. 取值周期的数据流 

2. 间址周期的数据流

3. 中断周期的数据流

三、控制器

(一)控制器的结构

1. 控制器的输入和输出

2. 输入信号

3. 输出信号

四、微程序控制

(一)微程序控制单元

(二)微指令的编码方式

五、指令流水线

(一)流水线方式的特点

(二)影响流水线的因素

1. 结构相关

2. 数据相关

3. 控制相关


一、CPU功能和结构

(一)CPU的功能 

1. 指令控制

控制指令的执行、即完成取指令、分析指令、执行指令的操作

2. 操作控制

根据指令生成操作信号,并将其送入相应的部件,进而操作这些部件进行相应的操作

3. 时间控制

对各种操作加以时间上的控制

4. 数据加工

对数据进行算术逻辑运算

5. 中断处理

对计算机运行过程中的异常情况和特殊请求的处理

(二)CU和ALU的功能

1. CU(控制器)的功能

  • 取出指令,并指出下一条指令在主存中的位置
  • 对指令译码,产生相应的操作信号进而控制部件进行相应的动作
  • 指挥并控制CPU,主存和输入输出设备之间的数据流向

2. ALU(运算器)的功能

  • 执行算数和逻辑运算,并执行逻辑测试

(三)CPU的结构组成

CPU的寄存器

1. 通用寄存器

数量多,功能多,对用户可见,可以由程序编制;ACC(累加寄存器),是一个通用寄存器

例如:register int i=0

2. 专用寄存器

  • 程序计数器(PC)
  • 指令寄存器(IR)
  • 存储器数据寄存器(MDR)
  • 存储器地址寄存器(MAR)
  • 状态标志寄存器(PSWR)

二、指令执行过程

(一)指令周期

(二)指令周期流程图

(三)周期数据流

1. 取值周期的数据流 

 

2. 间址周期的数据流

3. 中断周期的数据流

三、控制器

(一)控制器的结构

1. 控制器的输入和输出

2. 输入信号

(1)时钟:

  • 完成每个操作都需要占用一定的时间
  • 各个操作之间有先后次序之分
  • 因此控制单元需要在时钟的控制下按照一定的顺序发出控制信号

(2)指令寄存器(IR):

  • 指令寄存器的操作码字段决定了指令的操作类型,因此是控制单元的输入信号

(3)标志:

  • 控制单元有时候需要根据CPU当前状态产生相应的控制信号,因此“标志”也是输入信号

(4)来自总线的控制信号,如中断请求等

3. 输出信号

(1)CPU内的控制信号

  • CPU内的数据传输,或控制ALU执行不同的运算等

(2)送至系统总线的信号

  • 控制主存读/写,I/O操作,中断响应等

四、微程序控制

(一)微程序控制单元

  • 微程序由许多微指令构成
  • 微程序来自一条将要执行指令的操作码,用一段微程序来描述这个操作码所对应的任务(一条机器指令对应一个微程序)

 

(二)微指令的编码方式

  • 包括:直接编码方式、字段直接编码方式、字段间接编码方式和混合编码方式
  • 混合编码方式就是在同一系统中混合使用前3种编码方式
  • 注:不论哪一种编码方式,都要留出一种状态表示不发控制信号(微命令) 

五、指令流水线

(一)流水线方式的特点

  • 把一个任务(一条指令或者操作)分解成几个不同的子任务,每个子任务有专门的部件来完成,靠多个部件并行工作来缩短指令执行的时间
  • 每个部件后边都有一个缓冲寄存器,叫锁存器,其作用是保存本流水段的结果,共给下一流水段用
  • 流水线中各子任务的完成耗时基本相同,否则将引起堵塞和断流
  • 只有连续不断的执行同一或者类型子任务时流水线才能有较好的效率
  • 流水线有装入时间排空时间,装入时间是第一个任务进入流水线到输出流水线的时间;排空时间是最后一个任务进入流水线到输出流水线的时间

 

(二)影响流水线的因素

1. 结构相关

  • 多条指令在同一时刻争用同一功能部件而形成的冲突称之为结构相关

2. 数据相关

  • 多条指令因重复操作,可能改变对操作数的读写访问顺序,从而导致了数据相关冲突

3. 控制相关

  • 主要由转移指令引起

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

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

相关文章

Greenplum高并发数据库概览

一、前言 GreenPlum DB(GPDB)是一个开源的高并发(MPP:massively parallel processing ) 数据处理平台,可用于海量数据分析,机器学习,AI场景,专为下一代数据仓库和大规模分析处理设计。 参考&am…

008-从零搭建微服务-系统服务(一)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue 源码地址(前端):https://gitee.com/csps…

【ArcGIS Pro二次开发】(33):合并文件夹下的所有shp文件

在工作中,即使很不喜欢用shp文件,但还是经常会收到shp格式的文件。关于shp文件的吐糟就不多说了,除了文件小、字段名长度限制,不能储存弧线段等问题,还有一种处理方式也让人很是难受。 如上图,有些shp文件是…

挂起、激活单个流程实例

类:com.roy.ActivitiBusinessDemo/*** 挂起、激活单个流程实例*/Testpublic void suspendSingleProcessInstance(){ // 1、获取流程引擎ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine(); // 2、RuntimeServiceRuntimeService…

Flowable开始事件-空开始事件

文章目录 空开始事件一、开始事件的定义1、图形标记2、XML内容3、使用示例 总结 空开始事件 利用空开始事件发起流程 一、开始事件的定义 空开始事件意味着没有指定启动流程实例的触发条件。它是最常见的一种开始事件,一般需要人工启动或通过api启动 1、图形标记…

最系统的网络安全自学笔记+学习路线(超详细)

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

职场工作的前提

职场工作 目录概述需求: 设计思路实现思路分析1.职场工作 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge Survive.…

自动攻丝机(比例随动控制应用)

比例随动控制的详细介绍,可以参看下面的文章链接: 运动控制比例随动系统_RXXW_Dor的博客-CSDN博客PLC如何测量采集编码器的位置数据,不清楚的可以参看我的另一篇博文:三菱FX3U PLC高速计数器应用(附代码)_RXXW_Dor的博客-CSDN博客本文主要以三菱FX3U系列的高速计数为例来…

数据库期末复习(9.1)故障恢复到检查点之前

故障的分类 事务故障 系统故障 存储介质故障 只能通过故障来实现. 故障恢复 缓冲池策略 STEAL和FORCE策略:具体内容见课件。 为啥要使用steal和force两种策略 原因:如果不用steal策略 缓冲区就会有大量的脏页,如果使用not force策略 由于对同一个对…

R语言多线程提高计算速度,如何使用foreach包加速并行计算

R语言多线程加速 通常情况下,R语言只能使用一个线程来进行计算,因此计算的速度及其感人! 最近刚好有一个需求:我有一个参考数据表,里面存放了30万条基因的名称和位置信息,现在我想从里面找到指定的6000个基…

C++程序员的待遇怎么样?我来谈谈学好C++的五个关键点

有个学弟跟我谈到这样一个问题:现在我看到网上很多人都在讲,说这个做C程序员,尤其是本科毕业计算机专业,然后步入社会之后就能拿到月入过万。但是为什么自己找的这个工作啊,普遍在月薪六七千块钱左右,也就是…

一图看懂 werkzeug 模块:是一个全面的WSGI web应用程序库,最先进的WSGI实用程序库之一,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 werkzeug 模块:是一个全面的WSGI web应用程序库,最先进的WSGI实用程序库之一,资料整理笔记(大全) 🧊…

强连通分量-tarjan算法缩点

一. 什么是强连通分量? 强连通分量:在有向图G中,如果两个顶点u,v间(u->v)有一条从u到v的有向路径,同时还有一条从v到u的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每…

Linux - 第24节 - Linux高级IO(二)

1.I/O多路转接之select 1.1.select初识 select是系统提供的一个多路转接接口。 • select系统调用可以让我们的程序同时监视多个文件描述符的上的事件是否就绪。 • select的核心工作就是等,当监视的多个文件描述符中有一个或多个事件就绪时,select才会…

Selenium Python 自动抓取个股数据

Selenium是广泛使用的开源Web UI(用户界面)自动化测试套件之一。支持Chrome, Edge, Firfox等常见浏览器,Selenium Python库也是python对web应用进行自动化测试的非常有用的工具。 Selenium 还适合用于抓取Javascript 动态网页数据。 本文演…

Spring Bean、XML方式Bean配置、Bean实例化配置、Bean注入

文章目录 Bean管理一、SpringBoot Bean 初了解1.1 了解1.2 Bean的作用域1.2.1 注意事项 1.3 第三方Bean 二、 基于XML方式Bean的配置2.1 SpringBean配置概览2.2 bean id class 配置2.3 bean name 别名配置2.4 bean scope 作用范围2.5 bean 延迟加载2.6 bean 初始化与销毁方法配…

数据结构中的顺序表的实现

文章目录 前言一、初识数据结构二、顺序表的实现(类型一)1.顺序表的头文件2.顺序表的实现 三、顺序表的实现(类型二)1 顺序表头文件2 顺序表的实现 四、线性表(顺序表)的缺点总结 前言 本期就进入到我们数据…

[前端语法]js原型链有关的继承问题

深夜反而思维更活跃一些 (1)js中的原型链 js中存在一个名为原型链的机制,其特点如下 加入一个方法A,A方法一个属性为prototype,这个属性会指向某个对象,也成为A类对象的原型对象. 当我们根据A这个方法生成一个对象a,那么a的原型(proto)属性即为这个对象 a可以调用一些原型…

【cropperjs】优秀、优雅的前端图片裁剪库

下载 npm i cropperjsnpm官网- https://www.npmjs.com/package/cropperjs cropperjs关键参数 aspectRatio 图片裁剪比例 默认值 :NaN作用:图片裁剪比例值:自定义裁剪比例,例如1 / 1 , 4 / 3 , 16 / 9等 viewMode 裁剪模式 默认…

代码随想录算法训练营第二十七天| 39. 组合总和、 40.组合总和II、 131.分割回文串

组合总数 题目链接:力扣 这题和之前题目的区别在于,本题没有数量要求,可以无限重复的取某一元素,但是对元素的总和有限制,这就说明了递归的限制不在于层数,而是选取元素的总和超过target就返回 终止条件为…