关于冯诺依曼体系结构的总结——-从数电组原OS视角来侃~


学习过计算机理论的人都知道冯诺依曼体系结构但是对他的理解却很难说到位!在此,笔者特摘录维基上的解释进行了如下总结,方便大家对冯诺依曼体系结构能有更加全面深刻的理解:

一点背景:

冯诺依曼体系结构又叫做普林斯顿结构,因为当年普林斯顿大学曾聘用了当年世界上最一流的学者专家,当然其中就有冯诺依曼(下文简称“冯”),这个概念是冯在一篇关于EDVAC草案中提出的计算机体系结构。那么你可能会问什么是EDVAC呢?全拼是Electronic Discrete variable Automatic Computer,也就是离散变量自动电子计算机。在那篇报告中介绍了制造电子计算机和程序设计的思想!可以说,这篇起草报告宣告了计算机时代的到来!顺便告诉你一个秘密!世界上第一台计算机ENIAC并不是用二进制的,ENIAC采用了易于接受的十进制,但是也带来了很多很多麻烦!而EDVAC则第一台具有现代意义的通用计算机,引入了二进制,大量使用了二极管来实现!是不是长知识啦?!

一点深入:

在冯诺依曼的起草中是怎样描述呢?让我们具体梳理一下啊!

processing unit : arithmetic logic unit & processor registers

control    unit   : instruction register  & prgram counter

memory :          store data & instructions

I/O mechanisms

下面结合我们学习过的计算机体系结构,数字逻辑电路实验,操作系统,来对上述的内容进行不同视角的描述!其实每一个组成单元都包含者十分丰富的内容的!

processing unit :这个就是我们常说的CPU(其实还包括控制器)啦!做过数字逻辑电路实验,你就会可以创建一个十分简单的CPU啦!有算术逻辑单元,也就是ALU啦!学习过组成原理,然后再在组原实验中实现一个ALU,你会发现其实这个还是很有乐趣的!当然还需要有存储数据的寄存器啦!也就是processor registers, 是寄存器组,设计好寄存器组就可以操作寄存器中存储的内容啦。(这里是根据MIPS处理器设计角度来聊的!设计CPU时会涉及到单周期,多周期,流水线等充满挑战的问题!相信通过动手实现一些简单的模型一定会加深你对 processing unit 的理解)!

control  unit : 也就是控制器啦!说起这个,必然要回忆起组成原理课上老师所讲解的那部分关于指令集设计的问题,具体还有指令寄存器就是专门存储指令的寄存器!不同于处理器部分的寄存器!具体如何识别寄存器存放的是数据还是指令,这个问题也是蛮有意思的!感兴趣的话可以自己搜索一下!还有程序计数器,这个计数器的存在可是非常核心的啊!因为程序的执行过程中,每次取不同的指令都是有计数器的内容计算出来的!可以说冯诺依曼体系结构的核心原理(程序控制执行)都是靠 prgram counter来实现的!有一个细节提醒一下,这个也是用一个专门的寄存器来存放的!

memory: 关于这部分的内容,我就不赘述啦,关于计算机的存储体系结构,相信有很多大家都很熟悉啦!有一点就是这里面关于 cache 的理解是非常重要的!

I/O mechanisms : 其实从操作系统的视角来看的话,I/O就是一种特殊的文件,是对各种硬件设备的抽象!关于I/O操作部分建议找一些关于操作系统的设备管理部分的内容自己研究一下!你一定会发现更多有意思的内容!

一点总结:

冯诺依曼体系结构,其实本质就是存储式程序结构的计算机!虽然构成部分只有5块,但是这5部分组合在一起创造出了人类最伟大的杰作---计算机!看似简单,其实每部分都有着非常丰富深刻的内容,而且随着科技的进步,这些概念也在不断的变得更加完善,更加科学!而鄙人所谈,仅仅是大师内涵的九牛一毛!望读者见笑啦~~~





你可能感兴趣的:(理论随谈,os,processing,存储,cache,制造)