MCU和PC在代码加载和运行上有何区别?

judy的头像

一、首先谈一下几种掉电不丢数据的存储设备:

1.Norflash:可擦写,贵,在Norflash上可以直接运行代码!

2.Nandflash:可擦写,便宜,只能用于存储数据;

3.磁盘:就是我们常说的硬盘,可擦写,便宜,只能用于存储数据;

二、正题

1.MCU

大多数单片机的代码都是存在Norflash里面,这就意味着程序可以直接在flash直接跑,不用加载到ram里面,而且单片机的ram本来就是比较稀缺的资源;

2.PC

先从电脑的BIOS说起,我们经常说,BIOS是一个ROM区,是一个只读的区域。其实BIOS并不绝对的“只读”,因为BIOS在现代几乎所有的电脑都是存在Norflash中,还是属于可以擦写的,至于BIOS存在ROM里是很久远之前的事了。

不同于BIOS,电脑的磁盘则只能用于存储,代码无法直接在上面跑,所以要运行代码,需要将代码从磁盘加载到ram里面,也就是我们通常说的内存条,然后在ram里面跑代码。

来源:网络