美文网首页
4. 统一编址&独立编址&哈佛结构&冯诺依曼结构

4. 统一编址&独立编址&哈佛结构&冯诺依曼结构

作者: 辉神来了 | 来源:发表于2019-07-08 11:32 被阅读0次
    什么是IO ? 什么是内存?
    • 内存是程序的运行场所,内存和 CPU之间通过总线连接,CPU通过一定的地址来访问通过总线来连接,CPU通过一定的地址来访问具体内存单元
    • IO ( Input and out put) 是输入输出接口。是CPU和其他外部设备(如窗口与、LED、触摸屏、LED等)之间通信的道路。一般的,IO就是指CPU的各种内部或外部外设
    内存的访问方式
    • 内存通过CPU的地址总线来寻址定位,然后通过 CPU数据总线来读写
    • CPU 的地址总线的位数是CPU设计时确定的,因此一款CPU所能寻址的范围是一定的,而内存是需要占用cpu的寻址空间的
    • 内存与cpu的这种总线式访问方式是一种直接连接,优点是效率高访问快,缺点是资源有限,扩展性差
    . IO 的访问方式
    • IO指的是与CPU连接的各种外设
    • CPU访问各种外设有2种方式:一种是类似于访问内存的方式,即把外设的寄存器当做一个内存地址来读写,从而以访问内存统一编制方式来操作外设,叫IO与内存统一编制方式,另一种是使用专用的 CPU指令来访问某种特定外设,叫 IO 与内存独立编址
    对比
    • 由于内存访问频率高,因此采用总线式连接,直接访问,效率最高
    • IO与内存统一编制方式,优势是 IO 也需要占用一定的 CPU 地址空间,而 CPU的地址空间是有限资源
    • IO与内存独立编址方式,优势是不占用 CPU 地址空间,缺点是 CPU 设计变复杂了
    程序和数据
    • 程序运行时两大核心元素:程序 + 数据
    • 程序是我们写好的源代码经过编译、汇编之后得到的机器码,这些机器码可以拿给 CPU去解码执行, CPU 不会也不应该修改程序,所以程序是只读的
    • 数据是程序运行过程中定义和产生的变量的值,是可以读写的,程序运行实际就是为了改变数据的值
    冯诺依曼结构与哈佛结构
    • 程序和数据都放在内存中,且不彼此分离的结构称为冯诺依曼结构,譬如 Intel 的CPU 均采用冯诺依曼结构
    • 程序和数据分开独立放在不同的内存块中,彼此完全分离的结构称为哈佛结构,譬如大部分单片机均采用哈佛结构
    优势对比
    • 冯诺依曼结构中程序和数据不区分的放在一起,因此安全和稳定是个问题,好处是处理起来简单
    • 哈佛结构中程序(一般放在 ROM、 flash 中)和数据(一般放在RAM中)独立分开存放。
      因此好处是安全和稳定性高, 缺点是软件处理复杂一些(需要统一规划链接地址等 )

    相关文章

      网友评论

          本文标题:4. 统一编址&独立编址&哈佛结构&冯诺依曼结构

          本文链接:https://www.haomeiwen.com/subject/kugnhctx.html