2.6 ARM存储器结构 ARM架构的处理器的存储器寻址空间有232=4G字节,该存储空间可以分为可快存/可缓冲(Cacheable /Bufferable)区域和不可快存/不可缓冲区域。 ARM架构的处理器,有的带有指令快存(I-Cache)和数据快存(D-Cache);但是,片内都不带有片内RAM和片内ROM。系统所需的RAM和ROM(包括闪存FLASH)都通过总线处接;故有的片内还带有存储器管理单元MMU(Memory.

Slides:



Advertisements
Similar presentations
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
Advertisements

Linux 系统. 操作系统发展需求 1 没有操作系统 2 简单批处理操作系统 3 多道程序设计的批处理 4 多道程序设计的分时操作系统 5 多处理机并行系统 6 网络操作系统 7 分布式操作系统.
第 4 章存储器、存储管理和 高速缓存技术 4.1 存储器和存储部件 4.2 存储器的连接 4.3 微型计算机系统中存储器的体系结构 4.4 Pentium 的虚拟存储机制和片内两级存储管理 4.5 高档微机系统中的高速缓存技术 第一次课 第二次课 第三次课.
微机原理与接口技术 第二章: ARM微处理器硬件结构
计算机系统结构 (第9讲).
2017年3月5日 单片机原理与应用 背景知识调查.
NEUSOFT Institute of information Technology .ChengDu
缓存(续).
实验四 利用中规模芯片设计时序电路(二).
5.5 减少命中时间 容量小、结构简单的Cache 第五章 存储层次
5.4 顺序脉冲发生器、 三态逻辑和微机总线接口 顺序脉冲发生器 顺序脉冲 计数型 分类 移位型.
回顾.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
Cache综合应用案例 某计算机的主存地址空间大小为256 MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64 B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下所示: 程序A: int a[256][256]; …… int.
计算机基础知识 丁家营镇九年制学校 徐中先.
3.1 存储器的构成 3.2 存储系统的构成 3,3 Cache 3,4 虚拟存储器
§3 高速缓冲存储器(Cache) 工作原理和基本结构 地址映象与变换 Cache存储器的LRU替换算法的硬件实现
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
ARM存储器结构 ARM架构的处理器的存储器寻址空间有4G字节 ,存储空间可以分为 :
第3章 ARM体系结构.
带Cache的内核简要介绍.
C H A P T E R 8 体系结构对系统开发的支持.
第三章 微机基本系统的设计 第一章 8086程序设计 第二章 MCS-51程序设计 第四章 存贮器与接口 第五章 并行接口
存储系统.
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
第2章 ARM微处理器硬件结构 计算机体系结构分类 ARM版本及系列 ARM处理器结构 存储系统机制.
AM5728 视频输入端口VIP软件框架 广州创龙电子科技有限公司
逆向工程-汇编语言
数据挖掘工具性能比较.
CPU结构和功能.
第二章 80x86计算机组织 x86微处理器 2.2 基于微处理器的计算机系统构成 2.3 中央处理机 2.4 存储器
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
得技通电子 问题 1.0 、选择题:本大题共15个小题,每小题1分,共15分,在每小题给出的四个选项中,只有一项符合题目要求,把所选项前的字母填在括号内。
微机系统的组成.
ARM 处理器内核.
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第2章ARM/THUMB微处理器结构及指令系统
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
VisComposer 2019/4/17.
计算机组成原理 课程设计.
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
(Random Access Memory)
第二章 补充知识 2.1 总线和三态门 一、总线(BUS) 三总线结构 数据总线DB(Data Bus)
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第六章 記憶體.
段式存储管理(Segmentation)
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
HSC高速输出例程 HORNER APG.
微机原理与接口技术 ——8086微处理器 西安邮电大学 计算机学院 范琳.
临界区问题的硬件指令解决方案 (Synchronization Hardware)
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
基于列存储的RDF数据管理 朱敏
微机原理与接口技术 西安邮电大学计算机学院 宁晓菊.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
24 or 1024? PWN Jawbone Up24 手环.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
入侵检测技术 大连理工大学软件学院 毕玲.
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
DSP技术与应用 电子与信息技术系.
Presentation transcript:

2.6 ARM存储器结构 ARM架构的处理器的存储器寻址空间有232=4G字节,该存储空间可以分为可快存/可缓冲(Cacheable /Bufferable)区域和不可快存/不可缓冲区域。 ARM架构的处理器,有的带有指令快存(I-Cache)和数据快存(D-Cache);但是,片内都不带有片内RAM和片内ROM。系统所需的RAM和ROM(包括闪存FLASH)都通过总线处接;故有的片内还带有存储器管理单元MMU(Memory Management Unit)。ARM架构处理器还允许外接PCMCIA。

2.6.1 ARM Cache结构 Cache是一种小容量,高速度的存储器,用于处理器与主存储器之间,存放当前被使用的主存部分内容,以减少访问主存的等待时间。

表2-4 Cache 性能 Cache结构 性能 无Cache 1 I-Cache(only) 1.95 D-Cache(only) 1.13 I-Cache和 D-Cache 2.5

1. Cache的分类和结构 常用的Cache有两类:指令和数据统一的Cache;以及指令和数据分离的I-Cache与D-Cache。新型的ARM架构处理器较多采用了I-Cache与D-Cache的独立块存结构,如Intel公司的SA1110处理器内含16K字节I-Cache和8K字节D-Cache。

图2-19 统一Cache的结构示意图

图2-18 分离Cache的结构示意图

2. Cache的放置安排 快存Cache的放置是主存地址与快存Cache单元之间的映像机制。常用的方法有直接映像(Direct-mapped)、组相联(set-associative)和全相联(Fully associative)等。

a) 直接映射 直接映像的方式是给定的内存块仅能放在一个特定的Cache块中。可用若干低位地址直接访问Cache项,其余的高位地址与Cache项中的地址标识(tag)进行比较。若比较相等且有效位为“1”,则为“命中(hit)”,这是最简单的放置算法。未命中则为“失效(miss)”。

直接映像

图2-21 直接映像的Cache机制 data RAM tag RAM compare mux data hit address Index 4 9 19 16byte 图中的Cache为8K字节(data RAM),每行为16字节,即有512行。32位地址中的低4位作为行内的字节选择,9位索引(index)来选择行,其余的高19位作为地址标识(tag)。 图2-21 直接映像的Cache机制

优点: 实现简单 访问Cache速度快 缺点: 某些情况下命中率很低

b) 组相联映像 组相联映像也使用低位地址直接访问Cache项,但它选中的是一个组,组内包含有两块或多个块。给定的内存块可以放在选中组中的任意一块内。一组内的块数,一般称为相联度或相连路数(way)。选中一组后,组内所有项的标识同时进行比较,如果有一个匹配,则“命中”。与组相联映像实际上是靠比较器的个数据及增宽Cache位来降低Cache块的冲突。

组相联映像

图2-22二路组相联的示意图 data RAM tag RAM compare mux address data hit Tag Index 8 20 图中的Cache为8K字节,每行16字节,分为二个组直接映像Cache,每个为256行。32位地址中的4位作为行内的字节选择,索引(index)只需8位,其余的高20位作为地址标识。组相联是通过“单体多字存储器”来并行查询,二路组相联即通过单体双字存储器来查询,有2个比较器。 在Intel 公司的SA-1110处理器中,512字节的微型数据快存采用了二路组相联的方式,其每行为32字节,共有16行。 图2-22二路组相联的示意图

c) 全相联 全相联映像方式是给定的主存块可以放在Cache的任意一块中,用内容寻址存储器CAM(Content Addressed Memory,或称为相联存储器)来实现,送来的地址与Cache所有项中的地址标识作比较,以判断是否“命中”。

全相联映像

图2-23 全相联的示意图

优点: 命中率高 缺点: CAM访问速度慢; 结构复杂,占用芯片资源多。

3. Cache的替换算法 当发生Cache不命中时,必须选择被替换的项。常用的算法有随机法、近期最少使用LRU(Least Recently Used)法、循环(Round-robin)法和锁操作法。

a) 随机法 从Cache中的各行中随机选取一行进行淘汰,可选择一随机事件作为替换的依据,如可用系统实时时钟的低几位。

b) 近期最少使用LRU法 Cache控制器设置访问标识,以记录数据在某一段时间内被访问的次数,当需要淘汰时,则淘汰近期最少使用的那一行。

c) 循环法 此方法类似于先进先出FIFO法,Cache 控制器设置特殊的时间标识,以记录数据在Cache中存放时间,当需要淘汰时,则淘汰进入Cache时间最长的那一行。 循环法结构简单,速度快,ARM架构的处理器大多采用该淘汰算法。

c) 锁操作 循环法对Cache中代码或数据不分常用还是非常用的,都一样地参与循环淘汰,很明显该淘汰替代算法的效率不及LRU法。为了弥补其不足,ARM架构中许多高性能处理器核采用了锁操作。 在一些常用的代码或数据加上锁放入指令Cache或数据Cache中,可免于频繁地淘汰替代,从而可提高系统的效率。但是,锁操作也会给Cache带来了一些缺陷,无形之中缩小了相应Cache的容量;故需及时对已上锁的目前不常用的代码或数据进行解锁。

4. 存储器写策略 产生的结果数据要写到存储器中,有多种方式进行处理。一般分为:写直达(Write-through)、通过缓存写和写回(Write-back)三种方式。

a) 写直达 当要写Cache时,数据同时写回主存储器。 优点是简单易实现;缺点是写存储器的速度较慢,影响处理器的效率。

b) 通过缓存写 可先高速把数据写至缓存,在下一个操作时再把数据送至主存储器。 优点是在写操作不是很频繁的时候,提高处理器效率。但是如果有连续的写操作发生时,处理器仍然要等待。

c) 写回 写回(有时也称Copy-back)是当处理器更新Cache的某一行后,相应间数据并不立即写回主存储器单元,而当该行被从Cache淘汰时,才把数据写回主存储器中。

5. ARM的Cache设计 图2-24 Cache关联度的系统性能及带宽 从中可以看出:从1路的直接映像到4路的组相联,系统的性能可能增加很多;而32/64路则得到显著的改进,且32/64路与256路(全相连)的系统性能已无明显差别。这样,可以把CAM切成4/8部分,既能降低功耗,又能不损失系统性能。 另外,Cache也可以减少与主存储器访问的带宽,而主存储器访问的功耗也要比Cache访问的功耗来得大,故Cache的关联度提高,也能进一步降低功耗。 ARM7处理器核采用了4路组相联映像;SA1110、ARM9与ARM10则采用了分段的32/64路全相联。 图2-24 Cache关联度的系统性能及带宽

Cache性能改进的途径: 降低失效率 减少失效开销 减少命中时间

增加Cache中行/块的大小来减少强制性失效。 提高相联度来减少冲突失效。 硬件预取技术 产生Cache失效原因有强制性失效(需从主存储器调入Cache)、容量失效(所需的块/行不能全部调至Cache)和冲突失效(某块/行被替换,后又被重新访问)。 改进方法: 增加Cache中行/块的大小来减少强制性失效。 提高相联度来减少冲突失效。 硬件预取技术 l         增加Cache中行(块)的大小来减少强制性失效。 据统计分析,对于16K字节以下Cache,每行32/64字节失效率最低;大于16K字节的Cache,每行64/128字节,失效率最低。增加每行的容量,有时反而会增加访问Cache时间。因此,ARM架构较多采用每行32字节。 l         提高相联度来减少冲突失效。 ARM架构处理器大多数都采用全相连的映像机制,即使是最简单的ARM720T处理器核也采用了4路组相联映像。 l         硬件预取技术 预取建立可利用存储器的空闲频带(若不使用,也是浪费),指令/数据的预取,可以大大提高Cache命中率。

b) 减少失效开销 ARM架构采用了非阻塞(nonblocking)Cache技术。Cache在失效时,仍然允许处理器进行其他命中的访问。这种“失效下命中”(hit under miss)不是完全拒绝处理器的访问,而是能处理部分访问,从而减少了实际的Cache失效开销。 此外,还可以采用“让读失效优于写”和二级Cache技术来减少Cache失效开销

b) 减少命中时间 Cache命中时间会影响到处理器的时钟频率。在许多处理器设计中,往往是Cache的访问时间限制了处理器的时钟频率。因此,减少Cache命中时间,不但可提高Cache性能,还能提高系统运行速度。

图2-25给出了早期的ARM3所采用Cache结构。4K字节Cache,每行4个字,每个字32位;采用全相连的Cache放置方式,在CAM分式4段,每段为64路。32位虚拟地址的最低2位为字的节寻址,接下来2位作为每行的4个字的选择,再接下来2位来选择4个CAM,其余的作为地址标识用来检验Cache是否被“命中”。 图2-25 ARM3的Cache结构

2.7 ARM存储器管理单元MMU 图2-26 二级页表存储器寻址示意图 对于32位地址4G字节寻址的架构ARM处理器一般都采用页式寻址的方式。若页面大小为4K字节,直接用页表来寻址,那未,该页表应为220×20位,即为2.5M字节,很明显这样的开销太大了。故对于4K字节的小页面,常采用二级页表的方式,如图2-26所示,32位逻辑地址中,最高10位作为页的目录索引,接下来10位作为页表项索引,余下的作偏移量。 图中的页目录为4K字节,页表也为4K字节,这样页的表开销只需8K字节;不过,需查2次表,查表的时间要增加一倍。 图2-26 二级页表存储器寻址示意图

ARM架构处理器中的存储粒度(memory granularity)根据不同的应用方式,可有大页(64K字节)、小页(4K字节)和微小页(Tiny Pages, 1K字节)和段(Sections,1M字节)。常用的是4K字节小页面。至于大页和段则用于大数据领域,64K字节的大页可以分成4个16K子页。

位[31:14]提供了18位地址变换表的基址,基定位界限为16K字节。 1. CP15 MMU寄存器 R0:ID寄存器(只读) R1: 控制寄存器(V3版:只写;V4版可读/写) R2:地址变换表基址(V3版,只写;V4版,可读/写) 31 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 00000000000000000 RR V I Z F R S B L D P W C A M M(位0):允许MMU A(位1):允许定位故障检验 C(位2):允许数据Cache或统一Cache W(位3):允许写缓冲 P(位4):从26至32位异常处理 D(位5):从26至32位地址区域 L(位6):至上一次中止时序 B(位7):从小端到大端 S(位8):修改MMU系统 R(位9):ROM保护状态 F(位10):控制外协处理器通信速度 Z(位11):允许分支预测 I(位12):允许指令Cache V(位13):异常向量基址从0×00000000至0×ffff0000 RR(位14):控制Cache置换算法(随机法和循环法) 位[31:15]作为保留位,如位[31:30]用作为ARM920/ARM940的时钟控制。 31 14 13 0 Translation table base address 00000000000000 位[31:14]提供了18位地址变换表的基址,基定位界限为16K字节。

4)R3:域访问控制寄存器(V3版,只写;V4版,可读/写) 5)R5:故障状态寄存器(V3版,只读;V4版,可读/写) 7)R7:快存Cache操作(V3版,只读;V4版,可读/写) 8) R8:变换后备缓冲器TLB操作(V4版有效) 9) R9:读缓冲操作 10)R10:变换后备缓冲器TLB锁住 11)R13:进程ID映像 12)R14:调试支持 13)R15:测试和时钟控制 R13寄存器用来重新映像虚拟地址,该机制有二个作用,可以支持快速文本切换的进程ID与跟踪处理标识;也可支持虚拟Cache(Virtual Cache)的进程标识PID。若虚拟地址的位[31:25]为零,则用该寄存器的位[31:25]来替代。

2.第一级描述符(first-level descriptors) 存储器管理的段/页寻址中的段表/页表都放在存储器中。第一级描述符表示的是表的基址、域、访问权限以及有关特性。第一级描述符也放在存储器中,该变换表(translation table)由CP15协处理器的寄存器给出,而表格索引则由虚拟地址[31:20]给出 。

图2-28 第一级描述符 第一级描述符按位[1:0]可以有4种情况: 00:无效 01:粗调页的描述符 10:段的描述符 11:细调页的描述符(支持某些ARM处理器核) 图2-28 第一级描述符

3.段寻址(Section addressing) 如图2-29所示,32位虚拟地址(即逻辑地址)分成高12位段表项索引(table index)和20位段索引(Section index)。12位段表索引与CP15的R2中的18位变换表基址(translation table base address)合并成存储器存取地址(最后2位为00)。查段表找出相应的段描述符,位[31:20]为段基址(section bass address),位[19:12]为零,位[11:10]为AP存储器存取权限,位[9]为0,位[8:5]为域,位[4]不确定,位[3]为C: Cache允许,位[2]为B:缓冲器允许,最低2位为10表示段描述符。然后,段基址与段索引(32位虚拟地址中提供)合并成真正的存储器存取地址(物理地址),读出相应的数据。 图2-29段式寻址示意图

4. 二级页式寻址 二级页式寻址就是要进行两次页查表:第一次查出第一级描述符,然后根据组合的地址再进行第二次查表得到第二级描述符,最后形成真正的存储器物理地址进行数据的读写。

图2-30是二级页式寻址示意图。32位虚拟地址分成为位[31:20]:12位为第一级表索引(有的称目录项索引),位[19:12]:8位页表索引(page table index),位[11:0]:12位页偏移值(page offset)。12位第一级表索引与CP15的R2中的18位变换表基址合并成存储器存取地址(最后2位为00)。查第一级表,取出相应第一级描述符,位[31:10]为页表的基址(page table base address),位[8:5]为域,最后2位为01表示第二级粗调页表指针(10为段指针,11为第二级细调指针)。22位的页表基址与页表索引(32位虚拟地址提供)再次形成存储取地址(最后2位为00),查第二级表(页表),找出相应表描述符,位[31:12]为该页基址,AP3、AP2、AP1、AP0为4个子页(16K字节)的存取权限,描述符中C和B定义同段描述符中的C和B定义,后2位10表示为小页(01为大页,11为微小页,00变换故障),20位页基址与页偏移值(32位虚拟地址提供)形成真正存储器存取地址(物理地址),读出相应数据。 图2-30 二级页式寻址示意图

二级页描述符格式

5. 存取权限 域(Domain)是一组具有特定访问权限的段/页。这样可以允许多个不同过程使用同一个转换表执行,同时不同程序之间又有一些保护。这是一种比较方便的过程切换机制,不必使每个过程都有自己的转换表。 每个段和子页的存取权限AP位与域信息一起用于第一级描述符中,域控制信息在CP15的R3寄存器中,CP15的R1寄存器中的S和R位与处理器的用户/管理者状态来决定是否允许对所寻址单元进行读/写。

6. Virtual Cache 一般的Cache采用物理地址(实地址),即Cache的标志(tag)是物理地址的高位部分,访问Cache块的地址索引也是物理地址。故需先访问地址变换后备缓冲器TLB,得到物理地址后再访问Cache 。 虚拟地址由处理器给出,并由TLB变换为物理地址。若TLB命中,则由物理地址访问Cache;若TLB未命中,则查段表或页表找出相应的物理地址,并修改TLB;如果在段表或页表中仍找不到,则不得不去访问后备存储器,找出相应的物理地址,并修改页表或段表。 图2-32 物理地址Cache与TLB

虚拟Cache中,处理机所给出的虚拟地址,既作为TLB的虚拟地址转换成物理地址变换的虚拟地址,也直接Cache访问的地址。这样Cache的访问可以省去了TLB的变换,可以提高执行的速度;若Cache访问未命中,那么,仍需象物理Cache那样,进行TLB变换(访问快表),以及段/页访问(访问慢表)找出相应的物理地址。 图2-34 虚拟Cache示意图

2.8 地址变换后备缓冲器TLB 由于目录项和页表都存放在主存中,从逻辑地址变换至真正物理地址需读2次主存。因此,在逻辑地址与物理地址之间插入了一个地址变换后备缓冲器TLB(Translation Look-aside Buffer)

地址变换后备缓冲器TLB中每项由逻辑页号与相对应的物理页号所组成。为了减少地址变换后备缓冲器TLB的开销,它也采用了类似于快存Cache的结构,只存放最近使用过的页表项,故地址变换后备缓冲器TLB也称为快表。而页表/段表则称为慢表。同样,TLB快表的淘汰替代算法也采用循环法;故也增加了相应的锁操作。 图2-27 地址变换后备缓冲器TLB

2.9 ARM的I/O结构 ARM架构中的处理器核和处理器内核一般都没有直接的I/O部件和模块,构成ARM架构的处理器中的I/O可通过AMBA总线来扩充。 存储器映像I/O 直接存储器存取DMA 中断IRQ和快速中断FIQ

2.10 ARM协处理器接口 ARM为了便于片上系统SOC的设计,ARM处理器内核尽可能精简,要增加系统的功能,可以通过协处理器来实现。协处理器接口可以看作ARM内部总线的扩展,ARM处理器内核能通过协处理器指令对协处理器进行操作。 在逻辑上,ARM可以扩展16个协处理器,每个协处理器可有16个寄存器。

表2-6协处理器 协处理器号 功能 15 系统控制 14 调试控制器 13-8 保留 7-4 用户 3-0

ARM处理器内核与协处理器接口信号有以下4类: 时钟和时钟控制信号:MCLK、nWAIT、nRESET 流水线跟随信号:nMREQ、SEQ、nTRANS、nOPC、TBIT 应答信号:nCPI、CPA、CPB 数据信号:D[31:0]、DIN[31:0]、DOUT[31:0]

2.11 ARM AMBA接口 ARM处理器内核可以通过先进微控制器总线架构AMBA(Advanced Microcontroller Bus Architecture)来扩展不同体系架构的宏单元及I/O部件。 AMBA有先进高性能总线AHB(Advanced High-performance Bus)、先进系统总线ASB(Advanced System Bus)和先进外围总线APB(Advanced Peripheral Bus)等三类总线。

图2-35 典型的基于AMBA的系统

1.先进系统总线ASB ASB是目前ARM常用的系统总线,用来连接高性能系统模块,它支持突发(burst)方式数据传送。可支持多主机。

1. 先进系统总线ASB ASB是目前ARM常用的系统总线,用来连接高性能系统模块,它支持突发(burst)方式数据传送。总线宽度为32bits,可支持多主机系统。

2.先进高性能总线AHB 先进高性能总线AHB不但支持突发方式的数据传送;还支持分离式总线事务处理,以进一步提高总线的利用效率。 与ASB相比,先进高性能总线AHB有以下不同: 在分离式总线处理中,在数据传输时,从设备即使响应很慢,也不会一直占用总线,从而可进一步提高总线利用率。 AHB用单时钟边沿来控制所有的操作、辅助综合和设计验证(通过静态时态分析仪及类似工具)。 AHB采用三态器件实现中央多路复用总线,它与双向总线相比,可很方便插入中继器(repeater)来扩展系统。 AHB可支持64位或128位高数据带宽传输。

3. 先进外围总线APB 先进外围总线APS为外围宏单元提供了简单的接口。也可以把APS看作为先进系统总线ASB的余部,为外围宏单元提供了最简易的接口。

2.12 ARM JTAG 调试接口 由测试访问端口TAP(Test Access Port)控制器、旁路(Bypass)寄存器、指令寄存器和数据寄存器,以及与JTAG接口兼容的ARM架构处理器组成。

图2-37 JTAG 调试接口示意图 TAP控制器 指令寄存器 边界扫描寄存器 旁路寄存器 ID寄存器 专用数据寄存器 TDI TDO TMS TCK TRST 处理器的每个引脚都有一个移位寄存单元,称为边界扫描单元BSC(Boundary Scan Cell),它将JTAG电路与处理器核逻辑电路联系起来,同时,隔离了处理器核逻辑电路与芯片引脚;把所有的边界扫描单元构成了边界扫描寄存器BSR,该寄存器电路仅在进行JTAG测试时有效,在处理器核正常工作时无效。 图2-37 JTAG 调试接口示意图

引脚名 类型 定义 TCK 输入 测试时钟,在TCK时钟的同步作用下,通过TDI和TDO引脚串行移入/移出数据或指令;同时,也为测试访问端口TAP控制器的状态机提供时钟。 TMS 测试模式选择信号,控制测试接口状态机的操作。 TDI 测试数据输入线,其串行输入数据送至边界扫描寄存器或指令寄存器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控制)。 TDO 输出 测试数据输出线,把从边界扫描链采样的数据传播至串行测试电路中的下一个芯片。 TRST 测试复位输入信号,测试接口初始化。

ARM处理器核嵌入了Embedded-ICE模块,该模块包含了2个观察点(Watch point)寄存器和控制与状态寄存器。当观察点寄存器的值与地址、数据和控制信号匹配时,观察点寄存器能中止ARM处理器运行。当指令在ROM或RAM中执行时,可以把观察点寄存器配置为断点寄存器,从而能暂停处理器运行。

图2-40 实时调试的结构图

2.13 ARM架构产品 ARM架构的处理器内核有ARM7TDMI、ARM8、ARM9TDMI、ARM10TDMI及StrongARM(SA-1)等。

1. 处理器内核ARM7TDMI 图2-41 ARM7TDMI体系结构图 处理器核采用了3级流水线结构,指令执行分为取指、译码和执行等3个阶段。运算器能实现32位整数运算;采用了高效的乘法器,用32×8位乘法器实现32×32位乘法(结果为64位)。 ARM7TDMI采用V4T版指令,同时,还支持16位Thumb指令集,使得ARM7TDMI能灵活高效地工作。 嵌入式ICE(Embedded ICE)模块为ARM7TDMI提供了片内调试功能;同时,通过JTAG接口可以很方便地用PC主机对ARM7TDMI进行开发和调试。 图2-41 ARM7TDMI体系结构图

图2-42 ARM7TDMI核接口信号图

2. 处理器核ARM720T 在最基本的ARM处理器内核其础上,可增加了Cache、存储器管理单元MMU、协处理器CP15、AMBA接口以及EMT宏单元等,构成了ARM处理器核。

ARM720T处理器核是在ARM7TDMI处理器内核基础上,增加8K字节的数据与指令Cache,支持段式和页式存储的MMU、写缓冲器及AMBA接口构成

4路组机联映象 图2-48 ARM720T Cache结构图

2. 处理器核StrongARM SA-110 StrongARM处理器核SA-110是基于StrongARM处理器内核SA-1,增加了可至16K字节的指令Cache (I-Cache),可至16K字节的数据Cache (D-Cache)及相应的存储器管理单元I-MMU/D-MMU,同时,还有JTAG测试,写缓冲器和时钟/控制等逻辑。

SA-110处理器核的16K字节指令Cache分成512行,每行32字节(即8条指令),采用了分段的32路全相联的CAM-RAM映像机制,循环法的置换淘汰算法。相应的主存储器每块大小也为32字节,与Cache中每一行相对应。Cache的允许、禁止和排空通过存储器管理表格的软件控制下进行。   SA-110处理核的数据Cache可至16K字节(在Intel的SA-1110处理器芯片中,数据Cache为8K字节)。与指令Cache一样,也分成512行,每行32字节(8个字);也采用了分段的32路全相联的CAM-RAM映像机制,循环法的置换淘汰算法。同样,主存储器的每块容量也为32字节 图2-54 StongARM SA-110系统结构图