组成原理(一):计算机是如何组成的
(一)前言
“种一棵树最好的时间是十年前,其次是现在”。前段时间有个学弟和我讲,大学学的计算机组成原理、操作系统、计算机网络还有数据结构到底有什么用啊,看也看不懂,还不如写代码有意思。
我突然间想到,这四本课,我在大学时候也是浑浑噩噩地度过,目标就是通过考试。但是当我敲了几年代码之后,发现技术的更新太快了,而这些快速更新的内容,大多都是上层的应用。而底层的计算机组成原理、操作系统、计算机网络,几乎没有发生太大的变化。
学习一门上层技术,能让你多干一些事情,而深入学习计算机的底层知识,能让你对上层的技术的理解更加深刻。所以我前段时间又翻开了计算机组成原理这本书,并打算写一些文章,希望能帮到一些人。
(二)冯诺伊曼结构
谈到计算机的体系结构,一定要介绍一个人,那就是冯-诺伊曼。在学习计算机组成原理的时候,最开始学的就是冯诺伊曼结构,最主要的原因是在计算机还没出现的那个年代,冯-诺伊曼写了一篇报告: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。
(四)总结
计算机组成原理更像是对计算机一种整体上的认识,本文对计算机的组成进行了基本的介绍,接下来将会对计算机组成原理中更多的知识点进行解读。这个系列的目标是彻底搞懂一个程序执行时在计算机中的全过程。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/95593.html