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

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

3天内不再提示

自制CPU(三)流水线

学FPGA,慢慢来 2018-07-16 09:20 次阅读

经过上两篇文章的阅读,大家应该清楚自己的CPU大致是如何处理数据的,而又是如何执行指令的。我们现在来在简略的说一下流水线CPU的设计。(源码在CSDN下载页,请自取)

流水线CPU的基本数据通路和单周期没有什么太大区别,而且也是每个时钟周期都有一条指令执行结束。但是他又和多周期CPU一样一条指令需要多个时钟周期完成。而同时使这两条条件同时满足的就是流水线技术了。先上一张图

由于在多周期CPU中,比如我们正在第三级执行第五条指令的执行操作,对于整个数据通路来讲,其它几级都是空闲状态,那我们为了提高CPU的工作效率,就让他提前后边指令的其他几级操作。这样一来,我们的CPU就像工厂内的流水线一样,每一级都在工作,大大提升了他的工作效率。

在设计中,流水线CPU甚至会比多周期CPU更好实现。由于数据是一级一级向下流,我们都无需进行状态机的状态转移来控制,只需要让数据与他的控制信号同步流向器件。每一个时钟周期数据都是从上一级流向下一级。而对应的寄存器就是在每个时钟上升沿都读出旧数据,写入新数据。

但是在流水线CPU中,分支跳转语句变成了一个难点,当指令发现是分支跳转指令时,输出branch信号,后等待ALU输出比较值是否相等。如果相等,进行跳转。但是跳转时,我们的流水线已将后三条指令读入并操作了一部分了。这时我们便需要清空存储器。或者我们也可以当检测到branch信号时CPU停止读入指令,直到判断结果输出时在进行跳转。、

流水线CPU是非常好用的CPU,在我们后续的程序编写的时候基本上都会使用流水线CPU,偶尔也会用多周期CPU。


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

    关注

    1602

    文章

    21301

    浏览量

    593100
收藏 人收藏

    评论

    相关推荐

    固定式安装工业读码器,助力提高流水线人工上料效率

    在工业生产中,固定式安装工业读码器主要是为了配合流水线、传送带进行高效准确地条码扫描,因此它能为流水线人工上料提供高效的解决方案。通过使用这种二维码识别扫描器,工人可以迅速准确地识别和读取流水线
    的头像 发表于 02-27 14:43 93次阅读
    固定式安装工业读码器,助力提高<b class='flag-5'>流水线</b>人工上料效率

    超级方便的轻量级Python流水线工具

    Mara-pipelines 是一个轻量级的数据转换框架,具有透明和低复杂性的特点。其他特点如下: 基于非常简单的Python代码就能完成流水线开发。 使用 PostgreSQL 作为数据处理引擎
    的头像 发表于 10-31 11:26 351次阅读
    超级方便的轻量级Python<b class='flag-5'>流水线</b>工具

    多周期cpu的设计思想是什么?怎样实现cpu流水线

    多周期cpu的设计思想是什么?怎样实现cpu流水线? 多周期cpu的设计思想是针对传统的单周期处理器在执行每条指令时需要花费大量时间等待内存访问,而提出来一种新型的处理器设计思想。多
    的头像 发表于 10-19 16:53 1396次阅读

    单周期cpu和多周期cpu的区别 多周期cpu流水线的区别

    单周期cpu和多周期cpu的区别 多周期cpu流水线的区别  单周期CPU和多周期CPU的区别
    的头像 发表于 10-19 16:53 5981次阅读

    流水线ADC的内部结构和工作原理是什么

    几年各种各样的流水线ADC已经在速度、分辨率、动态性能和功耗方面有了很大的提高。对于几Msps到100Msps的8位高速和16位低速模数转换器(ADC),流水线已经成为最流行的模数转换器结构,它可以涵盖很广的应用范围,包括CCD成像、超声成像、数字接收、基站、数字视频(如
    的头像 发表于 09-26 10:25 1099次阅读
    <b class='flag-5'>流水线</b>ADC的内部结构和工作原理是什么

    流水线ADC结构解析 流水线ADC和其它ADC的比较

    低采样速率ADC仍然采用逐次逼近(SAR)、积分型结构以及最近推出的过采样ΣΔADC,而高采样速率(几百MSPS以上)大多用闪速ADC及其各种变型电路。然而,最近几年各种各样的流水线ADC已经在速度
    发表于 09-26 10:24 530次阅读
    <b class='flag-5'>流水线</b>ADC结构解析 <b class='flag-5'>流水线</b>ADC和其它ADC的比较

    什么是流水线?ARM处理器流水线简析

    流水线是为了提高效率,能并发同时进行多个任务。
    的头像 发表于 09-05 15:39 1218次阅读
    什么是<b class='flag-5'>流水线</b>?ARM处理器<b class='flag-5'>流水线</b>简析

    2分钟快速上手华为云流水线CodeArts Pipeline的创建与运行

    涉及服务简介 软件持续交付流水线CodeArts Pipeline是华为云软件开发生产线CodeArts的一个子服务,是一个可视化的自动化任务编排调度平台,可串联编译构建、代码检查、自动化测试、部署
    的头像 发表于 09-01 13:47 242次阅读
    2分钟快速上手华为云<b class='flag-5'>流水线</b>CodeArts Pipeline的创建与运行

    制造企业常用的流水线Andon安灯呼叫系统是什么

    制造企业使用的流水线Andon安灯呼叫系统是一种非常实用的生产管理工具,它不仅能够提高生产效率和质量,还可以为企业提供宝贵的数据支持,帮助企业实现持续改进和优化。
    的头像 发表于 08-30 21:14 299次阅读

    新版本Jenkins推荐使用声明式流水线

    stage:和声明式的含义一致,定义流水线的阶段。Stage 块在脚本化流水线语法中是可选的,然而在脚本化流水线中实现 stage 块,可以清楚地在 Jenkins UI 界面中显示每个 stage 的任务子集。
    的头像 发表于 07-20 16:43 468次阅读

    半导体制冷技术应用--全自动生化免疫流水线

    全自动生化免疫流水线系统包括了标本的前处理系统、离线样本的分杯系统、生化免疫检测系统以及大容量标本贮存系统。在全自动生化免疫流水线运行过程中,工作人员只需将装有血液或尿液样品并贴有条形码的试管放到
    的头像 发表于 07-14 17:32 504次阅读
    半导体制冷技术应用--全自动生化免疫<b class='flag-5'>流水线</b>

    总结一下pipeline流水线设计的关键点

    pipeline流水线设计是一种典型的面积换性能的设计。一方面通过对长功能路径的合理划分,在同一时间内同时并行多个该功能请求,大大提高了某个功能的吞吐率
    发表于 06-27 15:26 1093次阅读
    总结一下pipeline<b class='flag-5'>流水线</b>设计的关键点

    串联式流水线和并联式流水线

    串联式流水线,应该备用几台机器人,能立即刷程序和立即上位。 因为串联式流水线一停机就必须全线停,等你修好了黄花菜都凉了。必须有一套每工位替换的设计。能换机上程序就行。按机器的故障率来说,每100台
    发表于 05-19 18:30

    什么是流水线 Jenkins的流水线详解

    jenkins 有 2 种流水线分为声明式流水线与脚本化流水线,脚本化流水线是 jenkins 旧版本使用的流水线脚本,新版本 Jenkin
    发表于 05-17 16:57 656次阅读

    一个典型的流水线设计

    流水线设计通常可以在一定程度上提升系统的时钟频率,因此常常作为时序性能优化的一种常用技巧。如果某个原本单个时钟周期完成的逻辑功能块可以进一步细分为若干个更小的步骤进行处理,而且整个数据处理过程是单向
    的头像 发表于 05-08 10:55 696次阅读
    一个典型的<b class='flag-5'>流水线</b>设计