| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 嵌入式系统学习 -> 正文阅读 |
|
[嵌入式]嵌入式系统学习 |
5.嵌入式系统 对于嵌入式系统来说 首先有硬件 例如 处理器 计时器 中断控制器 输入输出设备 记忆 和接口 然后有软件 可以同时(concurrently)执行一系列任务或多个任务 还有实时操作系统RTOS (real-time operating system)RTOS决定着这个系统的工作方式 它超过了应用软件,小型的嵌入式系统不需要RTOS,它在应用程序执行期间设置规则 一个嵌入式系统的软件设计主要由以下三个限制(constraints) 可获得的系统记忆 可获得的处理速度 可控的能量散耗(dissipation) 不同的处理器 1.GPP(general purpose processor)通用处理器 微处理器 (microprocessor) 微控制器(microcontroller)嵌入式处理器(EP) 数码信号处理器(digital signal processor) 2.ASSP(application specific system processor) 3.multi-processor system 微控制器包含微处理器 微控制器如下图所示,剩下的多种通用处理器可以参考教材 peripheral是外围设备 EP的实例设备有ARM7 INTEL i960 AMD29050 ARM Processor ARM处理器 ARM Cortex-M3结构 用于指令和数据的不同总线–哈佛体系结构 ICode总线:从闪存ROM获取指令 DCode总线:从闪存ROM获取数据或调试信息 系统总线:从RAM或I/O端口读取/写入数据 ISA指令集结构对一个简单电脑 指令作为程序存储在RAM或ROM中 下一条指令的地址由程序计数器(PC)提供program counter PC和相关控制逻辑是控制单元的一部分 典型的指令指定: 要使用的操作数 待执行的操作 将结果放置在何处,或下一步执行哪条指令 (program status register)程序状态寄存器(PSR)包含有关指令结果的信息,例如,结果是否为零 执行一个指令的步骤 (effective address register)有效地址寄存器(EAR):包含用于获取当前指令所需数据的内存地址 RISC(精简指令集计算)和CISC(复杂指令集计算)比较 RICS 指令不能读取和写入内存中的 同一总线周期 ? 只有加载和存储(store)指令才能访问内存(memory) ? 小型指令集 ? 固定尺寸指令 ? 极少数寻址模式 ? 许多相同的通用寄存器 CISC 长度可变的复杂指令 ? 大指令集 ? 多种寻址方式(addressing mode) ? 许多指令可以访问内存 ? 指令可以在同一总线周期中读取和写入内存 ? 越来越多的专用寄存器(仅数据或仅地址) 易于流水线 easy topipeline ISA例子 RISC ARM?? Sun SPARC?? MIPS RX000(使用32位微控制器) IBM PowerPC(过去在Macintosh中使用) ?Microchip PIC16(通常八位微控制器) CISC 英特尔(Intel)x86和奔腾(Pentium)系列 Motorola 68000(用于原始Macintosh) DEC VAX 微处理器 SHARC是来自模拟设备的数字信号处理器(digital signal processor)(DSP)的一个例子。这是一个专门的设备,可以非常快速地为DSP进行计算 流水线可以增加吞吐量,但不会减少总吞吐量任务的计算时间 ?每200ps就有一个答案,但是 ?一次计算仍然需要1ns ?限制: ?计算必须可分为阶段大小 ?管道寄存器增加了开销 (了解内容) 为什么使用ARM 世界上许可证最多、使用最广泛的处理器内核之一 核心用于不同类型的嵌入式系统 用于PDA、手机、多媒体播放器、手持游戏机、数字电视和照相机 ARM7:GBA,iPod,2000年左右的手机 ARM9:NDS、PSP、索尼爱立信、明基 ARM11:苹果iPhone、诺基亚N93、N800 75%的32位嵌入式处理器 Cortex-M3使用三级管道进行 指令执行 ? 获取=>解码=>执行 ? 管道设计允许有效的吞吐量 增加到每个时钟周期一条指令 ? 允许在静止时提取下一条指令 解码或执行上一条指令 不同ARM版本 ARM体系结构已扩展到几个版本。 ?ARM7TDMI ?ARM9-包括“Thumb”指令集 ?ARM10-用于多媒体(图形、视频等) ?ARM11-高性能+Jazelle(Java) ?SecureCore-用于安全应用程序(智能卡片) ?Cortex-M-为微控制器优化 ?Cortex-A-高性能(多媒体系统) ?Cortex-R-针对实时应用程序的 ?StrongARM-便携式 通信设备 Cortex-M系列 Cortex-M家族有几个成员: ?Cortex-M0–最小,仅56条指令 ?Cortex-M0+–功能更强,但MCU的成本低于40 ?Cortex-M3–原始版本,用于我们的mbed平台 ?Cortex-M4–更强大的数字信号处理功能;也许包括浮点(M4F) ?Cortex-M7–功能更强大新设计更简单,耗电更少。粗略比较: ?ARM7TDMI大约有45k个门,每兆赫使用1兆瓦时钟速度 ?Cortex-M0+至少需要12k门,最多需要3个微瓦每兆赫的时钟速度(部分原因是较少的门和现代设计,但主要是更小的晶体管) 5.嵌入式系统 对于嵌入式系统来说 首先有硬件 例如 处理器 计时器 中断控制器 输入输出设备 记忆 和接口 然后有软件 可以同时(concurrently)执行一系列任务或多个任务 还有实时操作系统RTOS (real-time operating system)RTOS决定着这个系统的工作方式 它超过了应用软件,小型的嵌入式系统不需要RTOS,它在应用程序执行期间设置规则 一个嵌入式系统的软件设计主要由以下三个限制(constraints) 可获得的系统记忆 可获得的处理速度 可控的能量散耗(dissipation) 不同的处理器 1.GPP(general purpose processor)通用处理器 微处理器 (microprocessor) 微控制器(microcontroller)嵌入式处理器(EP) 数码信号处理器(digital signal processor) 2.ASSP(application specific system processor) 3.multi-processor system 微控制器包含微处理器 微控制器如下图所示,剩下的多种通用处理器可以参考教材 peripheral是外围设备 EP的实例设备有ARM7 INTEL i960 AMD29050 ARM Processor ARM处理器 ARM Cortex-M3结构 用于指令和数据的不同总线–哈佛体系结构 ICode总线:从闪存ROM获取指令 DCode总线:从闪存ROM获取数据或调试信息 系统总线:从RAM或I/O端口读取/写入数据 ISA指令集结构对一个简单电脑 指令作为程序存储在RAM或ROM中 下一条指令的地址由程序计数器(PC)提供program counter PC和相关控制逻辑是控制单元的一部分 典型的指令指定: 要使用的操作数 待执行的操作 将结果放置在何处,或下一步执行哪条指令 (program status register)程序状态寄存器(PSR)包含有关指令结果的信息,例如,结果是否为零 执行一个指令的步骤 (effective address register)有效地址寄存器(EAR):包含用于获取当前指令所需数据的内存地址 RISC(精简指令集计算)和CISC(复杂指令集计算)比较 RICS 指令不能读取和写入内存中的 同一总线周期 ? 只有加载和存储(store)指令才能访问内存(memory) ? 小型指令集 ? 固定尺寸指令 ? 极少数寻址模式 ? 许多相同的通用寄存器 CISC 长度可变的复杂指令 ? 大指令集 ? 多种寻址方式(addressing mode) ? 许多指令可以访问内存 ? 指令可以在同一总线周期中读取和写入内存 ? 越来越多的专用寄存器(仅数据或仅地址) 易于流水线 easy topipeline ISA例子 RISC ARM?? Sun SPARC?? MIPS RX000(使用32位微控制器) IBM PowerPC(过去在Macintosh中使用) ?Microchip PIC16(通常八位微控制器) CISC 英特尔(Intel)x86和奔腾(Pentium)系列 Motorola 68000(用于原始Macintosh) DEC VAX 微处理器 SHARC是来自模拟设备的数字信号处理器(digital signal processor)(DSP)的一个例子。这是一个专门的设备,可以非常快速地为DSP进行计算 流水线可以增加吞吐量,但不会减少总吞吐量任务的计算时间 ?每200ps就有一个答案,但是 ?一次计算仍然需要1ns ?限制: ?计算必须可分为阶段大小 ?管道寄存器增加了开销 (了解内容) 为什么使用ARM 世界上许可证最多、使用最广泛的处理器内核之一 核心用于不同类型的嵌入式系统 用于PDA、手机、多媒体播放器、手持游戏机、数字电视和照相机 ARM7:GBA,iPod,2000年左右的手机 ARM9:NDS、PSP、索尼爱立信、明基 ARM11:苹果iPhone、诺基亚N93、N800 75%的32位嵌入式处理器 Cortex-M3使用三级管道进行 指令执行 ? 获取=>解码=>执行 ? 管道设计允许有效的吞吐量 增加到每个时钟周期一条指令 ? 允许在静止时提取下一条指令 解码或执行上一条指令 不同ARM版本 ARM体系结构已扩展到几个版本。 ?ARM7TDMI ?ARM9-包括“Thumb”指令集 ?ARM10-用于多媒体(图形、视频等) ?ARM11-高性能+Jazelle(Java) ?SecureCore-用于安全应用程序(智能卡片) ?Cortex-M-为微控制器优化 ?Cortex-A-高性能(多媒体系统) ?Cortex-R-针对实时应用程序的 ?StrongARM-便携式 通信设备 Cortex-M系列 Cortex-M家族有几个成员: ?Cortex-M0–最小,仅56条指令 ?Cortex-M0+–功能更强,但MCU的成本低于40 ?Cortex-M3–原始版本,用于我们的mbed平台 ?Cortex-M4–更强大的数字信号处理功能;也许包括浮点(M4F) ?Cortex-M7–功能更强大新设计更简单,耗电更少。粗略比较: ?ARM7TDMI大约有45k个门,每兆赫使用1兆瓦时钟速度 ?Cortex-M0+至少需要12k门,最多需要3个微瓦每兆赫的时钟速度(部分原因是较少的门和现代设计,但主要是更小的晶体管) |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:25:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |