组成原理:计算机是如何组成的

Posted Java鱼仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了组成原理:计算机是如何组成的相关的知识,希望对你有一定的参考价值。

(一)前言

“种一棵树最好的时间是十年前,其次是现在”。前段时间有个学弟和我讲,大学学的计算机组成原理、操作系统、计算机网络还有数据结构到底有什么用啊,看也看不懂,还不如写代码有意思。

我突然间想到,这四本课,我在大学时候也是浑浑噩噩地度过,目标就是通过考试。但是当我敲了几年代码之后,发现技术的更新太快了,而这些快速更新的内容,大多都是上层的应用。而底层的计算机组成原理、操作系统、计算机网络,几乎没有发生太大的变化。

学习一门上层技术,能让你多干一些事情,而深入学习计算机的底层知识,能让你对上层的技术的理解更加深刻。所以我前段时间又翻开了计算机组成原理这本书,并打算写一些文章,希望能帮到一些人。

(二)冯诺伊曼结构

谈到计算机的体系结构,一定要介绍一个人,那就是冯-诺伊曼。在学习计算机组成原理的时候,最开始学的就是冯诺伊曼结构,最主要的原因是在计算机还没出现的那个年代,冯-诺伊曼写了一篇报告:First Draft of a Report on the EDVAC。

这篇报告中谈到了冯诺伊曼对计算机的看法,并且这种看法一直到今天都是正确的。计算机应该分为五个部分:运算器、控制器、存储器、输入设备、输出设备组成。同时冯诺伊曼还提出了另外两个计算机的原则,采用二进制计算以及程序存储执行。冯诺伊曼构建了一个可编程、可存储的计算机硬件体系。

2.1 运算器

运算器用来完成各种逻辑运算和算术运算,由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器等组成。能完成加减乘除等算术操作、与或非等逻辑操作、以及移位、补位等操作。

2.2 控制器

控制器是整个计算机的控制中心,指挥计算机各部分协调工作,包含指令寄存器和程序计数器。一般来讲在计算机中,运算器和控制器组成了中央处理器(CPU),CPU是一块超大规模集成电路,是计算机运算核心和控制核心,CPU的主要功能是解释计算机指令以及处理数据。

2.3 存储器

存储器是计算机中的记忆设备,用来存放程序和数据。按用途可以分为内部存储器和外部存储器。内存往往指的是主板上的存储设备,用来存放当前正在执行的程序和数据,关闭电源会导致数据丢失。外部存储通常是磁性介质或光盘等,能长期保存数据。现在用的通常都是硬盘。

2.4 输入和输出设备

向计算机输入和输出等设备,比如键盘鼠标等是输入设备,显示器、打印机就是输出设备。

2.5 冯诺依曼结构的展望

冯诺伊曼体系打开了计算机系统发展的先河,但是随着计算机发展的越来越快,冯诺伊曼体系的性能瓶颈也出现了,因此各种非冯诺伊曼的计算机也正不断出现。比较著名的就是彻底跳出电子范畴,用其他物质作为信息载体和执行部件,比如量子计算机。未来冯诺伊曼体系可能被颠覆,但是至少现在它还是几乎所有计算机的组成依据。

(三)哈佛结构

目前的计算机结构基本上都是冯诺依曼结构,但是还有一种结构也要了解一下,这种结构叫做哈佛结构。哈佛结构将指令存储和数据存储分开,分别存储在程序存储器和数据存储器中,每个存储器独立编址独立访问。换句话说,程序指令和数据指令可以是不一样的。早期的ARM芯片就采用了哈佛结构。


哈佛结构在发展过程中还经过一次改进,改进后的哈佛结构加上了独立的缓冲区cache,程序存储器和数据存储器中的数据分别会进入指令cache和数据cache。

(四)总结

计算机组成原理更像是对计算机一种整体上的认识,本文对计算机的组成进行了基本的介绍,接下来将会对计算机组成原理中更多的知识点进行解读。这个系列的目标是彻底搞懂一个程序执行时在计算机中的全过程。

以上是关于组成原理:计算机是如何组成的的主要内容,如果未能解决你的问题,请参考以下文章

组成原理:计算机是如何组成的

组成原理:计算机是如何组成的

重学计算机组成原理- 制定学习路线,攀登“性能”之巅

计算机组成原理系列 程序如何执行的(上)

计算机组成原理是啥

王道计算机组成原理笔记3 计算机系统的组成