Embedded Systems 简明教程
Embedded Systems - Architecture Types
8051 微控制器使用 8 位数据总线工作。所以它们最多能支持 64K 外部数据内存和 64k 外部程序内存。总的来说,8051 微控制器可寻址 128k 外部内存。
当数据和代码位于不同的存储器块中时,那么架构被称为 Harvard architecture 。当数据和代码位于同一个存储器块中时,那么架构被称为 Von Neumann architecture 。
Von Neumann Architecture
冯·诺伊曼架构最早由计算机科学家约翰·冯·诺依曼提出。在该架构中,一条数据路径或总线既负责指令又负责数据。结果,CPU 一次只能执行一项操作。它要么从内存中获取一条指令,要么对数据执行读/写操作。因此,指令获取和数据操作不能同时进行,同时共享一条公共总线。
冯·诺伊曼架构支持简单的硬件。它允许使用一个单一顺序存储器。当今的处理速度远远超过内存访问时间,并且我们采用了一种非常快速但容量较小的存储器(高速缓存),它位于处理器的本地。
Harvard Architecture
哈佛架构为指令和数据提供单独的存储和信号总线。该架构的数据存储完全包含在 CPU 中,并且无法将指令存储作为数据进行访问。使用内部数据总线,计算机为程序指令和数据分别设置存储器区域,从而允许同时访问指令和数据。
程序需要由操作员加载;处理器无法自行启动。在哈佛架构中,无需让这两个存储器共享属性。
Von-Neumann Architecture vs Harvard Architecture
以下几点将冯·诺伊曼架构与哈佛架构区分开来。
Von-Neumann Architecture |
Harvard Architecture |
单个内存由代码和数据共享。 |
代码和数据有独立的存储器。 |
处理器需要在不同的时钟周期中获取代码并在另一个时钟周期中获取数据。所以它需要两个时钟周期。 |
单个时钟周期足够了,因为单独的总线用于访问代码和数据。 |
速度更快,因此更省时。 |
速度较慢,因此更耗时。 |
Simple in design. |
Complex in design. |
CISC and RISC
CISC 是一种复杂指令集计算机。它是一台可以寻址大量指令的计算机。
在 20 世纪 80 年代初,计算机设计师建议计算机应该使用更少指令和简单的结构,以便它们可以在 CPU 内更快地执行而无需使用内存。此类计算机被归类为精简指令集计算机或 RISC。
CISC vs RISC
以下几点将 CISC 与 RISC 区分开来 −
CISC |
RISC |
更大的指令集。易于编程。 |
更小的指令集。难以编程。 |
编译器的设计更简单,考虑了更大的指令集。 |
Complex design of compiler. |
许多寻址模式导致复杂的指令格式。 |
很少有寻址模式,修复指令格式。 |
Instruction length is variable. |
Instruction length varies. |
每秒时钟周期高。 |
每秒时钟周期低。 |
Emphasis is on hardware. |
Emphasis is on software. |
控制单元使用微程序单元实现大型指令集。 |
每个指令都由硬件执行。 |
执行速度较慢,因为指令需要从内存中读取并由解码器单元解码。 |
执行速度较快,因为每个指令都由硬件执行。 |
Pipelining is not possible. |
可以将指令流水线化,考虑单时钟周期。 |