频道栏目
读书频道 > 其他 > CPU自制入门
内存访问控制模块
2013-12-06 10:12:24     我来说两句
收藏   我要投稿

本文所属图书 > CPU自制入门

本书教读者制作原创的计算机系统。第1章以介绍CPU为主,同时介绍如何制作存储程序与数据的内存、输入与输出的I O以及将这些模块连接起来的总线,这些模块可以组合成一个简单的计算机系统。为了让这个计算机系统运  立即去当当网订购

内存访问控制模块基于从EX 阶段流水线寄存器输入的内存操作(ex_mem_op),实施内存访问操作。内存访问控制模块的信号线一览如表1-53 所示,源程序如代码1-31 所示。


 

[Ⅰ]输出的赋值

此处进行一系列输出的赋值:EX 阶段的写入数据(ex_mem_wr_data)代入写入数据(wr_data),EX 阶段输出(ex_out)的高30 位代入地址(addr),EX 阶段输出(ex_out)的低2 位代入字节偏移(offset)。

[Ⅱ]默认值

地址选通信号(as_)默认设置为无效,读/ 写信号默认设置为读取(READ), 输出信号(out)默认设置为0。

[Ⅲ]LDW 指令

LDW 指令执行时,需要对地址是否按字对齐进行检测。字节偏移(offset)为0 (BYTE_OFFSET_WORD)时,地址是对齐的,因此直接使能地址选通信号。LDW 为读取访问指令,要将读取数据(rd_data)赋值到输出(out)。字节偏移(offset) 不为0(BYTE_OFFSET_WORD)时,地址未对齐,使能未对齐信号(miss_align)。

[Ⅳ]STW 指令

STW 指令执行时,需要对地址是否按字对齐进行检测。字节偏移(offset)为0(BYTE_OFFSET_WORD)时,地址是对齐的,因此直接使能地址选通信号。字节偏移(offset)不为0(BYTE_OFFSET_WORD)时,地址未对齐,使能未对齐信号(miss_align)。

[Ⅴ]无内存访问

在没有内存访问操作发生时,直接将MEM 阶段的输出(ex_out)赋值给输出(out)。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:Memory(MEM)阶段
下一篇:MEM 阶段流水线寄存器
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站