文章目录
- 基本计算平台
-
- 硬件组件
- 软件组件
- CPU总线
-
- 总线结构和协议
-
- 四周期握手协议—最常见的总线协议
- 典型的总线组件
- 时序图
- 总线读、写
-
- 总线读
- 总线写
- 读操作的等待状态
- 突发传输(Burst Transfer)
- 分离式传输(非链接传输)
- 状态机
- 小数据束
- DMA(直接存储器访问)
-
- 总线主控器(Bus mastership)
- DMA控制器
- DMA操作
- 系统总线配置
-
- 桥的状态图
- ARM AMBA 总线
- 存储设备
-
- RAM(Random-access memory)
- 存储器系统结构
-
- PC机上的内存
- 存储器系统和存储器控制器
- 通道与块
- 计算平台的设计
-
- 平台选择
- 知识产权(Intellectual property IP)
- 开发环境
-
- 宿主机/目标机设计方法
- 基于主机的开发工具
- Watchdog timer(看门狗定时器)
- 调试技术
-
- 断点
-
- ARM设置断点
- 断点处理的动作
- LED灯
- 内部仿真器 (ICE)
- JTAG仿真器
- 逻辑分析器(Logic analyzers)
- 系统层的性能分析
-
- 带宽与性能
- 带宽与数据的传输
- 总线的带宽
- 突发传输的带宽
- 内存的带宽问题—内存的长宽比(64M)
- 内存的访问时间
- 练习题
基本计算平台
- 微处理器、I/O设备和存储器
- CPU总线连接设备
- 提供实现嵌入式应用的环境
- 硬件和软件
硬件组件
- CPU:提供基本的计算能力
- RAM:用于存储程序和数据
- ROM:保存引导程序和一些永久的数据
- DMA:控制器提供直接内存访问功能
- 计时器:被OS用于各种目的
- 高速总线:高速设备与其它设备通讯
- 低速总线:连接较简单的设备
CPU总线
- 总线(bus)是CPU与存储器、设备通讯的机制
- 共享通讯介质
- 总线是:
- 一束电线
- 通讯协议
- 协议通常通过状态机来说明
- 异步逻辑行为
- 多种总线的目的:
- 将设备分配到不同总线,可以减少负载,提高总线的利用率
- 低速总线相对于高速总线简单成本低,同时低速设备连接到高速总线不能提高性能
- 数据传输
- 组件之间的数据传输
- CPU与存储器之间
- CPU与I/O设备之间
- 存储器与存储器之间
- 存储器与I/O设备之间
- 采用的方式
- 基本:CPU执行相关指令
- 直接存储器存取(DMA)
- 组件之间的数据传输
总线结构和协议
- 设备1提出请求
- 设备2响应该请求
- 一旦数据传送完成,设备2发出接收完数据的信
- 设备1结束请求
典型的总线组件
- C l o c k Clock Clock:时钟,用于同步总线组件
- R / W  ̄ R/overline{W} R/W:总线的读或写
- A d d r e s s Address Address:地址总线,一束信 线
- D a t a Data Data:数据总线,一束信 线
- D a t a R e a d y DataReady DataReady:数据就绪
时序图
总线读
- 时钟信 上升沿,设置地址使能信 ,地址线上设置所需值; R / W  ̄ = 0 R/overline{W}=0 R/W=0表示写
- 在第一个时钟周期后,CPU 将数据传送至数据线,;
- 外设向相应,在第二个时钟周期末,撤去地址线上的地址,并清除数据线上的数据。
读操作的等待状态
- 收到一个地址,
- 增加一根线路:Burst,
分离式传输(非链接传输)
- 请求和响应是分开的
- 第一个操作是请求传输
- 然后总线可以做其它操作
- 等数据准备好后,传输随后开始
状态机
- 状态机是对时序图的一个有用的补充
- 总线主控器是能够启动自己总线传输的设备
- DMA可以成为总线主控器来完成传输
- DMA 成为总线主控器时,CPU不能使用总线
- 通过四周期握手协议获得总线主控器
- 总线请求(Bus request):是CPU的输入信 ,通过它DMA控制器请求总线所有权
- 总线授权(Bus grant):信 表示总线已经授权给DMA
- CPU通过DMA控制器的寄存器来控制DMA
- 起始地址寄存器:指明传输从何处开始
- 长度寄存器:指明将要传输的字的数目
- 多条总线允许并行:
- 慢的设备连到一个总线上.
- 快的设备连到另一个总线上
- 通过桥(bridge)将它们连接起来.
- 速度接近,通过状态机连接
- 速度相差大,需要寄存器暂存数据
- 使用多总线和桥的原因:
- 越高速的总线通常提供越宽的数据连接
- 高速总线通常要更昂贵的电路和连接器。使用较慢、较便宜的总线可以降低设备成本
- ,这样在I/O操作中可以提供某些并行性
- 上半部分从快速总线到低速总线写入
- 下半部分从低速总线读取,并写入快速总线
- 类型:
- DRAM:动态随机存储器.
- SRAM:静态随机存储器.
- Flash:闪存,为ROM,但允许芯片在标准系统内部再编程.
- 存储器的变化:
- 基本结构简单.
- 二维阵列,行地址和列地址
-
RAM可以被读和写。它们被称为随机存取是因为它们可以按照任意顺序访问。
-
动态RAM,DRAM,密度大、定期刷新
- SDRAM: 同步 DRAM.
- EDO DRAM: 扩展数据输出.
- FPM DRAM: 快速页面模式.
- DDR DRAM: 双倍数据速率.
-
SRAM(Static RAM )快速、密度小,消耗更多的能量.
-
SDRAM 读操作:
- SDRAM 使用RAS 和 CAS信 将地址分成两部分,从而选择正确的行和列
系统总线配置
ARM AMBA 总线
RAM(Random-access memory)
通道与块
总线主控器(Bus mastership)
DMA控制器
基于主机的开发工具
- 交叉编译器(Cross compiler):
- 交叉编译:在一类机器上运行,却为另一类机器生成代码
- 交叉调试:
- 在主机上显示目标机的状态,允许主机控制目标机.
Watchdog timer(看门狗定时器)
- 看门狗定时器监控软件的正确运行
- 看门狗被系统时钟周期性的复位
- 保存寄存器
- 允许用户检查CPU的状态
- 返回前,必须恢复系统的状态
- 删除断点,原先的指令被简单的恢复
- 若断点保留,原来的指令被恢复的同时会将一个新的临时断点放在下一条指令处。
- 在调式中的重要性。
- 在串行端口,LED指示系统的状态。
- 专用的硬件工具,帮助调试软件
- 微处理器的一个特殊版本
- 当它停止时,其内部寄存器的内容可以被读出
- JTAG 仿真器也称为 JTAG 调试器,是通过 ARM 芯片的 JTAG 边界扫描口进行调试的设备。
- JTAG 仿真器比较便宜,连接比较方便,无需目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。
- JTAG 调试的目标程序是在目标板上执行,仿真更接近于目标硬件。
- 使用集成开发环境配合 JTAG 仿真器进行开发是目前采用最多的一种调试方式。
- 可以看成是一组低成本的示波器:
- 同时采样多个信
- 把信 上的值纪录,并在显示器上显示
- 2种模式:
- 状态模式:面向过程问题中的调试,系统自带时钟,每个时钟周期采用一个信
- 定时模式:采用内部时钟,频率高,每个时钟阶段抽取多个样本
断点处理的动作
LED灯
内部仿真器 (ICE)
JTAG仿真器
逻辑分析器(Logic analyzers)
带宽与性能
- 带宽:数据传输的速率
- 带宽应用到下面的部件:
- 内存.
- Bus.
- CPU .
- 系统的不同部件应用到不同的时钟频率上.
- 不同的部件有不同的带宽 (bus, memory).
带宽与数据的传输
- 视频一帧: 320 x 240 x 3 = 230,400 bytes.
- 在 1/30 秒=0.033 秒通过一帧.
- 若传输速度 1 b y t e / 1 byte/ 1byte/ μ mu μ s s s, 则0.23 秒每帧.
- 太慢.
- 增加带宽:
- 增加总线的宽度.
- 增加总线时钟的频率.
总线的带宽
- T: 总线的周期数.
- P: 总线时钟周期time/bus_cycle.
- 总的传输时间:
- t = TP.
- W:基本总线宽度,字节单位.
- N:传送的字节数
- B: 一次突发传送连续执行了B次传输.
- D: 传输W字节宽的数据消耗D个时钟周期.
- 额外消耗:O=O1 + O2
内存的带宽问题—内存的长宽比(64M)
- 绘制时序图
a.设备成为总线主控的过程。
b.设备将总线控制权返回给CPU的过程
- 单字传输时间为1,单字传输开销为O = 1,一次突发传输开销为 O = 3, 总的传输量为两字节。
故两次单字传输时间为:T = 2*2 = 4
一次突发传输时间为:T = ( 2 * 1 + 3 ) * ( 2 / 2 ) = 5
因此选择两次单字传输更为快捷。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!