ARM之指令集和结构

一、指令集

    1、CISC复杂指令集CPU,CISC体系的设计理念使用最少的指令来完成任务,因此CISC的CPU

        本身设计复杂,工艺复杂,但好处是编译器好设计。CISC出现较早,Intel还一直采用CISC设

        计。

    2、RISC精简指令集CPU,RISC的设计理念是让软件来完成具体的任务,CPU本身提供基本功能

        指令集。因此RISC CPU的指令集中只有很少的指令,这种设计相对于CISC,CPU的设计和工

        艺简单了,但是编译器的设计变难了。

二、CPU设计方式发展

    1、早期简单CPU,指令和功能都很有限

    2、CISC年代-CPU功能扩展依赖于指令集的扩展,实质是CPU内部组合逻辑电路的扩展。

    3、RISC年代-CPU仅提供基础功能指令(譬如内存与寄存器通信指令,基本运算与判断指令等),

        功能扩展由使用CPU的人利用基础架构来灵活实现。

发展趋势:没有纯粹的RISC或CISC,发展方向是RISC与CISC结合,形成一种介于两者之间的CPU类型。

三、什么是IO?什么是内存?

    1、内存是程序的运行场所,内存和CPU之间通过总线连接,CPU通过一定的地址来访问具体内存单元。

    2、IO是输入输出接口,是CPU和其他外部设备(如串口、LCD、触摸屏、LED等)之间通信的道路。

        一般的,IO就是指CPU的各种外部或者内部外设。

四、内存的访问方式

    1、内存同过CPU的地址总线来寻址定位,然后通过CPU数据总线来读写。

    2、CPU的地址总线的位数是CPU设计时确定的,因此一款CPU所能寻址的范围是一定的,而内存是需要

        占用CPU寻址空间的。

    3、内存与CPU的这种总线连接方式是一种直接连接,优点是效率高访问快,缺点是资源有限,扩展性差。

五、IO的访问方式

    1、IO指的是与CPU连接的各种外设。

    2、CPU访问各种外设有2中方式:一种是类似于访问内存的方式,即把外设的寄存器当作一个内存地址来

        读写,从而以访问内存相同的方式来操作外设,叫做IO与内存统一编址方式;另一种是专用的CPU指令

        来访问某种特定的外设,叫做IO与内存独立编址。

六、程序和数据

    1、程序运行时两大核心元素:程序+数据

    2、程序是我们写好的源代码经过编译,汇编之后的到的机器码,这些机器码可以拿去给CPU执行,CPU不会

        也不应该去修改程序,所以程序是只读的。

    3、数据是程序运行过程中定义和产生的变量的值,是可以读写的,程序运行实际就是为了改变数据的值。

七、冯诺依曼结构和哈佛结构

    1、程序和数据都放在内存中,且不彼此分离的结构称为冯诺依曼结构。比如Intel的CPU。

    2、程序和数据完全分开独立放在不同的内存中,彼此完全分离的结构称为哈佛结构。譬如大部分单片机(MC

        S51、ARM9等)。

冯诺依曼结构程序和数据都放在内存中不安全但是处理起来简单。

哈佛结构程序一般放在ROM、flash中,数据放在RAM中,数据比较安全,但是软件处理起来复杂一点(需要统一

规划链接地址)。

欢迎各位指出不足之处

 



猜你喜欢

转载自blog.csdn.net/qq_41003024/article/details/80293101