带学妹学CPU的结构和功能

带学妹学CPU的结构和功能本节主要分析 CPU 的功能和内部结构 详细讨论机器完成一条指令的全过程 CPU 内部的各种寄存器 指令流水技术 中断系统 目录 CPU 的结构 CPU 的功能 控制器 取指令 分析指令 执行指令 CPU 的结构 CPU 的寄存器 一是用户可见寄存器 二是控制和状态寄存器 控制单元和中断系统

大家好,我是讯享网,很高兴认识大家。

本节主要分析CPU的功能和内部结构,详细讨论机器完成一条指令的全过程。

CPU内部的各种寄存器

指令流水技术

中断系统

目录

CPU的结构

CPU的功能

控制器

取指令

分析指令

执行指令

CPU的结构

CPU的寄存器 

一是用户可见寄存器

二是控制和状态寄存器

控制单元和中断系统

指令周期

指令周期是什么

指令周期的数据流

取指周期的数据流

间址周期的数据流

执行周期的数据流

中断周期的数据流

指令流水

指令流水原理

指令的二级流水

影响流水线性能的因素

流水线性能

吞吐率

加速比

效率

流水线中的多发技术 

超标量技术

超流水线技术

超长指令字技术

流水线结构

指令流水线结构

运算流水线

中断系统

中断的概念

引起中断的各种因素

中断系统需解决的问题

中断请求标记和中断判优逻辑

中断请求标记

中断判优逻辑

中断服务程序入口地址的寻址

中断响应

中断周期内的工作原理

保护现场和恢复现场

中断屏蔽技术


CPU的结构

CPU的功能

CPU=运算器+控制器

控制器

计算机工作原理:一旦程序进入存储器后,就可由计算机自动完成取指令和执行指令的任务。

控制器就是专门帮助计算机完成指令和执行指令的,主要负责协调并控制计算机各部件执行程序的指令序列。

控制器功能:取指令、分析指令、执行指令

取指令

控制器必须具备自动从存储器中取出指令的功能

分析指令

分析两部分:一是分析指令要完成什么操作功能、二是分析操作数的地址

执行指令

根据分析指令产生的操作命令和操作数地址的要求,形成操作控制信号序列,通过对运算器、存储器、I/O设备的操作,执行每一条命令

CPU的结构

四大部分组成:ALU、寄存器、中断系统、CU


讯享网

CPU的寄存器 

一是用户可见寄存器

通用寄存器:可用于存放操作数、也可用于寻址方式所需的寄存器(基址寻址、变址寻址)

数据寄存器:用于存放操作数

地址寄存器:用于存放地址

条件吗寄存器:用于存放条件吗

二是控制和状态寄存器

该类寄存器用于控制CPU的操作和运算,以下是四大寄存器:

MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址

MDR:存储器数据寄存器,用于存放欲放入存储器中的数据或从存储器中读出的数据

PC:程序计数器,存放现行指令的地址

IR:指令寄存器,存放当前欲执行的指令

通过以上四个寄存器,CPU和主存可以交换信息。

控制单元和中断系统

控制单元CU:是为CPU提供全部指令操作的微操做命令序列部件

中断系统:用于处理计算机的各种中断

指令周期

指令周期是什么

指CPU完成一条指令的时间,CPU每取出并执行一条指令所需的全部时间称为指令周期

指令周期=指令周期+间址周期+执行周期+中断周期

FE取指周期:取指令

IND间址周期:取有效地址

EX执行周期:取操作数

INT中断周期:保存程序短点

指令周期的数据流

指每条指令在指令周期内的运行过程

取指周期的数据流

首先PC中存放的是当前指令的地址,该地址送到MAR并送至地址总线,然后控制单元CU向主存发出读命令,使对应MAR所指单元的内容经数据总线送至MDR,再送至IR,并且CU控制PC内容加1,形成下一条指令的地址。

间址周期的数据流

一旦取指周期结束,CU便检查IR中的内容,以此确定是否有间址操作,如果需要间址操作,则MDR中指示的形式地址将被送至MAR,又送至地址总线,CU向主存发出读命令,获取有效地址并存到MDR

执行周期的数据流

由于不同的指令操作不同,执行周期的数据流多种多样

中断周期的数据流

中断:暂停当前任务去完成其他任务,为了能够恢复当前任务,需要保存断点

进入中断周期时,PC中当前的内容必须保持起来,即把内容写入主存,等待执行完中断服务程序后再把内容读取回来,继续中断前的指令。

CU把用于保存程序断电的存储器特殊地址送到MAR,并送至地址总线,然后CU向主存发出写命令,并将PC的内容送到MDR,使程序断点经过数据总线存入主存中,CU继续将中断服务程序的入口地址送至PC,为下一个指令周期的取指周期做好准备。

指令流水

作用是提高数据的处理能力、开发系统的并行性

指令流水原理

指令流水类似于工厂的装配线,在不同的装配段上对不同的产品进行加工

指令流水:把完成一条指令分为许多阶段,把指令的处理过程分为取指令、执行指令两个阶段。每条指令按顺序串执行。

指令的二级流水

问题来源:如上图如果一个一个的进行执行,肯定会浪费了很多资源,如当指令部件工作时,执行部件是空闲的,而执行部件工作时,指令部件基本空闲。

如果在执行阶段不访问主存,则完全可以利用这段时间取下一条指令,即执行指令时同时进行取指令。

影响流水线性能的因素

结构相关:指当指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突时产生的

数据相关:流水线中的各条指令因重叠操作,可能改变对操作数的读写访问顺序

控制相关:由转移指令引起的

流水线性能

吞吐率

指单位时间内流水线所完成指令或输出结果的数量,即指令总数除以总时间

n:指令总数

m:一条指令分为几段

t:一段需要的时间

总时间=n /( m * t + (n-1) * t)

加速比

指m段流水线的速度与等功能的非流水线的速度之比,即流水线总时间除以非流水线总时间

mnt / (mt+(n-1)*t)

效率

指流水线中各功能段的利用率,即工作时间段的总时间除以总时间段的总时间

mnt / (m(m+n-1)*t )

流水线中的多发技术 

假设处理一条指令分4个阶段:取指、译码、执行、回写,一个时钟周期执行一个阶段。

超标量技术

同一个时钟周期内可以同时并发多条独立指令,以并行方式将两条及其以上的指令编译并执行

超流水线技术

将流水线再分段,把原来的一个时钟周期又分成3段,使得超流水线的处理周期比普通流水线的周期短

超长指令字技术

把多条能并行操作的指令组合成一条具有多个操作码字段的超长指令,相当于同时执行多条指令

流水线结构

指令流水线结构

典型的指令执行过程:取指令、指令译码、形成地址、取操作数、执行指令、回写结果、修改指令指针

运算流水线

浮点加法运算流水线:对阶、尾数加、结果规格化

中断系统

中断的概念

引起中断的各种因素

人为设置的中断

程序性事故:定点溢出、浮点溢出

硬件故障:插件接触不良、通风不良、磁表面损坏、电源掉电

I/O设备

外部事件

中断系统需解决的问题

  • 1、各中断源如何向CPU提出中断请求。
  • 2、当多个中断源同时提出中断请求时,中断系统如何确定优先响应哪个中断源的请求。
  • 3、CPU在什么条件、什么时候、以什么方式来响应中断。
  • 4、CPU响应中断后如何保护现场。
  • 5、CPU响应中断后,如何停止原程序的执行而转入中断服务程序的人口地址。
  • 6、中断处理结束后,CPU如何恢复现场,如何返回到原程序的间断处。
  • 7、在中断处理过程中又出现了新的中断请求,CPU该如何处理。

中断请求标记和中断判优逻辑

中断请求标记

作用:判断是哪个中断源提出请求,必须设置一个中断请求标记触发器,集中设在CPU内,组成一个中断请求标记寄存器。

中断判优逻辑

问题来源 :当多个中断源同一时刻提出中断请求时,中断系统必须按其优先顺序予以响应,发明了中断判优。

中断服务程序入口地址的寻址

中断处理的核心问题:为不同的中断源的不同中断服务程序准确找到服务程序的入口地址。

硬件向量法:利用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址

软件查询法:当查到某一中断源有中断请求时,接着安排一条转移指令,直接指向此中断源的中断服务程序入口地址。

中断响应

CPU总是在指令执行周期结束后,响应任何中断源的请求,在指令执行周期结束后,若有中断,CPU则进入中断周期,若无中断,则进入下一条指令的取指周期。

CPU会在执行周期的结束时刻统一向所有中断源发出中断查询信号,这样CPU就能够知道哪个中断源有请求

中断周期内的工作原理

保护程序断点:就是要将当前程序计数器PC的内容(程序断点)保存至主存中去

寻找中断服务程序的入口地址

关中断:作用是禁止CPU再次响应新的中断请求

保护现场和恢复现场

中断屏蔽技术

主要用于多重中继,即CPU正在执行某个中断服务程序时,CPU又响应了另一个新的请求,暂停正在运行的服务程序,转去执行新的中断服务程序。

小讯
上一篇 2025-04-11 07:40
下一篇 2025-01-08 18:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/58926.html