摘要: 本篇内容涉及的rtl代码为开源组织PLUP的common cell仓库中的源代码,本文只是对其进行些许解读。源码链接如下:[https://github.com/pulp-platform/common_cells/blob/dc555643226419b7a602f0aa39d449545ea4c 阅读全文
posted @ 2022-12-21 15:22 love小酒窝 阅读(669) 评论(1) 推荐(1) 编辑
摘要: 参考《超标量处理器》姚永斌著 超标量处理器设计——第十章_提交 10.1 概述 一条指令到达流水线提交阶段不一定代表该指令一定是正确的. 由于分支预测失败和异常的存在, 处于完成状态的指令很可能还会从流水线中抹除 只有在这条指令之前进入流水线的所有指令都退休了, 且该指令也处于完成状态, 它才能退休 阅读全文
posted @ 2022-12-21 11:47 love小酒窝 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 参考《超标量处理器》姚永斌著 超标量处理器设计——第九章_执行 9.1 概述 每个FU都有一个1-M仲裁器, 每个仲裁器和物理寄存器堆的读端口一一对应 9.2 FU类型 9.2.1 ALU Arithmetic and Logic Unit MIPS中如果加减法发生溢出, 需要产生异常 ARM中, 阅读全文
posted @ 2022-12-21 11:46 love小酒窝 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 超标量处理器设计——第八章_发射 参考《超标量处理器》姚永斌著 8.1 简述 发射:将符合条件的指令从发射队列(Issue Queue)中选出来,送到FU中执行的过程。 重命名阶段的指令被写到ROB的同时,也会写到Issue Queue中 发射队列也称为保留站(Reservation Sation, 阅读全文
posted @ 2022-12-21 11:45 love小酒窝 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 超标量处理器设计——第七章_寄存器重命名 参考《超标量处理器》姚永斌著 7.1 简述 程序中存在很多相关性。可以分为: 数据相关性: 存储器数据相关性: load/store的相关,也可以分为WAW,WAR和RAW三种类型。 控制相关性: 分支指令引起的相关性,可以用分支预测解决。 结构相关性: 指 阅读全文
posted @ 2022-12-21 11:44 love小酒窝 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 超标量处理器设计——第四章_分支预测 参考《超标量处理器》姚永斌著 4.1 简述 分支预测主要与预测两个内容, 一个是分支方向, 还有一个是跳转的目标地址 首先需要识别出取出的指令是否是分支指令, 如果是需要送入方向和地址预测模块: 分支预测最好的时机就是当前周期取到指令地址的时候, 就进行预测, 阅读全文
posted @ 2022-12-21 11:42 love小酒窝 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 超标量处理器设计——第三章_虚拟存储器 参考《超标量处理器》姚永斌著 3.2 地址转换 分页机制, 虚拟地址划分以页为单位(page),典型大小为4KB 物理地址也有页,与虚拟地址的页大小相同,但是称为帧(frame) 虚拟地址: VA ; 物理地址:PA VA由两部分组成: VPN(Virtual 阅读全文
posted @ 2022-12-21 11:42 love小酒窝 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 超标量处理器设计——第二章_Cache 参考《超标量处理器》姚永斌著 Cache的一般设计 Cache缺失(miss)的3C定理: Compulsory , 第一次访问失效 Capcity, 由于cache满引发的miss Conflict, 有多个数据映射到cache同一个位置 2.1.1 cac 阅读全文
posted @ 2022-12-21 11:37 love小酒窝 阅读(542) 评论(0) 推荐(0) 编辑