嵌入式系统导论
来源:互联网 发布:怎么在淘宝办理学生证 编辑:程序博客网 时间:2024/06/05 15:10
一、计算的基本模型:图灵机理论模型
图灵的基本思想是用机器来模拟人用纸笔进行数学运算的过程,他把这样的过程看做下列两种简单的动作
①在纸上写上或擦除某个符号
②把注意力从纸的一个位置移动到另一个位置。
而在每个阶段,人要决定下一步的动作,依赖于①此人当前所关注的纸上某个位置的符号②此人当前的思维状态。
图灵假想的这台抽象机器包括这样几个部分:
①一条无限长的纸带,空格为特殊符号,纸带的右端可以无限延伸。
②一个读写头HEAD,可以移动、读、改格子上的符号。
③一套控制规则TABLE,根据当前机器所处在的状态、格子上的符号,来确定下一步的动作并且改变寄存器的值,玲机器进入一个新的状态。
④一个状态寄存器,保存机器当前的状态,状态数目是有限的,特殊状态为停机状态。
一个现实问题,不论其多么复杂,如果可以抽象为这样一个有限步数的计算问题,那么它一定是图灵可解的,也就是说可以用图灵机在有限步数内给出最终的答案。
一个符合图灵机模型的计算机系统,不论其简单或复杂,都具备了在理论上处理一切可解问题的能力。①他可以解决位置问题和疑难问题,这是他的能力。②他做的又快又好,这其实是效率问题,而图灵机模型中的“能力”是指前者。----------------计算机领域最高奖为图灵奖。
二、计算机的发展规律
193x年萌芽->1950到90物理实现,性能有限->199x:智能计算->第三次工业革命带动,超高性能的集中计算,无所不在的嵌入式普适计算考虑应用成本。
1941年 衣阿华州立大学用电子管技术设计了ABC计算机----->1946年宾夕法尼亚大学ENICA(电子数字积分计算机)----->EDVAC(离散变量自动计算机--->BRLESC https://en.wikipedia.org/wiki/BRLESC
图灵机:存储器、运算器、控制器。
冯·诺依曼加入EDVAC设计群体:存储器M、运算器CA、控制器CC、输入设备I、输出设备O。
①以运算器作为系统中心架构
②以存储器为中心的改进型架构
EDVAC方案有两个非常重大的改进
①采用了二进制
②提出了“存储程序”,可以自动地从一个程序指令进入到下一个程序指令,其作业顺序可以通过一种称为“条件转移”的指令而自动完成
“指令”包括数据和程序,把它们用码的形式输入到机器的记忆装置中,EDVAC的发明才真正为现代计算机在体系结构和工作原理上奠定了基础。
现代的嵌入式计算机的两个改进
①区分内存储器SRAM和外存储器FALSH和硬盘等。
②区分指令存储器和数据存储器,并分别设置指令总线和数据总线进行存取---------哈佛结构
一般出入成本和复杂度考虑总线仍然只有一条,但是允许程序代码和数据可以分开存储在不同的存储器中,这样就可以根据不同存储器的性能来分配指令存储器和数据存储器以达到较优的性能。
三、面向嵌入式应用的架构改进
①从冯诺依曼结构到哈佛结构
②流水线技术:每条指令执行都需经过取指、分析、取操作数、执行、保存结果灯环节。而每个环节所用到的硬件资源是不同的,因此销一条指令可以在上一条指令尚未彻底执行完毕时就开始执行而不会发生冲突。
③并行处理:不同物理空间放置多个同功能或类似功能的部分,同时处理多个类似任务以加快多任务执行的计数。可以再多个层面实现:指令级并行、流水线并行、任务级并行、处理器并行、计算机模块并行。
④硬件加速:找出对性能最大影响的环节,并用硬件方式实现。
⑤指令预取和推断执行:在指令尚未进入取指阶段前安排有关部件提前从存储器中取至CPU,推断执行即分支预测。
⑥层次设计:存储器层次设计为例:搭配和CPU同步工作的寄存器组,磁存储器,并在两者之间加入缓存匹配读写速度,实现一个性能接近于最快层次、容量接近于最大层次的复合存储器,满足多方面需求。
⑦总线和交换式部件互联:各个部件之间的通信,可根据需求和设计要求取舍。
⑧虚拟化技术:在一个平台模拟另一个平台的技术。
⑨寄存器窗口:降低频繁函数调用所用的时间。
⑩实时技术:评估每个细节,是的执行成为一个时间确保或近似确保的严格实时或准时平台。
早期的系统架构技术偏重于硬件改进,现代器更多地考虑了应用和软件需求
**************************************************************************************************************************************************************************
图灵机等价硬件--->硬件加速(如:数字信号处理中FFT变换的硬件实现,密码编码解码硬件)---->软件:操作系统、中间件、应用软件
计算机系统软硬件的比例及其分界,计算机系统都需要最基础的一薄层硬件来实现
**************************************************************************************************************************************************************************
ARM的发展历史
1985年 ARM1
1991年 ARM6
1993年 ARM7
1997年 ARM9TDMI
1999年 ARM9E
2001年 ARMv6
2002年 ARM11
2004年 ARMv7、Cortex-M3
2005年 Coretx-A8
2007年 Cortex-M1 Cortex-A9
2009年 Cortex-A9 Cortex-M0
2010年 Cortex-M4、Linaro、Cortex-A15
M3 +DSP&Optional FPU = M4
DSP:数字信号处理 FPU:浮点运算
2011年 Cortex-A9、ARMv8、
2012年 64位内核
- 嵌入式系统导论
- 嵌入式系统导论-死锁
- 嵌入式系统导论
- 嵌入式系统导论:CPS方法
- 上课笔记--微处理器与嵌入式系统导论
- 嵌入式导论
- 嵌入式导论
- 嵌入式系统导论-DOL开发环境配置
- 嵌入式导论3:资源共享
- [嵌入式]嵌入式系统概述
- 嵌入式系统
- 嵌入式系统
- 嵌入式系统
- 嵌入式系统
- 嵌入式系统
- 嵌入式系统
- 嵌入式系统
- 嵌入式系统
- 一步步打造自己的通用上拉加载布局
- Deep Learning_deeplearning.ai(course1、2)简单总结
- 回朔算法
- 架构腐化之谜
- 数据结构(二)---基本的栈的操作
- 嵌入式系统导论
- Eclipse中集成Tomcat
- 数据排序及回到顶部
- hessian的简单使用
- Python序列遍历enumerate()的使用方法,同时返回索引和值,索引值从1开始输出
- javascript 贪心算法说明
- AndroidStudio NDK开发配置CmakeLists文件
- 674-Longest Continuous Increasing Subsequence
- 面试常考智力题