社区
C语言
帖子详情
关于cpu的流水线,为何写寄存器在时钟周期的前半段,而读寄存器在后半段
善良的小伙伴
2015-07-28 03:30:00
《计算机组成与设计 硬件/软件 接口 (原书第四版)》
这里面讲流水线的时候,把指令执行 分成5个步骤(假设一条指令一个时钟周期):
1,通过PC(程序计数器)读取指令;
2,分解指令,读取寄存器;
3,ALU计算
4,访问数据存储器(即是内存)
5,写回寄存器
但是它又说对寄存器堆的写操作发生在时钟周期的前半段,对寄存器的读操作发生在时钟周期的后半段。
按上面步骤不是应该先读再写吗??
...全文
1404
1
打赏
收藏
关于cpu的流水线,为何写寄存器在时钟周期的前半段,而读寄存器在后半段
《计算机组成与设计 硬件/软件 接口 (原书第四版)》 这里面讲流水线的时候,把指令执行 分成5个步骤(假设一条指令一个时钟周期): 1,通过PC(程序计数器)读取指令; 2,分解指令,读取寄存器; 3,ALU计算 4,访问数据存储器(即是内存) 5,写回寄存器 但是它又说对寄存器堆的写操作发生在时钟周期的前半段,对寄存器的读操作发生在时钟周期的后半段。 按上面步骤不是应该先读再写吗??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
magickou
2015-12-18
打赏
举报
回复
因为必须先存入上一个指令的值,然后才可以读从寄存器文件中读取下一个指令的值
赵4老师
2015-07-28
打赏
举报
回复
那就不能上条指令写完后再开始本条指令读吗?
流水线
的冒险.pdf
- 解决方案:在
寄存器
堆的设计中采用分离读
写
端口的方法,即前半个
时钟周期
进行
写
操作,后半个
时钟周期
进行读操作,以此来避免读
写
冲突。 #### 三、数据冒险 **定义与原理** 数据冒险(Data Hazard),也称为数据...
第3章
流水线
技术.pdf
流水线
设计时需要采取一定的技术措施来优化性能,比如细分瓶颈段、重复设置瓶颈段来提高吞吐率,使用
写
操作安排在
时钟周期
前三拍、读操作在后半拍来解决
写
后读冲突(RAW),或者采用定向技术和
流水线
上锁机制来避免...
中山大学计算机组成原理实验 多周期
CPU
设计.pdf
在多周期
CPU
设计中,这些指令的执行会被分解成多个阶段,如取指、译码、执行、访存和
写
回,每个阶段对应
CPU
的一个
时钟周期
,这样可以提高处理器的并行处理能力,但会增加延迟。设计时需要考虑控制逻辑的复杂性、数据...
基于MIPS架构的
CPU
设计报告
在MIPS架构中,
CPU
通常包含5个
流水线
阶段:IF(取指)、ID(指令解码)、EXE(执行)、MEM(访存)和WB(回
写
)。这些阶段依次执行,形成指令
流水线
,以提高处理速度。然而,
流水线
设计会面临指令相关和冲突问题。...
32位浮点通用数字信号处理器
流水线
的设计方案
流水线
技术借鉴了工业生产线的理念,将指令执行过程分为多个阶段,每个阶段在一个
时钟周期
内完成。在五级
流水线
结构中,通常包括取指、译码、执行、访存和
写
回五个阶段。通过这种方式,处理器可以在每个
时钟周期
启动...
C语言
70,036
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章