嵌入式系统与技术3

更新时间:2023-08-29 07:14:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信息与通信工程专业课件:嵌入式系统与技术

第三章 CPU

信息与通信工程专业课件:嵌入式系统与技术

XScale系统结构

信息与通信工程专业课件:嵌入式系统与技术

要点输入/输出机制 管态、异常和陷阱 高速缓存 内存管理和地址翻译 体系结构如何影响程序性能、功耗

信息与通信工程专业课件:嵌入式系统与技术

3.1 输入/输出编程状态寄 存器CPU 数据寄 存器 设备机制

信息与通信工程专业课件:嵌入式系统与技术

I/O设备基本接口数据寄存器:保存设备通信的数据

输入 输出

状态寄存器:提供设备通信的运行信息

信息与通信工程专业课件:嵌入式系统与技术

示例:UART8251Transmitter Ready:发送器准备好可以接收一个字符 Receiver Ready:已准备好字符可以让CPU读取

信息与通信工程专业课件:嵌入式系统与技术

UART信号Transmitter Ready Receiver Ready

CPU

UART

UART

CPU

信息与通信工程专业课件:嵌入式系统与技术

设备访问编程I/O指令:设备与单独的I/O地址总 线相连 内存映射I/O:设备寄存器直接以 类似内存单元的方式访问

信息与通信工程专业课件:嵌入式系统与技术

内存映射I/O(汇编)ARM I/O:

DEV1 LDR LDR LDR STR

EQU 0x1000 r1,#DEV1 r0,[r1];Read DEV1 r0,#8 r0,[r1] ;Write to DEV1

信息与通信工程专业课件:嵌入式系统与技术

内存映射I/O(C语言)INPUT: int } peek(char *location){ return *location; OUTPUT: void poke(char *location,char newval){ (*location)=newval; }

#defineDEV1 0x1000 … dev_status = peek(DEV1);

poke(DEV1, 8 );

信息与通信工程专业课件:嵌入式系统与技术

I/O速度协调If (bOutReady) { poke(OUT_DATA,achar); poke(OUT_STATUS, 1); while (!(bOutReady = peek(OUT_STATUS)); }

信息与通信工程专业课件:嵌入式系统与技术

存储器映射的I/O空间读取I/O空间存储单元:连续读取数据可能 不同;

Volatile修饰符

I/O空间写缓冲:写入Cache缓冲,造成假 象;

Cache映射

信息与通信工程专业课件:嵌入式系统与技术

ARM地址空间分配232字节单元,地址空间范围(0~ 232-1); 230个32位字单元,地址可被4整除;如地 址为A,则字内容有A、A+1、A+2、A+3字 节组成;

信息与通信工程专业课件:嵌入式系统与技术

ARM 存储 映射 示例

信息与通信工程专业课件:嵌入式系统与技术

忙等方式I/O(轮询)//示例:忙等I/O: #define OUT_CHAR 0x1000 #define OUT_STATUS 0x1001char *mystring = “Hello,world.” char *current_char; current_char = mystring; while (*current_char != \0 ){ poke(OUT_CHAR,*current_char); while (peek(OUT_STATUS) != 0); current_char++; }

//示例:忙等将字符从输入设备复制到 输出设备: #define IN_DATA 0x1000 #define IN_STATUS 0x1001 #define OUT_DATA 0x1100 #define OUT_STATUS 0x1101while (TRUE){ while (peek(IN_STATUS) == 0); achar = (char)peek(IN_DATA); poke(OUT_DATA,achar); poke(OUT_STATUS,1); while(peek(OUT_STATUS)!=0); }

信息与通信工程专业课件:嵌入式系统与技术

忙等方式的缺点CPU始终陷在I/O任务中 无法协调I/O设备吞吐率不均衡的问题 无法实现CPU与I/O设备的并行执行

信息与通信工程专业课件:嵌入式系统与技术

3.1.1 中断机制中断请求 中断应答 CPU 数据/地址 数据寄 存器 状态寄 存器 设备

信息与通信工程专业课件:嵌入式系统与技术

中断设备需要服务时,发送信号给CPU,使 CPU转而去处理中断任务;等处理完成后, 再返回到刚才的程序

信息与通信工程专业课件:嵌入式系统与技术

术语中断处理程序(ISR):处理中断服务的例程; 中断切换:保留当前程序执行时的环境(PC值,状 态寄存器,数据寄存器等),以便中断服务结束时程 序能返回到被中断的程序; 中断信号:CPU和I/O设备之间的控制接口信号 中断请求信号:需要CPU服务时; 中断应答信号:CPU准备处理I/O设备中断请

求 时; 前台程序:没有中断时运行的程序

本文来源:https://www.bwwdw.com/article/ulfi.html

Top