码迷,mamicode.com
首页 > 其他好文 > 详细

4.3 Building a Datapath-Computer Organization and Design笔记

时间:2017-06-17 14:24:07      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:记录   执行   访问   src   计算   register   count   地址   instr   

 

MIPS下的数据路径

 

技术分享

这是计算机硬件间的数据路径(即数据流动的路径),下面将较详细分析此图:

技术分享

PC(program counter, 程序计数器)是一个用于记录当前计算机正在执行的指令的地址的寄存器(register),当前指令执行完后,PC的值加4(因为一条指令占4个字节),PC指向下一条指令。

 

技术分享

 

PC根据指令地址找到对应的指令后(Read address),指令( Instruction)流向Register File,R-format指令需要读取两个寄存器,I-format指令则需要读取一个。

 

技术分享

 

在执行R-format指令时,Read data 1 与 Read data 2,即两个寄存器的值, 作为ALU(Arithmetic and Logic Unit,算术逻辑单元)的inputs;在执行I-format指令时,一个input来自经过Sign-extend后的常量。

 

技术分享

 

 

 在执行Beq(branch if equal)或Bne(Branch if not equal)时,若需要branch,PC的值需要被替换为Branch target的地址,Branch target的地址经过红框内的步骤后计算出

(branch target address = (PC+4)+ offset_value*4)。

 

技术分享

在执行lw(load word)指令时,根据ALU计算出来的地址值访问对应的Data Memory 单元,获取存在该单元里的数据,存到Register File中;在执行R-format时,直接将ALU的计算结果存到Register File中(Write data)。

 

4.3 Building a Datapath-Computer Organization and Design笔记

标签:记录   执行   访问   src   计算   register   count   地址   instr   

原文地址:http://www.cnblogs.com/liuyongdun/p/7040026.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!