全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  详情

计算机体系结构有哪些?

来源:千锋教育
发布人:xqq
2023-10-11

推荐

在线提问>>

一、计算机体系结构

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年最先提出计算机系统结构的概念。

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

相关文章

kvm和vmware有什么区别?

MC的Forge和Fabric有什么区别?

桶排序和计数排序有哪些区别?

velocity和speed有什么区别?

Java EE与PHP有什么区别?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取