408计算机组成原理学习笔记——中央处理器(一)

简介: 408计算机组成原理学习笔记——中央处理器

1.CPU的功能和基本结构  

1.1.CPU的功能

1.指令控制:取指→分析→执行

2.操作控制:通过操作信号控制各部件

3.时间控制:控制具体操作的时间顺序

4.数据加工:各种运算

5.中断处理:例如I/O操作和异常

1.2.控制器和运算器的功能

1.CPU由控制器和运算器构成

2.运算器:对数据进行处理

3.控制器:协调并且控制各部件执行程序的指令序列

①取指令:自动形成指令地址→PC + ”1“;在指令结束后,自动发出取指令命令

②分析指令:操作码译码→分析该操作码执行具体操作;产生操作数的有效地址→根据寻址方式的不同和指令中的形式地址形成有效地址

③执行地址:每条指令分解成若干个微操作,一个微操作对应一个操作信号,操作信号形成控制序列,通过该控制序列控制相应部件(运算器、存储器、IO等等)进行对应操作

④中断处理:管理总线和输入输出(IO)(针对计算机外部);处理异常(例如除0,针对计算机内部)f08d628ddeaf4318a9e1dd5275888463.png

1.3.运算器的基本结构

1.算术逻辑单元(ALU):进行算数/逻辑运算(单总线下,需要搭配寄存器)

2.通用寄存器组:存放各种操作数,包括源操作数、目的操作数和中间结果等 用户可见

3.暂存寄存器:暂时存放主存中读入的数据

4.累加寄存器(ACC):暂时存放ALU运算的结果,用于加法操作→用户可见

5.程序状态字寄存器(PSW):保存结果的各种状态信息(OF、ZF、CF、SF等),条件转移指令可以通过这些状态信息判断是否进行转移→用户可见

6.移位器:进行移位运算

7.计数器:控制乘/除操作次数

1.4.控制器的基本结构

1.程序计数器(PC):用于指出下一条指令的存放地址,CPU根据PC的内容进行取值

PC有自增”1“功能:在取指令完成后自动进行,具体加多少根据指令长度/编址方式等决定

PC的内容可能会被转移指令(JMP等)所改变→用户可见

2.指令寄存器(IR):用于保存当前执行的指令

PC取出指令后,将该指令放到IR中,每条指令分为OP/AD两部分

AD:指明地址码,送往总线

OP:指明操作码,送往CU

3.指令译码器:对操作码部分进行译码,向控制器提供特定的操作信号。即分析该操作码的具体操作是什么

4.微操作信号发生器:根据译码器、PSW提供的控制信号生成微操作的序列(控制各种IN/OUT信号)

5.时序系统:控制执行顺序

6.存储器地址寄存器(MAR):存放要访问的主存单元的地址

7.存储器数据寄存器(MDR):存放向主存写入/从主存读出的数据

1.5.用户可见/不可见

可见:PSW、通用寄存器、PC、ACC

不可见:MAR、MDR、IR、暂存寄存器

2.指令执行过程

2.1.指令周期

1.指令周期:CPU从主存中取出并执行指令的全部时间

①由若干个机器周期组成(CPU周期),每个机器周期由若干个时钟周期组成

②不同的指令包含的机器周期可能不同a3214a05c7234ef68ce0eefabd5e5473.png

2.取指令需要进行访存,而对指令译码(分析指令)相比之下所需时间很短,因此可一起划分为取值周期

3.指令周期可以分为取值周期、间址周期(间接寻址)、执行周期、中断周期(中断操作)

可以通过四个触发器判断正处于哪个周期image.png

2.2.指令周期的数据流

1.取址周期:image.png

2.间址周期:

①IR是MDR的副本,因此,既可以是IR的内容给MAR进行寻址,也可以是MDR的内容

②原IR中的内容为操作码+形式地址(间接),仅改变IR形式地址的部分,操作码可以不改变5919e85c7a144b12bc4c1e2ae730f4c6.png

3.执行周期:不同指令的数据流向不同

4.中断周期:需要保存断点(使用堆栈)

①下一条指令执行的地址始终是根据PC得到的

②在执行中断前需要保存当前PC的内容:

Ⅰ计算机为每个程序的运行开辟堆栈,SP是该堆栈的栈顶元素,在执行中断时,先要进行压栈操作,即SP - 1(也可能是+1),然后将SP中的内容存入MAR中(指明接下来要进行写操作的是哪一个地址,即表明存放PC当前内容的地址)

ⅡCU发出写信号

Ⅲ将PC存入MDR中(此时,PC的内容就写入了MAR对应的地址中)

Ⅳ修改PC的内容,执行中断程序image.png

2.3.指令执行方案

1.单指令周期:所有指令按相同时间执行,即执行周期取决于最长的指令(串行,低效率)

2.多指令周期:不同类型的指令有不同的执行周期(串行,相较于单指令更高效)

3.流水线方案:每个时钟周期启动一条指令(并行,根据不同周期运用不同部件的特性)

3.数据通路的功能和基本结构

3.1.数据通路的基本结构

Ⅰ专用数据通路:两个部件间专用的连接线路。需要添加MUX(多路选择器)或者三态门

a91c660d536f4ed2a52b1239d5aa4908.png①MUX的作用:通过控制信号(R0/R1/R2/R3)选择具体哪条线路输入/输出(控制整体)

②三态门的作用:通过控制信号(IN/OUT = 0/1)控制当前线路是否进行输入/输出(控制个体)

③性能高,不存在数据冲突(每个部件都有专属线路),但结构复杂

9466735382174184a214c10ee8a4107e.png

ⅡCPU内部单总线:将所有寄存器的输入/输出端都连接到一条公共的通路,同一时间仅能有两个部件进行数据交换

①某个寄存器输入:该寄存器的IN信号有效

②某个寄存器输出:该寄存器的OUT信号有效

③结构简单,但是存在数据冲突现象,因此,需要添加暂存寄存器解决

暂存寄存器:暂时存储从主存中读来的数据。例如:进行加法操作a + b时

(1)将加数a从主存中读入并存放到ALU输入端的暂存寄存器

(2)将b从主存中读出通过ALU的B中输入,将ALU输入端暂存寄存器中的a通过ALU的A中输入

(3)ALU的计算结果先存放到ALU输出端的暂存寄存器中,需要等待两个输入端的信号稳定之后,再将该暂存寄存器中的结果输出到对应的寄存器中(防止总线数据冲突,导致运算出错)

ⅢCPU内部多总线:将所有寄存器的输入/输出端都连接到多条公共的通路,每条总线都可以进行两个部件的数据交换

3.2.CPU单总线方式

image.png

1.bus指代总线:→BUS表示数据输入到总线中,BUS→表示总线的数据输出

2.需要注明控制信号是否有效

3.数据流通需要一个部件OUT有效和一个部件IN有效(inE/outE表示外部总线)

4.主存和CPU之间的数据传送:

①MAR存放的是CPU将要对主存中进行读/写的数据的地址

②CU需要通过控制总线向主存发出读/写命令,MAR中的地址通过地址总线送往主存(CU也需通过控制总线给MAR发出控制信号)

③读:主存中的数据通过数据总线输入到MDR中(需要有个控制信号控制该线是否接通——MDRinE,E表示外部总线,需要区别于MDRin,同理MAR读到主存中时,也有MARoutE)

写:MDR中的内容通过数据总线输入到主存的相应地址中(MAR内的地址)

④MDR中的数据通过数据总线送到IR中

5.算数/逻辑运算:例如加法操作,其中一个操作数已存放在ACC中

①取出操作数:IR分为OP和AD两个部分(OP为操作码,AD为地址码)

Ⅰ通过IR的AD部分送往MAR

Ⅱ由于IR和MDR中的数据是一样的(需要MDR没更新过数据),因此,也可以通过MDR的AD送往MAR

②CU发出读命令:主存根据MAR的地址通过数据总线将该地址的数据送往MDR中(一个加数)

③MDR数据送往暂存寄存器Y中:ALU的两端需要同时有效,而该CPU是单总线结构,同时输出到总线上会产生数据冲突,因此,需要不经过总线就能输入到ALU的Y将一个操作数暂存

如果采用双总线结构,就不需要暂存寄存器,两个总线分别输入一个操作数到ALU的一端即可

④ALU进行计算:ACC和Y中的数据分别输入到ALU两端,CU向ALU发出控制信号,ALU进行加法计算,然后将结果输出到Z中

⑤Z通过内部总线将Z中内容输入到ACC中

3.3.CPU专用数据通路方式

哪两个部件进行数据交换,就通过控制信号将连接该部件的导线接通cf8fcd71b15a4deca6b4b319783f1a1f.png










相关文章
|
5月前
|
存储 编译器 内存技术
【计算机组成原理】中央处理器
【计算机组成原理】中央处理器
239 1
【计算机组成原理】中央处理器
|
5月前
|
存储
【计算机组成原理】指令系统
【计算机组成原理】指令系统
205 0
【计算机组成原理】指令系统
|
存储 芯片
计算机组成原理(2.1)--系统总线
总线(分散连接):连接多个部件的信息传输线,是各部件共享的传输介质。 分散连接:各部件之间使用单独的连线
113 0
计算机组成原理(2.2)--系统总线
它是将 CPU 、主存、 I/0 设备(通过 I/0 接口)都挂在一组总线上,允许 I/0 设备之间、I/0 设备与 CPU 之间或 I/0 设备与主存之间直接交换信息。
110 0
|
C语言
计算机组成原理相关知识
计算机组成原理相关知识
95 0
|
存储 算法 芯片
计算机组成原理-系统总线
计算机组成原理-系统总线
174 0
|
存储 缓存
计算机组成原理(3)存储器
3.1.概述 3.1.1.定义 存储器,用于存储数据和程序。存储器中,以二进制的方式存储数据和程序,存储器由N个存储单元构成,存储单元由N个存储电路组成,这N个存储电路用来保存一个N位二进制数。每个存储单元的编号称为==地址==,存储器中能存放的数据的总位数(byte)称为存储容量,常用单位,KB、MB、GB…..
536 0
|
存储 算法 芯片
|
存储
408计算机组成原理学习笔记——中央处理器(二)
408计算机组成原理学习笔记——中央处理器
462 1
408计算机组成原理学习笔记——中央处理器(二)
|
存储
408计算机组成原理学习笔记——中央处理器(三)
408计算机组成原理学习笔记——中央处理器
299 1
408计算机组成原理学习笔记——中央处理器(三)