第二章 嵌入式处理器(2)

2019-03-10 19:19

§2.1嵌入式处理器体系结构

嵌入式处理器是嵌入式系统的硬件核心,内部含有嵌入式CPU、存储器以及不同用途的I/O控制器电路。其体系结构的不同直接影响着嵌入式系统开发工具的选择、应用程序的编写。了解嵌入式处理器内部体系结构对于开发、设计嵌入式系统是必要的。 §2.1.1嵌入式处理器体系结构

目前嵌入式处理器的系统结构有CISC复杂指令集计算机(Complex Instruction Set

Computer)与RISC精简指令集计算机(Reduced Instruction Set Computer)。

1、CISC

早期处理器的体系结构基本上是与当时的“小型机”一脉相承的。所谓“体系结构”是指程序员在为特定处理器编制程序时所看到的从而可以在程序中使用的资源及其相互间的关系,其中最重要的就是所提供的指令系统与寄存器组。早期计算机的CPU,包括早期处理器指令系统都是CISC的。

CISC体系结构的处理器特点:是指其指令系统复杂,指令种类繁多,寻址方式灵活,指令功能强大。能够为典型的高级语言成分提供相应的指令,便于编写程序且程序的阅读性好,更重要的是,高级语言的编译过程也随之简化。

随着技术的发展,CISC的缺陷逐步凸现出来了。

为了提高运算速度,在处理器中采用了“预取指令”等“流水线操作”技术。由于CISC的复杂指令的存在使得各种指令的执行时间长短不一致,指令本身长度也不一致,从而导致流水线(特别是较长的流水线)常常不能被有效地充满,影响了运算速度。

处理器的集成规模是受到半导体技术以及生产成本的限制,减小芯片的尺寸和降低功耗又是市场需要,也是电子设计追求的目标,这对于嵌入式系统更有着特殊的意义。由于CISC体系结构的处理器多数采用微程序技术设计指令系统,微程序ROM又是微处理器内部“占地”最大的部分,复杂指令又是其中“大户”。给芯片的微型化和低功耗的实现带了困难。

随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构越来越复杂,然而,在CISC指令集的各种指令中,复杂指令集使用频率却相差悬殊,大约有20%的指令会反复使用,而其余80%的指令不经常使用,显然,这种体系结构有它的不合理之处。 2、RISC

6

基于CISC上述的缺陷,“简约(精简)指令计算机”,即RISC(Reduced Instruction Set Computer)的概念与技术便应运而生。这方面的研究最初由IBM公司开始,后来加州大学伯克利分校(1979年)以及斯坦福大学的研究人员也基本上各自独立进行了研究(其中IBM的John Cocke因为在这方面的贡献而荣获1987年的图灵奖)并各自取得了丰硕的成果。这些成果后来发展成为PowerPC、SPARC、以及MIPS等几种最主要的RISC体系结构。与RISC相对应的、传统的体系结构便成了“复杂指令集计算机”即CISC(Complex Instruction Set Computer)。

RISC系统结构具有的特点:

? 采用固定长度的指令格式,指令规整、简单基本寻址方式有2~3种,指令系

统小。

? 使用单周期指令,便于流水线操作执行。

? 大量使用寄存器(一般≥32个寄存器),数据处理指令只对寄存器进行操作,

只有加载(LOAD)/存储(STORE)指令可以访问存储器,以提高指令执行效率。 ? RISC系统结构的处理器都采用流水线,都带有高速缓存(cache)。 3、CISC与RISC的比较

与CISC系统结构相比,RISC系统结构确实有不少优点,特别是RISC处理器的电路简单、速度快、芯片面积小、开发周期短。但是也有缺点,那就是代码的密度不高,使得可执行程序的体积较大,其汇编代码的可读性较差。还有,在Intel的X86系列已经在CPU市场占统治地位的今天,不能与X86指令系统兼容,也给RISC的普及应用带来了不利的影响。

由于RISC的优点,用于嵌入式系统的处理器大都是RISC系统结构的。但是并不是说CISC没有市场,Intel的X86系列证明了在CISC系统结构也可以成功地采用流水线,Motorola的68K系列也是成功的,因此,RISC和CISC各有优势。

§2.1.2嵌入式处理器存储体系结构

嵌入式处理器的存储体系结构有冯·诺依曼(普林斯顿)和哈佛体系结构。 1、冯·诺依曼体系结构

在计算机科学与技术的发展史上,冯·诺依曼(Von Neuman)是作出重大贡献的科学家。计算机的的工作原理是“存储程序(数据),程序控制”,即冯.诺依曼原理。计算

7

机的基本功能是数据计算,冯.诺依曼提出:程序只是一种(特殊的)数据,对于程序也可以像对数据一样加以处理,并且因而程序可以与数据存储在同一个存储器中,即冯.诺依曼存储体系结构。现代计算机,特别是通用计算机,基本上都采用冯.诺依曼结构,都只有一个统一的内存。冯·诺依曼存储体系结构模型如图2.1所示。 图2.1 冯·诺依曼存储体系结构模型

其指令的执行周期T

1)取指令(Instruction Fetch):TF 2)指令译码(Instruction Decode):TD 3)执行指令(Instruction Execute):TE 4)存储(Storage):TS

每条指令的执行周期:T= TF+TD+TE+TS 冯·诺依曼体系结构的特点:

? 数据与指令都存储在存储器中 ? 存储器采用统一编址

输入 中央处理器 数据通道 输出 数据0 数据1 数据2 数据 指令寄存器 控制器 程序 存储器 地址指令0 指令1 指令2 指令3 数据/指令 指令4 8

? 被大多数计算机所采用

? 单数据总线、地址总线、控制总线,内部电路简单 ? 内部只有一个数据核指令共享的cache,提速有局限性 ? 程序与数据存取访问不能并行,有互斥性,存在指令读取瓶颈 ? ARM7——冯诺依曼体系结构 2、哈佛体系结构

在一些输入/输出特别繁忙。而且输入/输出数据量特别大的系统中,冯·诺依曼体系结构却成了问题,虽然DMA是一种提高输入/输出效率的有效方法,但是,对于一个统一的存储器,采用了流水线技术,使得CPU和DMA对内存的访问互相排斥,所以CPU在整个DMA期间既不能访问内存中的数据,也不能从内存中取指令。这种导致CPU停下来问题称之为“冯·诺依曼体系结构瓶颈”。

于是,在嵌入式系统中,采用了将程序和数据分别存放在两个独立存储器、两套总线的体系结构,称之为哈佛体系结构(Harvard Architecture)。在哈佛结构中,即使数据总线(数据内存)被占用,CPU也能继续从程序存储器中取指令并加以执行,这样就在CPU的操作与外设的DMA操作之间引入了某种并行度,从而可以提高系统的效率。

图2.2 哈佛体系结构存储体系结构模型

输入 中央处理器 数据通道 输出 数据 地址 数据存储器 指令寄存器 指令0 控制器 指令 指令1 指令2 程序存储器 地址 数据0 数据1 数据2 9

哈佛体系结构的特点:

? 程序存储器与数据存储器分开 ? 提供了较大的数据存储器带宽 ? 适合于数字信号处理 ? 大多数DSP都是哈佛结构 ? ARM9是哈佛结构

实际上是内部总线分为数据访问总线和程序访问总线

程序访问:程序地址总线,程序数据总线,程序读取控制总线 数据访问:数据存取地址总线,数据总线,数据读取控制总线 一般内部有2个cache:数据cache和指令cache 3、I/O端口编址方法

I/O地址独立编址方法:存储器地址空间与I/O端口地址空间分别编址,互不干涉。 I/O地址统一编址方法:I/O地址空间与存储器地址空间合在一起编址,I/O地址空间占用存储器空间的一个区域,例如ARM嵌入式处理器中定义的“特殊功能寄存器SFR”地址空间实际上就是I/O地址空间。图示??

§2.1.3 嵌入式处理器中的典型部件 1、桶型移位器 移位器功能:

普通移位器:实现移位操作时在一个时钟脉冲周期只能进行一位二进制数的移位操作,要进行多为的移位操作,就需要消耗多个时钟周期,非常耗时。

桶型移位器:是能够在一个时钟周期内进行字宽限度内的任意位数移位或循环移位操作的硬件移位器。有效提高了嵌入式处理器的移位运算功能。

桶型移位器结构与工作原理:实际上是将输入与输出引线通过开关阵列的开关接通或断开的组合,来得到移位操作结果的。 例如一个4位字宽的桶型移位器结构如下:

图示???4位字宽的桶型移位器结构

例如实现数据0b1011循环右移2位的操作是:在一个时钟周期内,向输入端口

10


第二章 嵌入式处理器(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高职教育动态

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: