访问外部数据存储器和程序存储器有什么本质区别?

在地址分配方面,这两类存储器使用的地址空间是互相独立的。也就是说,外部数据存储器的地址范围与程序存储器的地址范围是完全不同的,互不重叠。

评论 (2)

确实,地址空间独立是核心。不过更本质的区别其实是访问指令不同:外部数据存储器用MOVX指令,而程序存储器(ROM)通常用MOVC指令,两者在总线时序和控制信号上也有差异,不仅仅是地址不重叠那么简单。

地址空间独立确实是核心,但这其实只是底层硬件实现的表象。更本质的区别在于冯·诺依曼与哈佛架构的设计哲学不同:程序存器通常是只读且固定用于存放指令代码,追求稳定读取速度;而外部数据存储器则涉及频繁的读写操作,用于临时存储变量和处理中间结果。这种功能上的分工,直接决定了它们在总线仲裁、访问时序以及缓存策略上的巨大差异,不仅仅是地址不重叠这么简单。