一个小白眼中的计算机组成结构

虽然自己是计算机专业的,但是,自觉自己很菜,上大学之前只去过两次网吧而且只是登录QQ聊天,然后在高考后的暑假里借着镇上开的国家支持的再就业电脑培训班才接触到了五笔打字、简单的word/excel操作(镇上只有一个培训班而且可能政府的名额指标没有满(估计那些真正需要再就业的人会来学习的话,,估计也就不会失业了吧))。到了大一国庆节的时候我哥才给我配的电脑,台式机,所以无论是在基础概念上还是在实践上自己都比同班同学晚了好多步,那时候班主任也一直在给我们打鸡血说以前没接触过电脑完全不影响你在大学里可以学的很好,我就这样将信将疑开始了我的计算机学习之旅。
    回到计算机学习上,现在来看,发现一些基础概念在上课的时候有的听懂有的是后来才慢慢懂的,所以写这篇文章之前,不用说已经是透露出对自己掌握不扎实的不自信,然后发现想找计算机组成的课本才发现,手头只有一本英文课本(我们英文授课,不过我还是看中文,,基础差坚持不下看英文版的。。)而且同类的文章应该已经有许多人写过也写的不错,特别是coderising公众号里写的就很好,我有一些概念就是在阅读里面的文章的时候感觉又得到了强化呢。这篇文章就当是对自己掌握的“浅尝辄止”的内容来一次简单的自我总结吧。
    计算机体系,采用冯诺依曼结构,至于为什么出现了这个结构,还沿用到了现在,也许是历史的选择,总会在某些时间节点由那些能够引领我们向前走的那些不平凡的人给我们指明道路。这个构造的计算机,是存储程序计算机,又称通用计算机,人们发现用这个体系表示的计算机,能够以结构化/数学化的方式来解决一些通用的问题诸如数据的处理和控制方面。     这个体系主要由 主要由运算器、控制器、存储器和输入输出设备组成。运算器和控制器都在CPU(Center Process Unit, 中央处理单元)内。
    其中运算器是负责运行一条计算机指令的,而控制器是负责调度运算器的。有了运行指令的单元,那就引出指令这个概念。一条计算机指令,就是计算机能理解的一条命令,用机器语言表示,也可以理解为是一组电路板上有效的输入电位的组合。运算单元通过执行一条指令(输入一个电位组合以得到预期的电位组合)从而得到运行结果,其结果又是以电位表示的方式保存在内存中。我们知道计算机是用二进制来表示的,前面讲到的计算机指令也是二进制01的串,所以内存中保存的值也就是内存介质的位状态也是01的串。计算机数据和指令的二进制表示都保存在内存中,内存就是一种能够提供二进制表示的一种物理介质,能够对指定的位置进行读写(通过寻址找到对应位置修改电位状态来表示该位置存储的是0还是1),我们知道计算机需要电来驱动才能工作,像前面提到的运算单元、内存都需要在通电的情况下才能运行。而计算机又需要在断电的时候也要能保存数据,这就引出了硬盘的概念,硬盘就是在断电的时候也能存储01的位表示的物理介质,并通过特定的方式对外提供读写(如磁头)。基本原理同内存中的表示,不同的是硬盘在断电后其对应位置的01状态不会像内存那样消失。
    以上就是CPU、内存、硬盘、指令这几者的概念简单介绍了,当然它们涉及的范围远远超过了以上所述。拿考试来打个不恰当的比方,CPU就是我们的大脑,负责计算题目,而内存就是我们大脑里临时想到的内容,但是这临时想到的内容如果不记下来很快就会忘了 (临时记忆类比内存) ,所以我们把它写在了草稿纸上(相当于硬盘),而指令在这里就相当于我们训练得到的思路。这样,我们运用习得的思路(指令),借助临时记忆(内存)和草稿纸(硬盘),通过大脑计算题目(CPU运算),就能够解出题目。
    在CPU里,运算器只负责也只会进行基本的数学运算的电位表示,像加减乘除等(在这里计算机的电路原理决定了只有能直接做加法的电位器,但是我们却可以在此基础上衍生出很多基础的电位运算器,又在此基础上我们可以进行很复杂的运算,但本质上只有最底层的加法运算电路在进行电位组合的输入和输出(这里不是很确定...)),而CPU中的控制器只会将指定位置(可以联系到指针的概念就是内存中的指定位置)的指令加载进来然后执行。
    上面讲到的三个组件:CPU、内存、硬盘,一个概念:指令,这些都是操作系统来调度的。这几个组件和概念我们都可以有硬件形式来表示(指令的话就把它看成是某个序列下的电路状态吧),都是可以看得见的。而操作系统的话,要怎么在硬件上直观的体现出操作系统的角色在扮演在起作用,限于水平有限就讲不出所以然来了。不过这可能偏向硬件层面了,在这里就权当抛砖引玉吧,期待更好的见解。
写完发现以上不自觉就写的可能生硬偏硬件了些,感谢你的阅读~

你可能感兴趣的:(os)