[一]CPU微架构

目标:
1.搞清楚CPU的各个寄存器,及各个寄存器的作用
2.并完成一条指令的执行全流程.

寄存器:
指令: 指令由操作码+地址码组成.操作码是指的指令的操作.地址码是值得指令操作的对象的地址.指令的形式:
操作码|A1|A2|A3
比如:
(AC) OP (A) -> AC
OP表示操作性质;(AC)表示累加寄存器AC中的数;(A)表示内存中地址为A的存储单元中的数或运算器中地址为A的通用寄存器中的数; →表示把操作(运算)结果传送到指定的地方。

Input
Output
CPU(ALU\CU)
Memory

Input={}
Output={}
CPU={
   "Arithmetic unit":{
         "ALU":"算术逻辑运算单元ALU(Arithmetic and Logic Unit),对二进制数据进行四则运算\逻辑运算(与或非)\移位运算",
         "FPU":"浮点运算单元FPU(Floating Point Unit),负责浮点运算和高精度整数运算",
         "AC":"累加寄存器,用于为ALU的累加计算提供一个工作区,用来为ALU存储操作数和运算结果.有多个AC"
         },
   "CU":{
         "PC":"ProgramCounter,程序计数器,存储的下一条指令在内存中的地址",
         "ID":"InstructionDecoder,指令译码器,指令的操作码被送到指令译码器中译码,地址码则送到地址形成部件。地址形成部件根据指令特征将地址码形成有效地址,送往主存的地址寄存器。对于转移指令,要将形成的有效转移地址送往程序计数器中,实现程序的转移。",
         "OC":"OperationController,操作控制器,操作控制器根据指令译码器对于指令操作码的译码,产生出实现指令功能所需要的全部动作的控制信号。这些控制信号按照一定的时间顺序发往各个部件,控制各部件的动作。",
         "IR":"InstructionRegister,指令寄存器,存储从内存中取出的正在执行的指令.计算机执行指令时,从内存中取出的一条指令经数据总线送往指令寄存器中。"
         "时序组件":"时钟发生器(指令)\倍频定义器(总线),提供时序控制信号,根据需要,输出信号可以是脉冲,也可以是高电平或者低电平。",
         }
   "register寄存器":{
        "专用寄存器":{
                    "PSW":"ProgramStatusWord,程序状态字-程序状态寄存器.PSW用来存放两类信息:一类是体现当前指令执行结果的各种状态信息,称为状态标志,如有无借位进位(CY位)、有无溢出(OF位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(PF位)等;另一类是存放控制信息,称为控制状态,如允许中断(IF位),跟踪标志(TF位),方向标志(DF)等。有些机器中将PSW称为标志寄存器FR(Flag Register)。",
                    }
        }
}
"Memory"={
         "AR":"AddressRegister地址寄存器,存储当前CPU所访问的内存单元的地址",
         "DR":"DataRegister数据缓冲寄存器,CPU写内存时暂存指令或数据",
         "存储体":"存储数据,有地址单元,存储空间"
}

ALU电路示意图:

posted @ 2022-01-24 23:47  穿靴子的outman  阅读(202)  评论(0编辑  收藏  举报