1.3.3 Avalon交换结构总线
Avalon交换结构总线是Altera开发的用于Nios嵌入式处理器的参数化接口总线,由一组预定义的信号组成,用户用这些信号可以连接一个或多个IP模块。Altera的SOPC Builder系统开发工具自动地产生Avalon交换结构总线逻辑。
Avalon交换结构总线需要极小的FPGA资源,提供xx的同步操作,它的重要特性有:
l 简单的基于向导的配置。
l 并行的多控制器。
l 多达4GB的地址空间。
l 同步接口。
l 嵌入的地址译码。
l 带延迟的读写操作。
l 数据流处理。
l 动态的外围设备接口大小。
(1)简单的基于向导的配置
Altera的SOPC Builder系统开发工具中易于使用的图形用户界面引导用户进行增加外围设备、指定控制器和从属设备关系以及定义存储地址等操作。Avalon交换结构总线按照用户从向导界面的输入自动形成。
(2)并行的多控制器
Nios开发者可以按照自己的特殊操作需要创建自定义的系统总线结构,优化自己的系统数据流。Avalon交换结构总线支持所有总线控制器的并行事务处理,并自动地为共享外围设备和存储器接口进行仲裁。另外,直接存储器存取(DMA)设备能被用于与其从属设备一起提供总线控制能力。
在传统的总线中,单个仲裁器控制一个或多个总线控制器跟总线从属设备进行通信,由于每次只能有一个控制器可以存取系统总线而形成带宽瓶颈,如图1-5所示。
图1-5 传统总线结构
Avalon交换结构总线使用从属设备侧仲裁技术,使并行多控制器操作{zd0}限度地提高系统性能。如果多个控制器同时存取从属设备,则由从属设备侧仲裁决定哪一个控制器得到从属设备的存取权,如图1-6所示。
图1-6 并行多控制器Avalon交换总线结构
在这样的系统中,快速以太网等高速外围设备可以在不暂停CPU的情况下直接存取数据存储器。
通过允许独立于CPU的存储器存取,Avalon交换结构总线优化了数据处理过程,提高了系统吞吐量。
(3)多达4GB的地址空间
存储器和外围设备可以映射到32位地址空间的任何地方。换句话说,CPU(或其他的总线控制器)有多达4GB的可寻址存储器范围。
(4)同步接口
所有的Avalon信号和Avalon总线时钟同步,这使相应的Avalon交换结构总线时间性能简单化,便于高速外围设备的集成。
(5)嵌入的地址译码
SOPC Builder创建的Avalon交换结构总线自动地为所有外围设备(甚至用户自定义外围设备)形成片选信号,这可极大地简化基于Nios处理器系统的设计。
分离的地址和数据通路为片内用户逻辑提供了一个极其容易的连接,用户自定义外围设备不需要数据和地址总线周期译码。
(6)带延迟的读写传输
Avalon交换结构总线可以完成带延迟的读写操作,这种延迟传输是很有用的。这是因为,控制器可以先发出读写请求,在执行一个无关的任务后接收数据。这项特性对发送多个读写请求到一个已知延迟的从属设备也非常有用。
例如,这对在连续的地址内同时进行取指令操作和DMA传输非常有好处。在这种情况下,CPU或DMA控制器可以预取预定的数据,以减少同步存储器的平均存取延迟。
(7)数据流处理
带Avalon交换矩阵的数据流处理在数据流控制器和数据流从属设备之间建立一个开放的通道,以完成连续的数据传送。这些通道允许数据在控制器和从属设备对之间流动。控制器不必连续地读取从属设备中的状态寄存器来决定从属设备是否可以发送或接收数据。
数据流处理在控制器和从属设备对之间获得{zd0}的数据吞吐量,并避免在从属设备上出现数据溢出。这对DMA传输尤其有用。
(8)动态的外围设备接口大小
动态的总线大小允许Nios开发者使用低成本的窄的存储器件,这些存储器件可以和Nios CPU的总线大小不匹配。例如,32位数据总线的系统可以容易地集成8位闪速存储器器件。在这样的系统中,如果必要的话,动态的总线大小调整逻辑自动地执行多总线周期,以便从窄的外围设备中取出宽的数据值。SOPC Builder自动地添加完成大小调整和定位调整所需要的专用逻辑。