当前位置:网站首页>CPU设计相关笔记
CPU设计相关笔记
2022-07-05 14:31:00 【小威程序员】
CPU设计-基于LoongArch架构的MIPS
1. 简单说说流水线CPU
单发射静态五级流水线CPU:
取指(IF)->译码(ID)->执行(EXE)->访存(MEM)->写回(WB)
流水线CPU设计的精髓理解起来就像是流水线生产的工场一样,一个阶段单独完成一项指定的功能。
(1)时间流水
以五段流水为例,五段为:取指-译码-访存-执行-回写
把每一段当做一部分,在前一条指令由取指到译码阶段时,即开始下一条指令的取指。
(2)空间流水
类比时间流水,简单理解为把每一部分扩充为原来工作效率的n倍;即原来在取指阶段一下取一条指令,现在可以一下取2条或多条。
2.流水线CPU中的指令相关与流水线冲突

3.解决流水线CPU设计中的数据相关冲突方法
(1) 阻塞技术
简单理解:让下一条指令的某一级停下来去等待上面指令出来最后的待用结果,即等到上面指令已完全完成五级流水操作。
与“写后读”相关引发的冲突:即上一级还未写入寄存器或数据RAM而紧接着的下一条指令在执行阶段已经需要用到这个新值。
阻塞技术:让下一条指令在执行阶段等待上一条指令完成整个指令。
(2) 前递技术
简单理解:将出来的待用结果直接通过专用路径送到相应的流水级阶段,不用等到最后一段的写回操作。
解决与“写后读”相关引发的冲突:
前递技术:上一条指令需要写入的结果出来之后直接送到下一条指令需要的流水阶段。
我把刚刚出炉的新鲜的加法结果直接送给下一条指令去吃.这就是所谓内部前推(Internal Forwarding),或称内部旁路(Bypass)。
参考文献:
《CPU设计实战》汪文祥 邢金璋 著
《计算机体系结构基础 第三版》 胡传武等著
《计算机原理与设计:Verilog HDL版》 李亚民著
边栏推荐
- 做自媒體視頻二次剪輯,怎樣剪輯不算侵權
- LeetCode_ 67 (binary sum)
- R language uses the multinom function of NNET package to build an unordered multi classification logistic regression model, and uses the coef function to obtain the log odds ratio corresponding to eac
- The function of qualifier in C language
- [learning notes] connectivity and circuit of graph
- 分享 12 个最常用的正则表达式,能解决你大部分问题
- 快消品行业SaaS多租户解决方案,构建全产业链数字化营销竞争力
- Sharing the 12 most commonly used regular expressions can solve most of your problems
- R语言ggplot2可视化:可视化折线图、使用theme函数中的legend.position参数自定义图例的位置
- How to open an account of qiniu securities? Is it safe to open an account?
猜你喜欢

How does redis implement multiple zones?

Sorter evolution of ticdc 6.0 principle

Shen Ziyu, nouveau Président de Meizu: M. Huang Zhang, fondateur de Meizu, agira comme conseiller stratégique pour les produits scientifiques et technologiques de Meizu

Niuke: intercepting missiles

Opengauss database source code analysis series articles -- detailed explanation of dense equivalent query technology (Part 2)

Thymeleaf 使用后台自定义工具类处理文本

leetcode:881. lifeboat

Security analysis of Web Architecture

World Environment Day | Chow Tai Fook serves wholeheartedly to promote carbon reduction and environmental protection

Online electronic component purchasing Mall: break the problem of information asymmetry in the purchasing process, and enable enterprises to effectively coordinate management
随机推荐
LeetCode_ 3 (longest substring without repeated characters)
Thymeleaf 模板的创建与使用
R language ggplot2 visual density map: Visual density map by group and custom configuration geom_ The alpha parameter in the density function sets the image transparency (to prevent multiple density c
R language ggplot2 visualization: use ggplot2 to visualize the scatter diagram, and use the labs parameter to customize the X axis label text (customize X axis labels)
How does redis implement multiple zones?
外盘入金都不是对公转吗,那怎么保障安全?
PostgreSQL 13 installation
Qingda KeYue rushes to the science and Innovation Board: the annual revenue is 200million, and it is proposed to raise 750million
R Language ggplot2 Visualization: visualize linegraph, using Legend in Theme function. Paramètre de position emplacement de la légende personnalisée
直播预告|如何借助自动化工具落地DevOps(文末福利)
How to introduce devsecops into enterprises?
R语言使用nnet包的multinom函数构建无序多分类logistic回归模型、使用coef函数获取模型中每个变量(自变量改变一个单位)对应的对数优势比(log odds ratio)
Catch all asynchronous artifact completable future
[learning notes] connectivity and circuit of graph
VC development of non MFC program memory leak tracking code
美国费城发生“安全事故” 2名警察遭枪杀
dynamic programming
Why do mechanical engineers I know complain about low wages?
做自媒体视频二次剪辑,怎样剪辑不算侵权
LeetCode_ 2 (add two numbers)