高级会员
- 积分
- 762
- 金钱
- 762
- 注册时间
- 2021-5-18
- 在线时间
- 28 小时
|
本文主要介绍ARM7,ARM9E,ARM11以及Cortex-A系列处理器的流水线,从指令读取fetch,指令解码decode到指令执行的各个阶段。
ARM公司成立于1990年,目前已经销售了超过150亿个芯片,并向超过200多加公司销售了超过600个处理器的授权,目前全世界有超过95%的手机以及超过25%的消费电子产品使用ARM作为处理器核心。
ARM(Advanced RISC Machines)是专注于RISC(Reduced Instruction Set computer)架构的处理器公司,最早的ARM1原型是1985年在英国剑桥的Acorn公司设计,并由VLSI生产,早期的ARM1,ARM2,ARM250,ARM3..的处理器都被Acorn这家公司作为计算机处理核心。
目前处理器架构中,主要有1940年代提出的Von Neumann提供的记忆体架构,让程序和数据共用总线,之后的Harvard架构则让程序和数据使用不同的架构,好处是可以让程序和数据同事从存储器内操作。早期的ARM7跟8051一般是采用Von Neumann架构,一块cache供指令与数据存取,而目前新的微处理器架构 (例如:ARM11 or Cortex A)通常都采用Harvard架构,也就是处理器会支持I-Cache与D-Cache,区分指令和数据的总线操作,提高处理器效率。有关ARM处理器的冯诺依曼和哈佛架构可以参考网页http://stenlyho.blogspot.com/2008/08/armcpu.html ,如下所示
ARM是采用RISC 精简指令集 (Reduced Instruction Set Computing)架构的处理器,RISC架构主要选择使用频率较高的简单指令,避免复杂指令,使用固定长度的指令编码(支持32bits,16bits或16/32bits混合),单周期指令,便于Pipeline的操作执行,并通过大量暂存器,让逻辑处理指令只对暂存器进行操作,只有特定载入/储存的指令可以存取存储器內容.相比CISC架构,会随着需求,不断的加入新的指令集,使得架构越来越复杂,实际应用中,也并非所有的指令都是常被使用的,如下以CSIC架构的x86 指令集为例,指令集呈现不固定长度的方式,如下例子有1,2,7与11 bytes的例子
(1bytes)0×48 = dec eax
(2bytes)0×89 F9= mov ecx,edi
(7bytes)0x8B BC 24 A4 01 00 00 = mov edi,dword ptr [esp+000001A4h]
(11bytes)0×81 BC 24 14 01 00 00 FF 00 00 00 = cmp dword ptr [esp+00000114h],0FFh
ARM通过Pipeline的方式加速指令集的处理,在Pipeline执行阶段,如果发生中断,也会把Pipeline中的指令执行完畢才进入中断,如下所示ARM7支持如下的3级Pipeline
Fetch → Decode → Execute
其中
原文链接:https://www.yunduoketang.com/article/zhiboshangkept.html
|
|