通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

计算机体系结构有哪些

计算机体系结构有:1. 冯诺伊曼结构;2. 哈佛结构;3. 改进的哈佛结构。其中,冯诺伊曼结构(Von Neumann architecture)中有两个特点,一个是程序存储与数据存储使用同一个内存设备,另外一个就是使用二进制计算代替十进制或者其他。

一、计算机体系结构

1. 冯诺伊曼结构

冯诺伊曼结构(Von Neumann architecture)中有两个特点,一个是程序存储与数据存储使用同一个内存设备,另外一个就是使用二进制计算代替十进制或者其他。

众所周知,当今的通用计算机都采用二进制,而在20世纪40年代,有各种各样的计算机,名列前茅台通用计算机ENIAC,采用的就是十进制而非二进制,使用多个电子管触发器组合成十进制累加器,但冯诺伊曼给出选择二进制的理由:

大部分电子器件如门电路简单的触发器都有2个状态,多个状态的电路也是由2个状态机器组合而成,因此采用二进制在设计上最简单。

可靠性好,使用二进制会导致器件增加以及成本变高,但是由于设计简单带来更高的可靠性,因此EDVAC的设计最终选择了二进制。自此,二进制一直沿用至今。

2. 哈佛结构

哈佛结构(Harvard architecture)的设计与冯诺伊曼结构非常接近,几大部件包括CA(算数单元)、CC(控制单元)、M(存储单元)、I(Input)、O(Output),少数不同的是,存储单元M有两个,即程序存储和数据存储分开。

3.改进的哈佛结构

主要的两个改进点:

改进点一:

程序和数据地址空间隔离,但可以从程序地址空间读取数据

大部分MCU使用这种方式,主要原因是单片机的设计一般考虑低成本和低功耗,因此片上的动态内存很少,举例拿atmel的C51系列,拥有4K程序存储,而片上数据存储只有128字节,用来作为栈空间使用,大部分用户用到的数据以只读的方式放在程序存储的flash上,因此设计中加入从程序地址空间读取数据的指令,来完成数据的读取,此为改进点一。

改进点二:

程序和数据地址共享,将程序和数据的缓存分开

当代处理器中将存储单元分为两层,名列前茅层接近CC(控制单元)的存储单元中,将指令和数据存储分开,但是地址空间并不隔离(即程序/数据缓存),与哈佛结构的最大不同就是程序和数据地址空间共用,第二层存储单元为程序和数据共用,采用冯诺伊曼结构,只有在缓存失效时才会访问第二层,不能并行。在一定程度上解决了冯诺伊曼瓶颈,同时兼顾了存储利用率的最大化。

延伸阅读:

二、计算机结构基本概念

计算机体系结构指软、硬件的系统结构,有两方面的含义:一是从程序设计者的角度所见的系统结构,它是研究计算机体系的概念性结构和功能特性,关系到软件设计的特性;二是从硬件设计者的角度所见的系统结构,实际上是计算机体系的组成或实现(参见计算机组织),主要着眼于性能价格比的合理性。亚当(Adam)等人为了说明和研究从程序设计角度所看到的计算机的属性(外特性),在1964年最先提出计算机系统结构的概念。

以上就是关于计算机体系结构的内容希望对大家有帮助。

相关文章