ARM9采用5级流水线操作:指令预取、译码、执行、数据缓冲、写回。ARM9设置了16个字的数据缓冲和4个字的地址缓冲。这5级流水已被很多的RISC处理器所采用,被看作RISC结构的"经典"。
3.硬件设计
3.1 S3C2410A微控制器
电路板上的ARM微控制器S3C2410A采用了ARM920T核,它由ARM9TDMI、存储管理单元MMU和高速缓存三部分组成。其中,MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。ARM920T有两个内部协处理器:CP14和CP15。CP14用于调试控制,CP15用于存储系统控制以及测试控制。
S3C2410A集成了大量的内部电路和外围接口:
·LCD控制器(支持STN和TFT带有触摸屏的液晶显示屏) ·SDRAM控制器 ·3个通道的UART ·4个通道的DMA ·4个具有PWM功能的计时器和一个内部时钟 ·8通道的10位ADC ·触摸屏接口 ·I2C总线接口 ·12S总线接口 ·两个USB主机接口 ·一个USB设备接口 ·两个SPI接口 ·SD接口 ·MMC卡接口
S3C2410A集成了一个具有日历功能的RTC和具有PLL(MPLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz。这个工作频率能够使处理器轻松运行WinCE、Linux等操作系统以及进行较为复杂的信息处理。UPLL则产生实现USB模块的时钟。
下图显示了S3C2410A的集成资源和外围接口:
我们需要对上图中的AHB总线和APB总线的概念进行一番解释。ARM核开发的目的,是使其作为复杂片上系统的一个处理单元来应用的,所以还必须提供一个ARM与其它片上宏单元通信的接口。为了减少不必要的设计资源的浪费,ARM公司定义了AMBA(Advanced Microcontroller Bus Architecture)总线规范,它是一组针对基于ARM核的、片上系统之间通信而设计的、标准的、开放协议。
在AMBA总线规范中,定义了3种总线:
(l)AHB-Advanced High Performace Bus,用于高性能系统模块的连接,支持突发模式数据传输和事务分割; (2)ASB-Advanced System Bus,也用于高性能系统模块的连接,支持突发模式数据传输,这是较老的系统总线格式,后来由AHB总线替代; (3)APB-Advanced PeriPheral Bus,用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线。
典型的AMBA总线系统如下图:
|