10. 处理器的设计步骤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10. 处理器的设计步骤相关的知识,希望对你有一定的参考价值。

参考技术A <1> 分析指令系统,得出对数据通路的要求。所谓数据通路,就是指令所要操作的数据,需要通过怎样的电路结构。

<2> 为数据通路选择合适的组件,例如加法器、寄存器等

<3> 连接组件,建立数据通路

<4> 分析每条指令的实现,以确定控制信号

<5> 集成控制信号,形成完整的控制逻辑

我们为了学习的目的,只考虑以下几个MIPS指令,

addu rd,rs,rt

subu rd,rs,rt

ori rt,rs,imm16

lw rt,imm16(rs)

sw rt,imm16(rs)

beq rs,rt,imm16

对于R型指令,

对于I型指令,

因此,我们需要一个支持可读的指令存储器,不需要写入功能,只读就行,输入给指令存储器一个32-bit的地址,就能输出对应地址的32-bit指令。因此还需要一个32-bit寄存器,存储这个指令的地址,即程序计数器PC。

分析addu和subu指令的操作,执行这两条指令需要,

<1> 一组存放数据的32-bit通用寄存器,在MIPS中一共有32个这样的寄存器,称为寄存器堆

<2> 可以同时读取两个寄存器的内容,rs和rt

<3> 可以改写一个寄存器的内容,rd或rt(rt是因为ori指令的结果会改写rt寄存器的值)

<4> 将16-bit立即数扩展为32-bit,扩展方式为零扩展

<5> 提供加、减、逻辑或这三种功能的运算器

<6> 运算的操作数可以是寄存器,也可以是扩展后的立即数

<7> 一个存放数据的存储器,可读可写,地址和数据都是32-bit

<8> 对16-bit立即数进行扩展,扩展方式为符号扩展

<9> 比较两个数,判断是否相等

<10> PC寄存器支持两种自增方式,加4或加一个立即数

<1> 算术逻辑单元ALU,支持加、减、或、比较相等,操作数是2个32-bit的数,可以来自寄存器,也可以是扩展后的立即数

<2> 立即数扩展部件,16-bit扩展为32-bit,可以是零扩展或符号扩展

<3> 程序计数器PC,32-bit寄存器,支持两种加法,加4或加立即数

<4> 寄存器堆,32个32-bit寄存器,支持读操作,可以同时读2个寄存器rs和rt,支持写寄存就,1次可以写1个rt或rd,俗称两读一写的寄存器堆

<5> 两个存储器,一个是只读的指令存储器,地址和数据都是32-bit,一个是数据存储器,可读可写,地址和数据也都是32-bit。注意这两个存储器对应CPU内部的指令和数据Cache。

<1> busA, busB: 两组32-bit的数据输出

<2> busW: 32-bit数据输入

寄存器的读写控制:

<1> Ra(5-bit): 选中对应编号的寄存器,将其内容放在busA上

<2> Rb(5-bit): 选中对应编号的寄存器,将其内容放在busB上

<3> Rw(5-bit): 选中对应编号的寄存器,在时钟信号上升沿到来时,如果写使能WriteEnable信号为高电平,即写使能有效,就把busW的内容写入寄存器。

<4> 注意:读寄存器是不受时钟信号控制的,只要有Ra或Rb,其内容就会出现在busA和busB上

存储器功能和寄存器堆的功能类似,可以理解为一读一写。

以上是关于10. 处理器的设计步骤的主要内容,如果未能解决你的问题,请参考以下文章

计算机组成与设计—— 单周期处理器

如何处理fmri数据,fmri数据处理步骤或流程

需求处理三步骤:需求梳理需求分析需求放大

asp.net 微信企业号办公系统-流程设计--流程步骤设置-策略设置

(计算机组成原理)第五章中央处理器-第四节1:CPU硬布线控制器的设计原理(逻辑表达式,微操作时序,电路设计)

计算机组成与设计—— 流水线处理器