本篇文章1473字,读完约4分钟
寄存器文件可以通过两个端口( n1、n2 )进行控制,从寄存器文件中读出两个寄存器的副本( q1、q2 )并发送到堆栈a和b,作为alu运算的两个数据源,记录了b堆栈的副本 寄存器文件还在第三个端口( nd )提供写入外部数据时使用的寄存器编号。
alu完成对两个输入数据( a、b )的算术运算或逻辑运算功能,将运算结果r(PC进给)和结果的特征新闻z (结果0标志)直接提供给外部,或者将结果暂时保存在结果寄存器c中,为后续操作准备数据。
alu提供不同源的双向数据,a电路可以选择程序计数器pc或寄存器a的输出,b电路可以选择常数4、寄存器b的输出或其他双向数据immed_1或immed_2。 它可以结合a op b、a op immed_1(op表示不同的算术运算和逻辑运算)、pc+4、pc+ immed_2等多种运算功能。 前两个组合用于两个寄存器之间的运算,或者包含一个寄存器和即时数之间的运算的数据运算。 后者的两个组合用于计算指令地址,pc+4得到下一个相邻指令的地址,pc+ immed_2得到相对传输指令的地址,更深的拷贝在控制器部件一章中证明。
mips计算机的运算器部件
mips计算机多周期cpu系统中运算器部件的工作过程和控制信号
1 .运算器与控制器之间的新闻发布
控制器的程序计数器( pc )需要在alu中完成指令地址的计算,并将自己的副本发送到alu的a输入。 在图3.4中,为了实现pc+4和pc+immed-2的相加,pc+4和immed-2由alu的b输入提供。 pc+4的计算在读取命令阶段完成,在这个阶段将计算结果(图中用pc-out表示)写回pc。 pc+immed-2的计算在指令解码阶段完成,将计算结果保留在alu的结果寄存器c中,到下一个执行阶段为止根据需要将该结果(图中用reg-c表示)写回到pc中。
2.运算器和存储器之间的新闻发布
写入寄存器文件的数据可以是alu的运算结果,也可以是从存储器读取的数据。 两者都需要通过两个选择电路发送到寄存器文件的di数据输入端子。 alu的计算结果在执行阶段通过a op b或a op immed-1运算获得,首先留在c寄存器中,直到下一个数据写入阶段才写入寄存器文件。
为了实现存储器的读取或写入操作,在执行阶段通过a+immed-1运算获得存储器地址,保留在c寄存器中,到下一个存储器读写阶段为止,用c的这个地址选择存储器中的存储器单元。
对于从存储器读取数据的指令,向存储器的数据缓冲器dr的数据读取完成。 将数据写入存储器的指令,将解码步骤中残留在b寄存器中的数据发送到存储器的数据线,完成存储器的写入操作。
总结:运算器需要向存储器提供地址新闻和写入的数据新闻,存储器将该读取的数据提供给运算器写入寄存器文件。
观察
该运算器部件的寄存器文件和alu在不同的执行步骤中完成各自的动作功能,读取寄存器文件在前(需要提供读取的两个寄存器的编号rs和rt ),alu在后(数据源选择信号a_sel和b_sel )。 需要提供alu的运算功能选择信号alu_func ),进入下一步骤,寄存器c中剩下的3个寄存器a、b、c全部使用时钟信号clock。
从控制器接收寄存器编号
第一步:使用rs和rt从寄存器组中读取两个寄存器的副本,暂时保存在寄存器a和b中
步骤2 :两个寄存器的副本通过两个多路复用器电路发送到alu的输入,alu进行加法运算,结果留在寄存器c中。
步骤3 :将寄存器c中的计算结果写入寄存器组内的rd中选择的寄存器
标题:“mips是指计算机的什么(mips指标的含义是什么)”
地址:http://www.hongyupm.com/gnyw/8422.html