ARM微控制器与嵌入式系统
文章目录
- 图灵机
- 编码Encoding
- ASCII编码
- 从晶体管到概念CPU
- 通用CPU
- 微控制器MCU
- ARM Cortex-M指令集
图灵机
可计算性(calculability)
是指一个实际问题是否可以使用计算机来解决,定义为“可以再有限步骤内被解决的问题”(数理逻辑)- 很多非数值问题(比如文字识别,图像处理等)都可以通过转化为数值问题来交给计算机处理
- 1936年,
Alan Turing
在伦敦权威的数学杂志上发表了一篇划时代
的重要论文《可计算数字及其在判断性问题中的应用》
- 在这篇开创性的论文中,图灵给“可计算性”下了一个严格的数学定义,并提出著名的
“图灵机”(Turing Machine)
的设想。一台完全属于想象中的“计算机”! - “图灵机”想象使用一条无限长度的纸带子,带子上划分成许多格子。 机器的运作时按逐步进行的方式,每一步由三个不同的动作组成:
(1)在任意确定时刻,读写头对准带子上的一个方格,根据该格上的内容和机器的状态决定自己的动作;
(2)机器可以抹去带上的原有符号,使方格保持空白或者写上另外的符号(也可以与原来相同)
(3)然后让带子通过读写头,朝两个方向之一移动一个方格 - 机器的行为自始至终是由一个指令集所决定,它明确地指示机器每一步应该执行哪三个动作
- 整个运作从读写头是读一个方格数据开始,一旦计算结束,机器就进入一个特别的停止状态。运算过程的任何结果都被记录在带子上
- “图灵机”是一个虚拟的“计算机”,完全忽略硬件状态,考虑的焦点是逻辑结构
- 图灵甚至还想象在带子上存储数据和程序,“万能图灵机”实际上就是现代通用计算机的最原始的模型
- 图灵的文章从理论上证明了制造出通用计算机的可能性
- 几年之后,美国的阿坦纳索夫在1939年果然研究制造看世界上的第一台电子计算机ABC,其中采用了二进制,电路的开与合分别代表数字0与1,运用电子管和电路执行逻辑运算等
- ABC是“图灵机”的第一个硬件实现,看得见摸得着
- 冯·诺依曼不仅在上个世纪40年代研制成功了功能更好、用途更为广泛的电子计算机,并且为计算机设计了编码程序,还实现了运用纸带存储与输入
*“冯·诺依曼体系结构”
指出了计算机分为控制器、运算器、存储器、输入设备、输出设备五大部件
编码Encoding
- 编码(Encoding)描述的是:为信息分配表示形式的过程
- 选择一种合适的有效编码方案是一项真正的工程学挑战
(1)机制、效率(所使用的比特数)
(2)可靠性(噪声)
(3)安全性(加密)
ASCII编码
- American Standard Code for Information Interchange,基于英语字母序的码表系统
- ASCII长久以来在计算机系统中广泛采用,是实质上的标准
- ASCII采用7个bit来进行编码
(1)数字0~9
(2)英文字母:小写与大写
(3)标点符号
(4)32个非打印字符用来控制打印机
从晶体管到概念CPU
- 用电压幅值来代表0与1,常见的定义方式有
— TTL: VCC=5V±5%,0-0.7V为0,2.4-5V为1
— CMOS:VDD=3-8V(Lower to 1.8 or 0.9) 0-0.3VDD为0,0.7-1VDD为1 - 4比特的概念CPU如下
通用CPU
- CPU不仅仅是运算单元:CPU是计算机/微控制器的核心,进行算术/逻辑运算
- 通用CPU需要大量的外围辅助部件:
— 内存:DDR2、DDR3
— 硬盘
— 主板
— 显卡
— 显示器
— 鼠标键盘
微控制器MCU
- 微控制器MCU不仅仅是一个简单的CPU:微控制器是一个完整的计算机系统,在单个芯片上包含了处理器、存储器和所有外设IO模块
- 微控制器是一个片上计算机,对比PC中的处理器,微控制器更注重自完备(Self-sufficiency)和低成本。典型的微控制器包含了应用所需的全部存储器和接口,而PC的处理器需要其他的外部器件来提供这些需求
- 微控制器MCU有哪些部件:
— CPU:从4位到8位到16位到32位到64位
— 输入/输出接口:例如串口
— 外设:例如定时器、信号转换电路(从CPU角度向外看)
— ARM:数据存储器
— ROM:程序存储器,例如EPROM、EEPROM、Flash
— 时钟发生器、电压调节器等
ARM Cortex-M指令集
ARM微控制器与嵌入式系统相关推荐
- 清华大学视频:ARM微控制器与嵌入式系统
清华大学视频课件:ARM微控制器与嵌入式系统(2017) 本课程课程要求学生具备C语言编程基础,在课程中逐步讲解ARM微控制器(单片机)与嵌入式系统,面向实践安排教学,鼓励动手实践和自由创新,适合想参 ...
- 课程笔记 -- 《ARM微控制器与嵌入式系统》
"人生是如此简单,而又是这般辉煌." 村上春树 --<如果我们的语言是威士忌> 推荐 最近看了清华大学曾鸣老师的嵌入式开发入门课程<ARM微控制器与嵌入式系统&g ...
- 清华大学视频课件:ARM微控制器与嵌入式系统
清华大学视频课件:ARM微控制器与嵌入式系统(2017春) 直接点击博客网页连接就可以进入下载页面,因为是免费分享,点击后可能会有广告,请量解,点击普通下载. 将网址复制粘贴到浏览器地址栏,因为是免费 ...
- ARM微控制器与嵌入式系统 基础知识
学习地址 2.1 基础概念 机械计算 图灵 :一个计算的问题一定可以拆解为有限个计算的集合(可计算性) 01 冯诺依曼结构:运算器.控制器.存储器.输入设备.输出设备 模拟信号 连续 数字信号 离散 ...
- 复位、时钟、存储器和总线————————ARM微控制器与嵌入式系统清华大学慕课记录
复位 初始化微控制器内部电路 将所有寄存器恢复成默认值 确认MCU的工作模式 禁止全局中断 关闭外设 将IO设置为高阻输入状态 等待时钟趋于稳定 从固定地址取得复位向量并开始执行 中断向量表 中断向量 ...
- ARM Cortex -M 体系结构————————ARM微控制器与嵌入式系统(清华大学慕课记录)
ARM的发展过程 对于ARM公司来讲,ARM公司只做CPU设计,采用出售IP的方式运营,半导体产商无需自己设计CPU,是生产关系的革命,提高了生产力.下面这张图ARM核的多个系列,我们可以看到ARM从 ...
- CPU的运行机制——————ARM微控制器及嵌入式系统(清华大学慕课记录)
MCU的架构 MCU的架构主要包含三部分,CPU,存储器以及外设. 其中对于CPU的学习,主要需要掌握如下几个方面: 寄存器组 指令 栈 中断 时钟 CPU的一个总体架构图: 在上图中,可以清晰地看到 ...
- 清华大学-曾鸣-《ARM微控制器与嵌入式系统》I2C总线(二)
I2C(Inter IC Bus)的通讯数据帧: SCL线无方向区分,SDA线上有数据的流动方向.上图中灰色的代表的是主机向从机发送数据,此时SDA线的电平控制权由主机掌控,从机只能监听该线上的电平状 ...
- 清华大学-曾鸣-《ARM微控制器与嵌入式系统》I2C总线(一)
I2C是一种双向2线制同步串行通讯接口,是一类非常经典的串行总线通讯,理解好I2C通讯会帮助理解USB通讯.以太网通讯中的握手.数据帧等环节. I2C的发展历史: SPI串行通讯主要是由MOTOROL ...
最新文章
- Toward Multimodal Image-to-Image Translation(BicycleGAN)图像一对多转换测试
- 立体匹配算法实现之:AdaptWeight
- php根据指定时间日历,php学习笔记(十三)时间处理与日历的实现
- 有趣的MS Live Labs
- Google服务器 IP
- java/javascript 时间操作工具类
- LeNet-5 卷积神经网络
- phpstudy mysql升级5.7
- 千万级测试String、StringBuffer和StringBuilder的速度
- url-pattern配置技巧
- Winform分页控件支持表头全选操作实现之最优方法
- 遗传算法的基本概念和实现(附 Java 实现案例)
- 什么是机器学习(Machine Learning)? |李宏毅机器学习【1】
- 51单片机12864液晶显示模块控制
- 雷尼绍Renishaw wdf 文件解析(Python源码)软件分享
- Eclipse中使用SQL server 2008数据库以及实现eclipse与数据库的连接和操作数据库
- iis 值不在预期的范围错误解决办法
- ZZ 自制低成本3D激光扫描测距仪(3D激光雷达),第二部分
- Java高并发程序设计入门
- 初学者学习app2sd并且成功使用它的全过程