之前工作的时候,我师父曾和我提到过嵌入式里面哈佛结构和冯洛依曼结构的区别,我一直记不住。查资料明白:
冯洛依曼认为程序和数据都是0101的形式,为何不都存在内存中,彼此不分离。例如Intel的CPU就采用冯洛依曼结构。
哈佛结构认为程序和数据是不能放在一起的,程序是只读的,数据是可读可写的。常见的ARM全都是哈佛结构的。哈佛结构保证了ARM CPU运行的稳定性和安全性。
怎么扩展内存?
平常学电子STM32用的比较多,存放程序的地方是FLASH,存放临时变量和缓存数据的地方是SRAM;比如STM32F103ZET6芯片,它的FLASH大小是512KB,它的SRAM大小是64KB,但是假如使用的时候,比如做图像处理,他的内存不够了怎么办?
战舰开发板上对SRAM进行了扩展,用了一片XM8A51216V33A,这是一颗什么芯片?这是一片8Mb内存的16位SRAM芯片,3.3V供电,数据读取速率10/12ns,封装TSOP(48)
然后它有18跟地址线,16根数据线,和32之间的连接关系如下: