0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

谁说中国不能做CPU?大一生惊爆你眼球

454398 来源:百度贴吧 作者:edwd2 2014-12-16 15:51 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

目前只完成了设计概念和硬件描述,支持部分常用32位MIPS指令(ADD, SUB, LW, SW等)。硬件描述用的是SystemVerilog语言,生成软件Synplify 9.6.2。昨天我测试了执行单元和指令控制单元,这两个主要的组件没大问题,剩下的不敢保证。别抱太大期望,大一计算机工程学生能力有限。下图是中央处理器寄存器传输层的简化设计概念。

谁说中国不能做CPU?大一生惊爆你眼球

数据路径的部分单元改造自Harris & Harris的教材“Digital Design and Computer Architecture“的微架构例子。为了方便,我们假设内存分为数据内存和指令内存。可见CPU拥有常规的5级流水线(Instruction Fetch, Instruction Decode, Execute, Memory, Write Back),并有两份数据路径,因此超纯量,理想化下每周期可同时执行10个指令。


蓝线圈的是流水线的执行组件。

谁说中国不能做CPU?大一生惊爆你眼球

红线圈的是数据路径,两个完全相同

谁说中国不能做CPU?大一生惊爆你眼球

在HDL中,我将命名两个运行指令为I0和I1或Instr0和Instr1,PC为PC0和PC1,下周期PC为PC0F,PC1F。

CPU的完整硬件生成:

谁说中国不能做CPU?大一生惊爆你眼球

我的设计中最有趣(也是最难完成)的部分是名为IFHU(Instruction Flow and Hazard Unit)的指令流动及数据冒险控制单元。

谁说中国不能做CPU?大一生惊爆你眼球

原稿:


它内置了一个小型三级流水线,目的就是为了储存(如果存在)指令的RD(Destination Register),Register File的目标地址。地址在IFHU内的流动模拟了真正指令在处理器流水线的执行完成度,因此每次PC从指令内存读出对应指令后,指令如果是BEQ,R- Type或I-Type,他们的根寄存器的地址(RS,RT)将于存在于IFHU流水线内的RD做对比,如果有相同地址代表会出现数据冒险。这些结果会输出到IFU(Instruction Flow Unit),指令控制单元,它按照以下原理决定最终指令是否为空指令以及下周期PC的值:

1. I0和I1正常:执行两个指令,PC0,PC1 + 8

2. I1出现跳跃,分支,或数据冒险:执行I0,PC0 = PC1,PC1 + 4

3. I0出现数据冒险:不执行,PC都不变

4. I0出现跳跃或分支:内部执行,PC0为预测或跳跃后PC,PC1 = PC0 + 4

不出错的话PC1应该永远等于PC0。

下面是IFU:

谁说中国不能做CPU?大一生惊爆你的眼球

IFHURegSelect:

谁说中国不能做CPU?大一生惊爆你的眼球

IFHUXORComp:

谁说中国不能做CPU?大一生惊爆你的眼球


IFHU的另一个重要的组件是一个简单的2位分支预测器。目前我的CPU只支持BEQ(Branch on Equal)这一个分支指令,不过剩下的也都是这一个来的。这是分支预测器FSM:

谁说中国不能做CPU?大一生惊爆你的眼球

设三个状态位元为S2S1S0。主要状态Predict Taken,Weak Not Taken,和Strong Not Taken分别有自己的子状态In Progress,In Progress表示已做预测,不知结果,在这个状态下不会再做预测,确保流水线最多执行一个分支预测。根据上面的FSM,可得出一个下个状态的真值表:

谁说中国不能做CPU?大一生惊爆你的眼球

分支预测器将先把两个可能的PC存进FF,然后使用预测的方向(S1)选择预测PC。同时一个相反方向的电路(~S1)将选择相反的PC,最终由BRsuccess(预测是否成功)来选择最终输出到IFU。


谁说中国不能做CPU?大一生惊爆你的眼球

接下来的指令解码流程就比较直接了。MIPS指令需要读取的寄存器地址直接输进32x32位的寄存器,结果读到RDXX。从这里起,将会有两个数据路径以及两个控制单元。

谁说中国不能做CPU?大一生惊爆你的眼球

寄存器或许也同时要储存四个周期前的指令的计算结果或内存数据,WA[4:0]是写入地址,WD[31:0]是写入内容,寄存器的CLK依然和处理器同步但 FF在Falling Edge更换,保持同周期完成。SigExt是Sign Extend的缩写,它负责把指令的Immediate从16位扩到32位。

32x32位的寄存器矩阵:

谁说中国不能做CPU?大一生惊爆你的眼球

控制单元:

谁说中国不能做CPU?大一生惊爆你的眼球

执行单元的输出ALUcontrol控制ALU的功能:

谁说中国不能做CPU?大一生惊爆你的眼球

RegWrite和MemWrite控制寄存器和内存是否写入,RISel控制执行单元ALU的第二个输入使用寄存器内容还是Imm。这些控制电路会如数据电路往流水线的下一个阶段进行。


接下来是 EU(Execution Unit),执行单元。EU以目前支持的指令来看,只需要一个多功能ALU,以后可以加一个FPU和支持SIMD扩展的计算单元。另外RD1读出的内容直接接到WriteData逻辑,在SW指令里,这个将直接写入数据内存。RegAddr是R-Type或I-Type指令的Write Back地址,因为地址在这两类指令里的位置不一样,控制单元根据OPCode输出的RISel逻辑会选择对应的地址

R-Type:0000 00ss ssst tttt ddddd000 0010 0101 (Write Back地址为d)

I-Type:1000 11ss ssst ttttiiii iiii iiii iiii (Write Back地址为t)

谁说中国不能做CPU?大一生惊爆你的眼球

ALU的设计很简单,控制单元根据Funct输出的ALUcontrol[1:0]控制ALU的功能。现在只需要ADD,SUB,AND,OR。我这里懒省事了,本来想自己写个Carry Look-Ahead Adder但是时间来不及,直接用SV的“+”了。
谁说中国不能做CPU?大一生惊爆你的眼球

谁说中国不能做CPU?大一生惊爆你的眼球

这是用ModelSim测试EU的结果:

谁说中国不能做CPU?大一生惊爆你的眼球

谁说中国不能做CPU?大一生惊爆你的眼球

谁说中国不能做CPU?大一生惊爆你的眼球

结果都正确。


接下来测一下IFHU,我用以下六个指令

谁说中国不能做CPU?大一生惊爆你的眼球

如果正常的话,IFHU应该并行执行指令1和2,到第二个周期,指令4有冒险,因此IFHU应该只执行指令3,并继续读取指令4和5,这两个都依然有冒险,所以在第三周期PC不变。

汇编器的结果:

谁说中国不能做CPU?大一生惊爆你的眼球

ModelSIm运行指令:(完全列出来)

谁说中国不能做CPU?大一生惊爆你的眼球

结果:

谁说中国不能做CPU?大一生惊爆你的眼球

细看一下第一周期的结果:

谁说中国不能做CPU?大一生惊爆你的眼球

可见两个指令都顺利通过,PC都加8

第二周期:

这里的I1F为0开头,代表空指令,PC0 = PC1,而PC1 = PC1 + 4

第三周期:

谁说中国不能做CPU?大一生惊爆你的眼球

两个指令都成空指令,PC也不变,根预料的一样。目前IFHU未发现大问题,指令流动正常。


剩下的就不多说了,MEM和WB都很直接。如果不是马上要考期末了,我会再加点指令,再仔细测测所有单元。本来还想来个乱序执行设计,再放个寄存器重命名单元和保留站,但现在的能力有限,我想先读几本更深的教材。接下来我把几个主要Module的描述发出来。

谁说中国不能做CPU?大一生惊爆你的眼球

谁说中国不能做CPU?大一生惊爆你的眼球

谁说中国不能做CPU?大一生惊爆你的眼球
谁说中国不能做CPU?大一生惊爆你的眼球

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11366

    浏览量

    226320
  • MIPS32架构
    +关注

    关注

    0

    文章

    1

    浏览量

    4554
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    第九届中国研究创芯大赛概伦电子赛题发布

    公司发展的长期战略,为中国集成电路产业打造多层次的专业人才培养机制,已连续多年支持中国研究创“芯”大赛。作为命题企业之,现正式公布两道企业命题,诚邀国内外在读研究
    的头像 发表于 04-23 10:48 529次阅读
    第九届<b class='flag-5'>中国</b>研究<b class='flag-5'>生</b>创芯大赛概伦电子赛题发布

    第九届中国研究创芯大赛新思科技赛题发布

    2026 年,新思科技再度携手中国研究创 “芯” 大赛,倾力提供赛题。以产业前沿需求对接科研攻关方向,赋能高校人才培养。诚邀国内外在读研究勇攀技术巅峰。
    的头像 发表于 04-14 16:12 525次阅读

    不用找原厂也能做门禁卡吗?

    不用找原厂也能做门禁卡吗?能。通过选择通用协议门禁卡(如M1卡、CPU卡)并匹配门禁系统参数,无需依赖原厂即可定制。广州杰众智能科技有限公司提供符合国际标准的门禁卡定制服务,支持跨品牌适配,帮助用户
    的头像 发表于 02-28 14:20 441次阅读
    不用找原厂也<b class='flag-5'>能做</b>门禁卡吗?

    Matter协议,如何快速“串联”多种通信协议?

    Matter协议推动智能家居向统一生态、开放互联演进,提升跨平台兼容性与系统稳定性。
    的头像 发表于 01-27 17:18 768次阅读
    Matter协议,如何快速“串联”多种通信协议?

    芯华章助力2025中国研究创“芯”大赛EDA精英挑战赛圆满举办

    作为深化产教融合的重要载体,中国研究创 “芯” 大赛・EDA 精英挑战赛为校企协同育人机制创新提供了关键平台。
    的头像 发表于 12-19 09:38 662次阅读
    芯华章助力2025<b class='flag-5'>中国</b>研究<b class='flag-5'>生</b>创“芯”大赛EDA精英挑战赛圆满举办

    【社区之星】欧小龙——保护的好奇心:它是所有创造力的源泉

    者的角度来回答这个问题。 对于应届,我深知张“白纸”,不可能有深厚的行业经验。所以,我关注的不是“过去做了什么”,而是“未来
    发表于 11-26 16:31

    颗芯片卖了是什么感觉

    转载自《钟林谈芯》 颗芯片卖了是什么感觉?是痛并快乐着。 市场的火热,出乎意料。交付的压力使人焦虑和心痛,不愿辜负客户、市场对三伍微的认可和支持。尽管之前做了“足够”的安全备货,但市场需求的
    的头像 发表于 11-26 15:11 567次阅读
    <b class='flag-5'>一</b>颗芯片卖<b class='flag-5'>爆</b>了是什么感觉

    直播预约 |开源芯片系列讲座第30期:“一生芯”计划——从零开始设计自己的RISC-V处理器芯片

    鹭岛论坛开源芯片系列讲座第30期「“一生芯”计划从零开始设计自己的RISC-V处理器芯片」11月17日(周三)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目“一生
    的头像 发表于 11-10 12:03 1303次阅读
    直播预约 |开源芯片系列讲座第30期:“<b class='flag-5'>一生</b><b class='flag-5'>一</b>芯”计划——从零开始设计自己的RISC-V处理器芯片

    开源鸿蒙技术大会2025丨统一生态共建分论坛:共建共享开源鸿蒙,聚力共赢统未来

    9月27日,开源鸿蒙技术大会2025统一生态共建分论坛在湖南长沙国际会议中心举行。统一生态共建分论坛广泛邀请到来自开源鸿蒙社区的捐赠单位代表、高校教师、技术专家等汇聚堂,聚焦探讨开源鸿蒙统
    的头像 发表于 10-12 21:05 969次阅读
    开源鸿蒙技术大会2025丨统<b class='flag-5'>一生</b>态共建分论坛:共建共享开源鸿蒙,聚力共赢统<b class='flag-5'>一</b>未来

    新华社《大国院士》:“千里眼”的守望者贲德,研制我国第部相控阵雷达

    近日,新华社【大国院士】专栏刊载中国电科14所雷达工程专家、中国工程院院士贲德的故事,讲述贲院士 为雷达事业发展鞠躬尽瘁的一生。 雷达,是国防的眼睛,也是中国工程院院士贲德的
    的头像 发表于 09-11 18:52 9804次阅读
    新华社《大国院士》:“千里眼”的守望者贲德,研制我国第<b class='flag-5'>一</b>部相控阵雷达

    新思科技连续八年助力中国研究创“芯”大赛

    作为中国研究创 “芯” 大赛的创始合作方,新思科技始终秉持初心,连续八年全力支持这赛事,致力于为中国本土集成电路设计领域培育后备力量,以实际行动推动产业人才生态建设。
    的头像 发表于 08-15 15:40 1242次阅读

    Cadence连续八年助力中国研究创“芯”大赛

    中国研究创“芯”大赛是中国研究创新实践系列赛事之,是项面向全国高等院校和科研院所在读研究
    的头像 发表于 08-06 15:05 1510次阅读

    为智能家居加枝添叶,华普微Matter over Wi-Fi模块HM-MT7201新品上市!

    华普微推出Matter over Wi-Fi模块,助力智能家居统一生态,解决设备割裂问题。
    的头像 发表于 07-23 10:53 2647次阅读
    为智能家居加枝添叶,华普微Matter over Wi-Fi模块HM-MT7201新品上市!

    大一暑假适合学51单片机吗?

    大一暑假学 51 单片机,简直是老天爷赏饭吃的黄金窗口。我当时就是靠着这两个月,把从课本上看来的 C 语言指针、循环语句,变成了能让 LED 按节奏跳舞的真本事。
    的头像 发表于 07-16 11:42 847次阅读
    <b class='flag-5'>大一</b>暑假适合学51单片机吗?

    默默无闻的是否想创业

    心有余而力不足,故特发此信。 不管你是电子领域的大佬,还是初出学堂的小白,只要你在电子方面有足够的自信,不甘默默无闻,三点线了此一生,请联系我微电同号15286651822;如果现在身价百万
    发表于 06-08 12:21