首页 > ARM 的几个重要特点

ARM 的几个重要特点

  1. ARM 采用RISC指令集

    ARM: Acorn RISC Machine; //Acorn: 公司的名字

    它支持的指令比较简单,所以功耗小、价格便宜,特别合适移动设备。

    RISC 和CISC的区别:

    举例子,乘加运算,比如: y=a*b + c;

    在CISC里面,有专门的乘加指令,一条指令就可以搞定;

    而在RISC,有可能需要2条指令才能搞定(举个例子而已,RISC也可能有乘加指令):

    1.// T = a*b

    2.// y = T+c

    而CISC为了实现乘加指令,会设计专门的电路,所以比RISC的电路会复杂一些,从而可能会耗电多一些;

  2. ARM 采用统一编址体系结构

    什么是统一编址?这是相对独立编址而言的。

    统一编址和独立编址的details,可以详细参考如下link.

    统一编址:Memory-mapped I/O (MMIO)

    独立编址:port-mapped I/O (PMIO) (which is also called isolated I/O)

    https://en.wikipedia.org/wiki/Memory-mapped_I/O

    统一编址简单的讲,就是内存和I/O使用相同的地址空间

    Memory-mapped I/O uses the same address space to address both memory and I/O devices. The memory and registers of the I/O devices are mapped to (associated with) address values.

    参考如下例子,16bit的地址总线对应内存的地址分配给了RAM/ROM/GPIO/Sound controller/Video controller, 内存和外设共享相同的地址空间。

    这种方式的缺点就是I/O占用了部分地址空间,导致可以分配给内存的空间减少。比如16bit的地址总线,最大可分配的内存空间为2^16=64K, 由于I/O占用了部分空间,可以分配给内存的空间就会小于64K.

    这里写图片描述

    独立编址:isolated I/O, 简单的讲就是,内存和I/O使用不同的地址空间,这里不再详细描述。

  3. ARM 采用哈佛架构

    提到哈佛架构,这个得对比冯诺依曼架构

    ( von Neumann architecture and a Harvard architecture)

    3.1 哈佛架构

    The Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data.

    就是指令(代码段)和数据(数据段)分开存储。

    https://en.wikipedia.org/wiki/Harvard_architecture

    这里写图片描述

    3.2 冯诺依曼架构

    Under pure von Neumann architecture the CPU can be either reading an instruction or reading/writing data from/to the memory. Both cannot occur at the same time since the instructions and data use the same bus system. In a computer using the Harvard architecture, the CPU can both read an instruction and perform a data memory access at the same time,[1] even without a cache.

    指令(代码段)和数据(数据段)共享一个总线,指令和数据不能够同时操作。

    https://en.wikipedia.org/wiki/Von_Neumann_architecture

更多相关:

  • 上篇笔记中梳理了一把 resolver 和 balancer,这里顺着前面的流程走一遍入口的 ClientConn 对象。ClientConn// ClientConn represents a virtual connection to a conceptual endpoint, to // perform RPCs. // //...

  • 我的实验是基于PSPNet模型实现二维图像的语义分割,下面的代码直接从得到的h5文件开始往下做。。。 也不知道是自己的检索能力出现了问题还是咋回事,搜遍全网都没有可以直接拿来用的语义分割代码,东拼西凑,算是搞成功了。 实验平台:Windows、VS2015、Tensorflow1.8 api、Python3.6 具体的流程为:...

  • Path Tracing 懒得翻译了,相信搞图形学的人都能看得懂,2333 Path Tracing is a rendering algorithm similar to ray tracing in which rays are cast from a virtual camera and traced through a s...

  • configure_file( [COPYONLY] [ESCAPE_QUOTES] [@ONLY][NEWLINE_STYLE [UNIX|DOS|WIN32|LF|CRLF] ]) 我遇到的是 configure_file(config/config.in ${CMAKE_SOURCE_DIR}/...

  •     直接复制以下代码创建一个名为settings.xml的文件,放到C:UsersAdministrator.m2下即可