了解一个cpu,首先我们要思考这些问题:
- CPU分为哪几部分?分别实现什么功能?
- 指令和数据均存放在内存中,计算机如何从时间和空间上区分它们是指令还是数据?
- 什么是指令周期、机器周期和时钟周期?它们之间有何关系?
- 指令周期是否有一个固定值?为什么?
- 什么是微指令?它和第4章谈到的指令有什么关系?
- 什么是指令流水线?指令流水线相对于传统计算机体系结构的优势是什么?如何计算指令流水线的加速比
CPU组成
控制器
控制单元(Control Unit):控制单元负责指挥整个CPU内部的操作,包括解释指令、从内存中读取指令、执行指令等。它决定了CPU的工作步骤和顺序。
控制器功能介绍
- 指令译码(Instruction Decoding):控制器根据指令寄存器中存放的指令,对指令进行解析和译码,确定这条指令对应的操作类型和操作数。
- 时序控制(Timing Control):控制器负责生成时钟信号,对CPU内部各个部件进行时序控制,确保各个操作按照正确的步骤和顺序进行。
- 数据通路控制(Data Path Control):控制器管理数据通路中的数据传输和处理,在指令执行过程中将数据从寄存器组传递到算术逻辑单元(ALU)或其他单元,然后将结果返回到寄存器组。
- 分支控制(Branch Control):当CPU遇到条件分支指令时,控制器负责根据分支条件确定程序的执行流程,决定程序应该跳转到哪一部分执行。
- 异常处理(Exception Handling):控制器处理各种异常情况,如中断请求、指令错误等,保证程序正常执行或进行相应的错误处理。
- 状态转换控制(State Transition Control):控制器根据不同指令的需求,管理CPU内部状态的转换,以确保指令的正确执行。
控制器组成
- 程序计数器(Program Counter,PC):程序计数器存储了当前正在执行的指令的地址或下一条要执行指令的地址。当指令执行完毕时,程序计数器会自动递增到下一条指令的地址。(送地址的)
- 指令寄存器(Instruction Register,IR):指令寄存器存储了当前正在执行的指令。控制器会从指令寄存器中读取指令操作码和操作数进行分析和执行。(读取寄存器里面的指令)
- 解码器(Decoder):解码器负责对从指令寄存器中读取的指令进行解码,识别指令的操作类型和操作数,并生成相应的控制信号。(提取出来的指令解码)
- 时钟(Clock):时钟产生CPU的时钟信号,控制各个部件在规定的时间间隔内进行工作。时钟信号会同步各个部件的工作步骤,确保整个CPU的顺利运行。(控制时间和顺序)
- 控制信号发生器(Control Signal Generator):控制信号发生器根据指令的操作类型和操作数,生成相应的控制信号,控制ALU、寄存器、数据通路等部件的工作。
- 状态转换逻辑(State Transition Logic):状态转换逻辑负责根据当前指令的执行情况和控制信号的反馈,确定CPU内部的状态转换,即确定下一步应该执行的动作是什么。(控制指令状态的),状态分为,就绪,执行,等待,睡眠,终止。同事还有特殊状态,比如挂起,监控……
- 中断控制器(Interrupt Controller):中断控制器负责处理CPU的中断请求,根据优先级和处理逻辑,使CPU能够及时响应各种中断,并保存现场、转入中断处理程序。(负责中断的)
运算器
算术逻辑单元(Arithmetic Logic Unit,简称ALU):ALU执行CPU的算术和逻辑运算,例如加减乘除、位运算、逻辑运算等。它是CPU的“大脑”,负责处理各种数据操作。
运算器功能介绍
- 算术运算:运算器负责执行各种算术运算,如加法、减法、乘法、除法,以及取模等操作。运算器可以对整数和浮点数进行运算,并生成相应的结果。
- 逻辑运算:运算器执行逻辑运算,包括与、或、非、异或等逻辑运算。逻辑运算一般用于处理数据的逻辑关系,如判断真假、逻辑运算等。
- 比较操作:运算器可以对数据进行比较操作,判断大小关系或相等关系。比较操作通常用于条件判断,以确定程序执行的分支或逻辑。
- 移位和旋转操作:运算器可以执行数据的位移(移位)和循环移位(旋转)操作。这些操作可以实现数据的位操作,如将数据向左或向右移动一定位数。
- 递增和递减操作:运算器可以执行递增和递减操作,将数据递增或

本文深入介绍了CPU的组成,包括控制器、运算器、寄存器等,阐述了指令的组成、类型、执行和编码,还说明了指令和数据的区分方法。同时,探讨了计算机周期的关系,介绍了微指令及其与普通指令的区别,最后讲解了指令流水线技术的原理、优势和加速比计算。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



