ARM 指令流水线

25 篇文章 26 订阅
订阅专栏

CPU要执行某一个指令,第一步,PC给内存发送地址,IR接收内存返回的指令;第二步,指令译码器解析IR中的指令;第三步,寄存器执行译码结果对应的运算单元。 

实际上,译码器在译码的时候,PC就啥都不干吗,很显然不是,这个时候PC就会自增4来准备取下一条指令。下面我们先通过工厂流水线运作的例子,来初步理解流水线的运作过程。


目录

一、工厂多级流水线理解

1、一级流水线

2、 三级流水线

二、指令流水线

1、三级指令流水线的运作流程 

2、指令流水线的发展以及存在的局限性


一、工厂多级流水线理解

每一个货物的处理包含了三个步骤:组装、包装、装箱

1、一级流水线

一级流水线其实就是只有一个工人,那就说明一个工人要干三个工作,这个时候只能按照组装、包装、装箱的步骤来进行。

第1s,工人组装第一个货物;

第2s,工人包装第一个货物;

第3s,工人装箱第一个货物;

第4s,工人开始组装第二个货物;

... ...

无论哪个时刻,每1s都只能干一件事。

2、 三级流水线

三级流水线其实就是每一步都分配了一个工人,工人A负责组装,工人B负责包装,工人C负责装箱

第1s,工人A先组装第一个货物;

第2s,工人B接着包装第一个货物,这时工人A开始组装第二个货物;

第3s,工人C装箱第一个货物,工人B开始包装第二个货物,工人A开始组装第三个货物;

第4s,工人C装箱第二个货物,工人B开始包装第三个货物,工人A开始组装第四个货物;

... ...

大概2s以后,每1s的时间里都有三件事在同时处理,这就是流水线的基本理念。

 

二、指令流水线

类比上面的工厂流水线,CPU处理指令也可以大致分成三步,指令获取、指令译码、指令执行。下面我们直接介绍指令三级流水线。

1、三级指令流水线的运作流程 

第1s,PC发送0x00地址,获取到的地址保存到IR。

第2s,指令译码器解析第一条指令,此时PC开始获取第二条指令。

第3s,运算器执行第一条指令,译码器解析第二条指令,PC获取第三条指令。

第4s,运算器执行第二条指令,译码器解析第三条指令,PC获取第四条指令。

2、指令流水线的发展以及存在的局限性

(1) 流水线的发展

ARM7采用 3 级流水线

ARM9采用 5 级流水线

Cortex-A9采用 8 级流水线

注意:虽然流水线的级数越来越多,本质还是三级流水线,只不过是在三级流水线的基础上进行了细分。

(2) 流水线的局限性

指令流水线机制的引入确实可以大大提升指令执行的速度,但是在实际执行程序的过程中,很多情况下流水线是无法形成的。比如异常发生时,处理器要切换模式,保存上下文内容,然后跳转异常处理程序,在开始执行处理程序之前,流水线都无法正常运作。

因此,流水线的引入只能是优化了原本的流程,流水线的级数也不能太多,流水线级数越多,芯片设计的复杂程度也越高,芯片的功耗也越高。

ARM指令流水线ARM存储加载指令
wangjie36的博客
10-15 1490
ARM寄存器之SPSR(保存当前程序状态寄存器) 位宽也是32位,用来保存CPSR,当CPU正在运行某个进程,此时CPU的工作模式为 +User模式,此时UART控制器给CPU发送一个IRQ中断,CPU相应IRQ中断,伴随着CPU由User模式切换到IRQ模式,但是在切 +换之前,应该保存当前进程的运行状态(否则将来再返回就没法继续运行),只需将cpsr保存在IRQ模式下的spsr下,将来中断处理完毕以 +后,再将IRQ模式下的spsr给cpsr,恢复到之前被打断的进程的状态。=0,使能IRQ中断。
ARM流水线技术
热门推荐
hudieping的专栏
12-20 1万+
 ARM流水线技术      流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器的效率和吞吐率。ARM7是冯·诺依曼结构,采用了典型的三级流水线,而ARM9则是哈佛结构,采用五级流水线技术,而ARM11则更是使用了7级流水线。通过增加流水线级数,简化了流水线的各级逻辑,进一步提高了处理器的性能。      在ARM7中,执行单元完成了大量的工作,包括与操作数相关的寄存器和
ARM体系结构】ARM处理器流水线技术解析
最新发布
Exun Blog
09-04 2498
本文旨在深入探讨ARM体系结构中流水线的概念、原理、分类,并分析影响流水线性能的关键因素,同时详细阐述指令执行过程的典型步骤,为理解和优化ARM处理器性能提供理论基础和实践指导。
ARM体系与架构
weixin_48270397的博客
07-16 1122
冯诺依曼结构采用指令和数据统一编址,使用同条总线传输,CPU读取指令和数据的操作无法重叠。哈佛结构采用指令和数据独立编址,使用两条独立的总线传输,CPU读取指令和数据的操作可以重叠。利弊冯诺依曼结构主要用于通用计算机领域,需要对存储器中的代码和数据频繁的进行修改,统一编址有利于节约资源。哈佛结构主要用于嵌入式计算机,程序固化在硬件中,有较高的可靠性、运算速度和较大的吞吐。流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐量,从而称为微处理器设计中最为重要的技术之一。ARM7。
ARM编程模型-指令流水线
weixin_43586667的博客
09-02 1984
流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之一。
ARMARM流水线技术
C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师---欢迎大家一起交流(私信添加博主微信)
06-16 4214
00. 目录 文章目录00. 目录01. 流水线概述02. 流水线分类03. 影响流水线性能的因素04. 附录 01. 流水线概述 处理器按照一系列步骤来执行每一条指令,典型的步骤如下: (1)从存储器读取指令(Fetch)。 (2)译码以鉴别它属于哪一条指令(Decode)。 (3)从指令中提取指令的操作数(这些操作数往往存在于寄存器 Reg 中)。 (4)将操作数进行组合以得到结果或存储器地址(ALU)。 (5)如果需要,则访问存储器以存储数据(Mem)。 (6)将结果写回到寄存器堆(Res)。 并不是
嵌入式:ARM流水线技术
timerring的博客
12-12 1436
ARM7为止的ARM处理器使用的简单3级流水线分别为取指级 :读取指令。译码级 :对指令进行译码。占有“译码逻辑”,不占有“数据路径”。执行级 :指令占有“数据路径”,寄存器堆栈被读取,操作数在桶式移位器中被移位,ALU产生相应的运算结果,并写回目的寄存器中。并根据需求更改状态寄存器的条件位。
ARM体系结构(二)——流水线
SC_Stanley的专栏
09-20 2126
一.流水线的概念与原理 处理器按照一系列步骤来执行每一条指令,典型的步骤如下: ①  从存储器读取指令(fetch); ②  译码(以鉴别它属于哪一种指令)(dec); ③  从指令中提取指令的操作数(这些操作数往往存在于寄存器中)(reg); ④  如将操作数进行组合以得到结果或存储器地址(ALU); ⑤  如果需要,则访问存储器以存储数据(mem); ⑥  将结果写回到寄存器堆(
关于ARM指令流水线知识1
08-08
ARM指令流水线的设计旨在优化指令执行的效率,使得处理器能同时处理多条指令,而不仅仅是一条接一条地顺序执行。 首先,我们需要理解指令执行的三个基本步骤:Fetch(取指令)、Decode(解码)和Execute(执行)。...
ARM流水线技术详细讲解
11-04
ARM流水线介绍,总的介绍的非常详细,对刚接触ARM的同学来说,可以减少很多弯路。
嵌入式系统/ARM技术中的ARM流水线
11-13
流水线的实质就是在明显制约系统速度的那条长路径上插入几级寄存器,使信号在时钟的作用下到达目的地,这样由于用寄存器截断了长路径,使得寄存器到寄存器最大延时缩短,因而可以提高整个系统的速度。   不同于微编码的处理器,ARM(保持它的RISC性)是完全硬布线的。ARM流水线结构如图所示。   ARM流水线的执行分三个阶段:第1阶段持有从内存中取回的指令,第2阶段开始解码,而第3阶段实际执行它。故此,程序计数器总是超出当前执行指令的2个指令(在为分支指令计算偏移量时必须计算在内)。   图 ARM流水线结构   因为有这个流水线,在分支时丢失2个指令周期(因为要重新填满流水线),所以最好
嵌入式系统/ARM技术中的TMS320C55x的指令流水线及其效率的提高
12-10
它在TMS320C54x基础上进行了重大改进,包括增强指令集、优化指令流水线和引入自动保护机制,以提升系统执行效率。 C55x的指令流水线是其高效执行的关键。传统的指令执行方式是顺序执行,而C55x采用指令流水线技术,...
嵌入式系统/ARM技术中的64位MIPS指令处理器的流水线设计
12-01
例如,我们的64位MIPS指令处理器基于RISC架构,执行32位定长MIPS指令,设计有五级流水线,包括取指(IFetch)、译码(Decode)、执行(Execute)、内存操作(Memory)和写回寄存器(Write-Back)五个阶段。...
ARM流水线
weixin_33976072的博客
10-09 504
流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之一。ARM7处理器核使用了典型三级流水线的冯·诺伊曼结构,ARM9系列则采用了基于五级流水线的哈佛结构。通过增加流水线级数简化了流水线各级的逻辑,进一步提高了处理器的性能。 ARM7的三级流水线在执行单元完成了大量的工作,包括与操...
ARM架构学习(二)——流水线
weixin_37620587的博客
11-07 2018
本期主题: ARM流水线 往期地址: ARMv7架构学习 ARM流水线1.流水线概念2.指令的分解步骤 1.流水线概念 硬件资源总是有限的,有一个明显的方法能改善硬件资源的利用率,这就是pipeline(流水线)技术,其实就是在当前指令结束之前就开始执行下一条指令ARM中的流水线是这么做的: 当一条指令刚执行完步骤1,准备转向步骤2时,下一条条指令开始执行步骤1。 2.指令的分解步骤 一条指令在被处理器运行时,实际上会被拆解成很多步骤,典型的计算机系统步骤如下: 首先,处理器需要从存储器中取指
ARM--流水线
MHD0815的博客
03-18 400
流水线带来的优势在于可以连续不断地从内存中提取指令并进行处理,但如果遇到分支指令、数据依赖性或其他流水线冲突时,处理器可能需要进行流水线停顿或冲刷,以保持指令执行的正确性。4. **访存(Memory)**:如果指令涉及到内存操作(如读取或写入),则在这一步执行数据的读取或写入操作。3. **执行(Execute)**:根据指令执行算术逻辑运算,如加法、减法、位操作等。2. **译码(Decode)**:将取出的指令解码成控制信号和操作数。1. **取指(Fetch)**:从内存中取出下一条要执行的指令
写文章

热门文章

  • 【cmake学习】cmake 引入第三方库(头文件目录、库目录、库文件) 50843
  • 【DMA】认识 DMA 及其工作流程(与传统CPU存取方式的区别) 30201
  • 【虚拟机】Ubuntu18.04 设置共享文件夹(解决/mnt 目录下没有 hgfs 目录) 25087
  • 重新认识 IP地址 23672
  • 【虚拟机】Ubuntu 手动配置DNS 22331

分类专栏

  • 嵌入式 25篇
  • STM32 4篇
  • 汇编 13篇
  • makefile 11篇
  • Linux驱动(I.MX6ULL) 27篇
  • I.MX6ULL裸机开发 29篇
  • Linux 基本命令和开发工具 54篇
  • cmake 17篇
  • Linux 基础 131篇
  • C/C++ 111篇
  • 数据结构 12篇
  • Mysql / Sqlite 数据库 21篇
  • springboot + vue3 + mybatis 23篇

最新评论

  • 【裸机开发】认识中断向量表(设置中断向量偏移的原因)

    仲夏夜之梦~: 你的sd卡中如果有启动镜像,启动镜像会指示要把代码拷贝到ram 的哪个位置

  • 【裸机开发】认识中断向量表(设置中断向量偏移的原因)

    wys0910: 佬,为什么中断向量表和代码的地址可以是一个地址,晕了。这个内部boot rom在运行后检测到指定的设备保存代码(比如sd卡)就会把代码拷贝到设置在RAM上的链接地址吗,中断向量表的本质也是代码吗,所以可以放在一个地址?

  • 认识epoll模型的两种工作方式 以及 ET模式必须设为非阻塞的原因

    m0_67558676: 规定每次读1024个字节,数组大小为1024,为什么recv里面sizeof要减一

  • 【Linux驱动】copy_to_user 、copy_from_user 函数

    小小超: 查看头文件是否正确引入

  • ctemplate 的安装和使用

    一串平凡的代码: 大佬 你还有ctemplate的包吗 能给一下吗

最新文章

  • 【Makefile】Makefile 编译 Keil 工程(Linux 环境)
  • 【Makefile】编译 .h 头文件生成 .gch 预编译文件
  • 【cmake】Windows 环境下编译第三方依赖源码(以编译Xerces库为例)
2024年18篇
2023年169篇
2022年281篇
2021年10篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

外国毕业证样本制作公司杭州做国外留学文凭代做贵阳代办海外学历代做深圳补办国外博士毕业证定做哈尔滨补办海外留学文凭长春做海外本科毕业证沈阳定做海外学位证书代做昆明做国外博士毕业证太原制作海外本科毕业证代办天津做国外大学毕业证兰州代办国外成绩单代办郑州补办国外证件定制南京补办海外文凭毕业证定制兰州代办国外硕士毕业证办理济南制作海外留学文凭定制济南国外文凭毕业证长春制作国外毕业证制作成都代办国外学历证办理西安代做国外学位证定做石家庄代做国外学位补办重庆制作国外学位证制作福州办理国外留学文凭代办重庆定做海外留学生学位证杭州制作海外留学学位证办理北京制作海外学历代办深圳定做海外学位证书代办西宁代办海外学历文凭代办昆明办国外成绩单代办长沙做海外文凭代办大连代做国外留学学位证代办武汉办理国外文凭毕业证定制淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

外国毕业证样本制作公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化