32位ARM内核微处理器W90N740及其应用 文章出处:国外电子元器件 作者:肖金钅皇 殷小贡 周 英
发布时间:2007/8/20 0:00:00 访问次数:512
摘要:在对ARM体系结构进行分析的基础上,介绍了32位ARM核处理器W90N740的结构特点和优异性能,讨论了它的应用方法。给出了用W90N740芯片降低系统成本的实现方案。
关键词:ARM7TDMI;RISC;W90N740;片上系统;路由器
W90N740是台湾Winbond公司开发的基于32位ARM核的高性能、低功耗微处理器。W90N740采用ARM7TDMI内核,内建两个10/100Mb MACs以太网络控制器,并采用Winbond独家专利的网络地址转换加速器NAT Accelerator。该器件用硬件方式加速网络封包的转换,不仅减少了中央处理器的负担,同时也大幅提高了宽频的整体系统效能。而芯片方式集成的USB控制器则可透过USB界面连结各种电脑周边设备,以增添产品附加值。此外,W90N740内部还集成了EBI(external bus interface)控制器、系统管理器、GDMA控制器等。因而在许多应用领域,用该器件设计的系统成本比目前同类产品要低。加上ARM公司开发环境支持汇编语言、C和C++,其软件开发也十分方便。因此,W90N740虽不是主流产品,但也是许多网络电子产品的选择方案之一。
1 ARM体系结构
1.1 ARM体系的指令集
ARM体系具有ARM和Thumb两种指令集。当处理器工作在ARM状态时,执行ARM指令集;而当其工作在Thumb状态时,则执行Thumb指令集。
所有ARM指令都是32位长度。指令以字对准方式保存,这样,ARM状态指令地址的最低2位总是零。实际上,一些指令通常使用最低有效位来判定代码是转向Thumb代码还是ARM代码。
ARM指令集主要包括存储器访问指令、数据移动指令、数据处理指令、分支指令、协处理器指令、状态寄存器转移指令和异常处理指令等。
所有Thumb指令都是16位长度,这些指令可在存储器中以半字对准方式保存。因而,指令的最低有效位在Thumb状态下总为零。实际上,Thumb指令集是32位ARM指令集的功能子集。
1.2 ARM体系的编程模型
(1)ARM支持的数据类型
ARM处理器支持下列数据类型:Byte(字节),8位;Halfword(半字),16位;Word(字,必须与4字节边界对齐),32位。
(2)ARM处理器模式
ARM体系结构支持7种处理器模式:用户模式(User)、 快速中断请求(FIQ,Fast Interrupt request)、中断请求(IRQ,Interrupt ReQuest)、管理(Supervisor)、中止(Abort)、系统(System)和未定义(Undefined)。除用户模式外,其它模式统称为特权模式。大多数应用程序可在用户模式下执行。当处理器工作在用户模式时,正在执行的程序不能访问被保护的系统资源,也不能改变模式,除非发生异常。因此,开发中应适当编写操作系统来控制系统资源的使用。
(3)ARM寄存器组织
ARM处理器总共有37个寄存器其中有31个32位的通用寄存器(包括程序计数器PC)和6个32位的状态寄存器(但是只使用了其中的12位)。该处理器将寄存器安排成部分重叠的组,每种处理器模式使用不同的寄存器组。同时在所有处理器模式下都可以访问当前程序状态寄存器CPSR。而CPSR则包含条件码标志、中断标志位、当前处理器模式以及其它状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时SPSR可用于保留CPSR的状态。
(4)异常处理
异常通常由内部或外部源产生,并引起一个事件。比如,外部中断或试图执行未定义指令都会引起异常。在处理异常之前,必须保留处理器状态,以便在异常处理程序完成后,使原来的程序能够重新执行。同一时刻可能出现多个异常。ARM支持七种类型的异常。异常出现后,系统将强制从异常类型对应的固定存储器地址开始执行程序。
(5)存储器和存储器映射I/O
ARM体系结构允许使用现有的存储器和I/O器件来进行各种各样的存储系统设计。ARM体系结构使用232个8位字节的单一线性地址空间。设计时可将字节地址作为无符号数看待,范围为0~232-1。而将地址空间看作由230个32位字组成。每个字的地址都是字对准的,故地址可被4整除。其存储器的存储使用了两种映射方法:小端存储系统和大端存储系统,其映射方式分别如图1(a)、(b)所示。
&
摘要:在对ARM体系结构进行分析的基础上,介绍了32位ARM核处理器W90N740的结构特点和优异性能,讨论了它的应用方法。给出了用W90N740芯片降低系统成本的实现方案。
关键词:ARM7TDMI;RISC;W90N740;片上系统;路由器
W90N740是台湾Winbond公司开发的基于32位ARM核的高性能、低功耗微处理器。W90N740采用ARM7TDMI内核,内建两个10/100Mb MACs以太网络控制器,并采用Winbond独家专利的网络地址转换加速器NAT Accelerator。该器件用硬件方式加速网络封包的转换,不仅减少了中央处理器的负担,同时也大幅提高了宽频的整体系统效能。而芯片方式集成的USB控制器则可透过USB界面连结各种电脑周边设备,以增添产品附加值。此外,W90N740内部还集成了EBI(external bus interface)控制器、系统管理器、GDMA控制器等。因而在许多应用领域,用该器件设计的系统成本比目前同类产品要低。加上ARM公司开发环境支持汇编语言、C和C++,其软件开发也十分方便。因此,W90N740虽不是主流产品,但也是许多网络电子产品的选择方案之一。
1 ARM体系结构
1.1 ARM体系的指令集
ARM体系具有ARM和Thumb两种指令集。当处理器工作在ARM状态时,执行ARM指令集;而当其工作在Thumb状态时,则执行Thumb指令集。
所有ARM指令都是32位长度。指令以字对准方式保存,这样,ARM状态指令地址的最低2位总是零。实际上,一些指令通常使用最低有效位来判定代码是转向Thumb代码还是ARM代码。
ARM指令集主要包括存储器访问指令、数据移动指令、数据处理指令、分支指令、协处理器指令、状态寄存器转移指令和异常处理指令等。
所有Thumb指令都是16位长度,这些指令可在存储器中以半字对准方式保存。因而,指令的最低有效位在Thumb状态下总为零。实际上,Thumb指令集是32位ARM指令集的功能子集。
1.2 ARM体系的编程模型
(1)ARM支持的数据类型
ARM处理器支持下列数据类型:Byte(字节),8位;Halfword(半字),16位;Word(字,必须与4字节边界对齐),32位。
(2)ARM处理器模式
ARM体系结构支持7种处理器模式:用户模式(User)、 快速中断请求(FIQ,Fast Interrupt request)、中断请求(IRQ,Interrupt ReQuest)、管理(Supervisor)、中止(Abort)、系统(System)和未定义(Undefined)。除用户模式外,其它模式统称为特权模式。大多数应用程序可在用户模式下执行。当处理器工作在用户模式时,正在执行的程序不能访问被保护的系统资源,也不能改变模式,除非发生异常。因此,开发中应适当编写操作系统来控制系统资源的使用。
(3)ARM寄存器组织
ARM处理器总共有37个寄存器其中有31个32位的通用寄存器(包括程序计数器PC)和6个32位的状态寄存器(但是只使用了其中的12位)。该处理器将寄存器安排成部分重叠的组,每种处理器模式使用不同的寄存器组。同时在所有处理器模式下都可以访问当前程序状态寄存器CPSR。而CPSR则包含条件码标志、中断标志位、当前处理器模式以及其它状态和控制信息。每种异常模式都有一个程序状态保存寄存器SPSR。当异常出现时SPSR可用于保留CPSR的状态。
(4)异常处理
异常通常由内部或外部源产生,并引起一个事件。比如,外部中断或试图执行未定义指令都会引起异常。在处理异常之前,必须保留处理器状态,以便在异常处理程序完成后,使原来的程序能够重新执行。同一时刻可能出现多个异常。ARM支持七种类型的异常。异常出现后,系统将强制从异常类型对应的固定存储器地址开始执行程序。
(5)存储器和存储器映射I/O
ARM体系结构允许使用现有的存储器和I/O器件来进行各种各样的存储系统设计。ARM体系结构使用232个8位字节的单一线性地址空间。设计时可将字节地址作为无符号数看待,范围为0~232-1。而将地址空间看作由230个32位字组成。每个字的地址都是字对准的,故地址可被4整除。其存储器的存储使用了两种映射方法:小端存储系统和大端存储系统,其映射方式分别如图1(a)、(b)所示。
&