完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、两种处理器的结构体系
1、哈佛结构体系(Harvard architecture) 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。 目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有:
冯·诺伊曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。 目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,还有:
哈佛结构和冯.诺依曼结构都是一种存储器结构。哈佛结构是将指令存储器和数据存储器分开的一种存储器结构;而冯.诺依曼结构将指令存储器和数据存储器合在一起的存储器结构。 哈佛结构的优势 使用冯·诺依曼结构的计算机–程序和数据区域在同一个存储器上它们物理上是连续的,即程序空间不封闭,程序空间的数据在运行时理论上是可以被修改,此外程序一旦跑飞也有可能运行到数据区,虽然都是一些不常见的特殊情况下。 但是哈佛结构的计算机在这些情况下是怎样的呢?基于哈佛结构的处理器入MCS-51,不需要可以对代码段进行写操作的指令,所以不会有代码区被改写的问题;程序只能在封闭的代码区中运行,不可能跑到数据区,这也是跑飞的几率减少并且跑飞后的行为有规律(数据区的数据是不断变化的而代码区是不变的)。所以,相对于冯·诺依曼结构,哈佛结构更加适合于那些程序固化、任务相对简单的控制系统。 哈佛结构采用数据存储器与程序代码存储器分开,各自有自己的数据总线与地址总线。但这是需要CPU提供大量的数据线,因而很少使用哈佛结构作为CPU外部构架来使用。但是对于CPU内部,通过使用不同的数据和指令cache,可以有效的提高指令执行的效率,因而目前大部分计算机体系都是CPU内部的哈弗结构+CPU外部的冯·诺伊曼的结构。 冯·诺依曼结构的优势 待续 当前很多芯片都是混合结构 二、单片机程序的内存分配 [tr]统称具体实际的硬件器件[/tr]
单片机程序在编译、链接之后会生成hex文件,通过下载工具烧录到芯片内部的ROM里面去,由于单片机的工作特性,所以一般单片机内部ROM都是NOR Flash,NOR Flash具有寻址功能可以在上面运行程序。下图就是通过单片机下载工具烧录到单片机Flash里面去之后的Flash空间区域分布图: 其中:
三、单片机程序和操作系统应用程序的对比 [tr]操作系统应用程序描述对应单片机程序[/tr]
四、单片机程序使用其他语言编写写:Python,lua 很多有精力的开发者似乎不喜欢C语言开发单片机程序,或者是觉得使用C语言不够酷吧,所以开发了很多使用语法简单的编程语言如:Python、lua等脚本语言来编写单片机程序的项目:
|
||
|
||
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3458 浏览 1 评论
9000 浏览 16 评论
4051 浏览 18 评论
1110浏览 3评论
572浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
569浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2302浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1859浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 18:15 , Processed in 1.126807 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号