跟我一起玩嵌入式开发-硬件抽象与汇编基础-1

#硬件抽象与汇编基础-概述-1

电子计算机发展至今,其基本原理和结构仍然没有脱离图灵等人当初的设想。从这个设想开始,计算机的核心就被分为两个单元:执行单元和存储单元。

跟我一起玩嵌入式开发-硬件抽象与汇编基础-1_第1张图片

存储单元就像仓库一样,用于存储程序,数据等的器件。最初存储单元是纸带,后来发展为磁带。发展到现今,存储单元已经多种多样,有机械式硬盘、固态硬盘、Flash、RAM、FRAM、Cache等。

执行单元是计算机中最复杂的部分,也是技术含量最高的部分。执行单元依据预设的工作模式和存储器中预存的程序对数据进行加工,对外部事件进行响应。执行单元相当于人的大脑,我们最常见的执行单元便是中央处理单元,简称CPU。

随着电子技术的快速发展,执行单元和存储单元被电子化,CPU或RAM等可以被集成到硅芯片中。

跟我一起玩嵌入式开发-硬件抽象与汇编基础-1_第2张图片

上图便是集成后的CPU。银白色的保护壳兼具散热作用,不要看体积这么大,其实被封装在内部的硅芯片体积非常小,塑封后需要将硅片的外部引脚引出,以便与其他电子设备连接。

电子化后的执行单元和存储单元多种多样,因此计算机/嵌入式系统的实际形态也是多种多样的。但从宏观上看,电子计算机/嵌入式系统通常可视为处理器+存储器金字塔结构。

跟我一起玩嵌入式开发-硬件抽象与汇编基础-1_第3张图片

在处理器内部,读写速度最快的是寄存器,然后是Cache缓存。比缓存容量大,但比外部存储器快的是内存。我们可以用外部存储器长期保存数据。

如果把执行单元比作加工工人,那么寄存器便是工人身边临时存放原料和工具的地方,这些地方极容易被加工工人访问到,但空间比较狭小,因此他可以把一些顺手的工具放在这里,以提高工作效率。但是加工工人不可能吧所有原料都存放在身边,但是他可以将更多的工具、原料等临时存放在他工作房间的其他地方,这样,当他将身边的原料加工完后,就可以不出房间就更换一批原料。当工人将房间内的原料加工完毕后,可以用小车将原料运到本楼层货梯间附近的临时库房,并更换一批原料到自己工作的房间内继续加工。当临时库房的原料都加工完毕后,工人将整个仓库的中的货物统一搬运到总仓库中。这样做的原因在于,总仓库一般较大,因此离工人的加工间很远,工人没必要每加工完一个产品就往返一次仓库和加工车间。而加工车间控件有限,无法存储全部原料工具等。

电子计算机工作方式与之类似,之所以划分成金字塔结构,是因为寄存器和Cache的速度快,但工艺复杂价格高昂,而内存和外存的容量较大,价格低廉。金字塔越往下,存储容量越大,越往上速度越快。

另外,外部存储器与内存、Cache、Reg等相比,外部存储器在断电后一般是不丢失数据的,而内存、Cache、Reg等在掉电后会一般会丢失数据。当然也有特例,如FRAM。

你可能感兴趣的:(Have,Fun,with,Embedded,System)