CPU结构

在一台计算机中,硬件部分主要由输入系统、输出系统、运算器、控制器和存储器组成,其中cpu最为重要。

6e9168d430b44c5186860f874bd5de07.png

中央处理器(CPU)的功能主要是解释计算机指令及处理计算机软件中的数据。CPU是计算机中负责读取指令、对指令译码并执行指令的核心部件。CPU主要包括两个部分,即控制器、运算器 ,还包括高速缓存及它们之间联系的数据和总线。

1.运算器

运算器通常是由ALU(算术逻辑单元,包括累加器、加法器等)、通用寄存器(不包括地址寄存器)等组成的。

ALU:进行算术运算和逻辑运算。

累加器(AC):暂时存放ALU运算的结果信息。

数据缓冲寄存器:用来暂时存放由内存读出的一条指令或一个数据字。反之,当内存存入一条指令或一个数据字时,也暂时将它们放在数据缓冲寄存器中。

状态条件寄存器(PSW):保存算术指令和逻辑指令的状态和程序工作方式。

2.控制器

控制器包含程序计数器PC、指令寄存器IR、指令译码器、时序部件等。

程序计数器PC:存放下一条指令的地址

指令寄存器IR:用来保存当前正在执行的一条指令。

指令译码器:指令中的操作码经过指令译码器译码后、即可操作控制器发出具体操作的特定信号。

时序部件:为指令的执行产生时序信号。

3.总线

微型计算器机通过系统总线将各部件连接到一起,实现了微型计算机内部各部件间的信息交换。

数据总线(DB)用于传输数据信息。

地址总线(AB)是专门用来传输地址的,地址总线的位数决定了CPU可直接寻址的内存大小。一般来说,若地址总线为n位,则可寻址空间为2的N次方。

控制总线(CB)用来传输控制信号和时序信号。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
rv32i是一种基于RISC-V指令集架构的32位指令集。rv32i指令集包含了9条基本指令,这些指令可以用于构建CPU结构。下面是这9条指令: 1. LUI(Load Upper Immediate)- 这条指令用于将一个20位的立即数左移12位,并将结果存储在目标寄存器的高20位中。 2. AUIPC(Add Upper Immediate to PC)- 这条指令用于将一个20位的立即数左移12位,然后与当前PC寄存器中的值相加,并将结果存储在目标寄存器中。 3. JAL(Jump And Link)- 这条指令用于设置PC寄存器的值为当前指令地址加上一个20位的立即数,并将当前指令地址加4保存到目标寄存器中。 4. JALR(Jump And Link Register)- 这条指令用于设置PC寄存器的值为目标寄存器和一个12位的立即数相加的结果,并将当前指令地址加4保存到目标寄存器中。 5. BEQ(Branch if Equal)- 这条指令用于比较两个寄存器的值是否相等,如果相等则将PC寄存器的值设置为当前指令地址加上一个12位的立即数。 6. BNE(Branch if Not Equal)- 这条指令用于比较两个寄存器的值是否不相等,如果不相等则将PC寄存器的值设置为当前指令地址加上一个12位的立即数。 7. BLT(Branch if Less Than)- 这条指令用于比较两个寄存器的值是否有小于的关系,如果满足条件则将PC寄存器的值设置为当前指令地址加上一个12位的立即数。 8. BGE(Branch if Greater Than or Equal)- 这条指令用于比较两个寄存器的值是否有大于等于的关系,如果满足条件则将PC寄存器的值设置为当前指令地址加上一个12位的立即数。 9. ADDI(Add Immediate)- 这条指令用于将目标寄存器和一个12位的立即数相加,并将结果保存在目标寄存器中。 通过使用这9条指令,我们可以构建出基于rv32i指令集的CPU结构。这些指令提供了基本的控制流和数据操作,能够实现简单的程序逻辑与数据处理。当然,可以通过添加其他指令来扩展CPU的功能,使其能够执行更复杂的任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值