ARM裸机第二部分-ARM体系结构与汇编指令 第4节 统一编址&独立编址& 哈佛结构&冯诺依曼结构 若您对我的课程和服务满意,可以通过以下方式联系我获取其他课程。 QQ群号(总群):397164505 个人QQ号:1264671872 朱有鹏老师《嵌入式工程师养成计划系列》
朱老师物联网大讲堂 微信公众号 官方网站:www.zhulaoshi.org QQ总群 :397164505 网盘地址:http://yunpan.cn/cjVy3RAgfDufK 访问密码:4ad7
什么是IO?什么是内存? 内存是程序的运行场所,内存和CPU之间通过总线连接,CPU通过一定的地址来访问具体内存单元。 ARM体系结构与汇编指令 什么是IO?什么是内存? 内存是程序的运行场所,内存和CPU之间通过总线连接,CPU通过一定的地址来访问具体内存单元。 IO(input and output)是输入输出接口,是CPU和其他外部设备(如串口、LCD、触摸屏、LED等)之间通信的道路。一般的,IO就是指CPU的各种内部或外部外设。
内存的访问方式 内存通过CPU的地址总线来寻址定位,然后通过CPU数据总线来读写。 ARM体系结构与汇编指令 内存的访问方式 内存通过CPU的地址总线来寻址定位,然后通过CPU数据总线来读写。 CPU的地址总线的位数是CPU设计时确定的,因此一款CPU所能寻址的范围是一定的,而内存是需要占用CPU的寻址空间的。 内存与CPU的这种总线式连接方式是一种直接连接,优点是效率高访问快,缺点是资源有限,扩展性差。
IO的访问方式 IO指的是与CPU连接的各种外设 ARM体系结构与汇编指令 IO的访问方式 IO指的是与CPU连接的各种外设 CPU访问各种外设有2种方式:一种是类似于访问内存的方式,即把外设的寄存器当作一个内存地址来读写,从而以访问内存相同的方式来操作外设,叫IO与内存统一编址方式;另一种是使用专用的CPU指令来访问某种特定外设,叫IO与内存独立编址。
对比 由于内存访问频率高,因此采用总线式连接,直接地址访问,效率最高。 ARM体系结构与汇编指令 对比 由于内存访问频率高,因此采用总线式连接,直接地址访问,效率最高。 IO与内存统一编址方式,优势是IO当作内存来访问,编程简单;缺点是IO也需要占用一定的CPU地址空间,而CPU的地址空间是有限资源。 IO与内存独立编织方式,优势是 不占用CPU地址空间,缺点是CPU设计变复杂了。
程序和数据 程序运行时两大核心元素:程序 + 数据 ARM体系结构与汇编指令 程序和数据 程序运行时两大核心元素:程序 + 数据 程序是我们写好的源代码经过编译、汇编之后得到的机器码,这些机器码可以拿给CPU去解码执行,CPU不会也不应该去修改程序,所以程序是只读的。 数据是程序运行过程中定义和产生的变量的值,是可以读写的,程序运行实际就是为了改变数据的值。
冯诺依曼结构与哈佛结构 程序和数据都放在内存中,且不彼此分离的结构称为冯诺依曼结构。譬如Intel的CPU均采用冯诺依曼结构。 ARM体系结构与汇编指令 冯诺依曼结构与哈佛结构 程序和数据都放在内存中,且不彼此分离的结构称为冯诺依曼结构。譬如Intel的CPU均采用冯诺依曼结构。 程序和数据分开独立放在不同的内存块中,彼此完全分离的结构称为哈佛结构。譬如大部分的单片机(MCS51、ARM9等)均采用哈佛结构。
优劣对比 冯诺依曼结构中程序和数据不区分的放在一起,因此安全和稳定性是个问题,好处是处理起来简单。 ARM体系结构与汇编指令 优劣对比 冯诺依曼结构中程序和数据不区分的放在一起,因此安全和稳定性是个问题,好处是处理起来简单。 哈佛结构中程序(一般放在ROM、flash中)和数据(一般放在RAM中)独立分开存放,因此好处是安全和稳定性高,缺点是软件处理复杂一些(需要统一规划链接地址等)
下节预告:软件编程控制硬件的关键-寄存器 ARM体系结构与汇编指令 下节预告:软件编程控制硬件的关键-寄存器 欢迎加群397164505,和大家一起学习、一起成长! 谢谢大家!