冯·诺依曼体系结构

数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。

计算机5大组成部分

 控制器(Control)

控制器是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。

运算器(Datapath)

运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。

存储器(Memory)

存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。

存储器包括:寄存器 缓存 内存 闪存(固态硬盘) 磁盘(机械硬盘) 虚拟内存。从左到右,速度变慢,容量变大。

输入(Input system)

输入设备是计算机的重要组成部分,输入设备与输出设备合称为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。

常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。

输出(Output system)

输出设备与输入设备同样是计算机的重要组成部分,它把计算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。

常用的输出设备有显示打印机、激光印字机、绘图仪及磁带、光盘机等。

二进制和程序存储执行

冯·诺依曼计算机将数据和程序都以二进制形式(0或1)存储在存储器中。其程序由一组数量有限的指令(控制计算机操作的命令)组成。控制单元从存储器中取出一条指令,解释并执行指令。一条指令执行完毕后,计算机将按照程序所规定的顺序自动取出下一条指令来执行。基本思想如下:

1、采用二进制形式表示数据和指令。

2、指令和数据都以二进制的形式顺序存放在存储器中

3、机器自动顺序取出每条指令,进行分析,执行其规定的操作

对内存存储来讲,每个存储单元都有地址编号,这样按一定顺序把程序和数据存起来,而且还把内存分为若干个区域,如文本区、数据区、堆区、栈区。一般情况下按存放地址号的顺序,由小到大依次执行,当遇到条件转移指令时,才改变执行的顺序。每执行一条指令,都要经过三个步骤:第一步,把指令从内存中送往译码器,称为取指;第二步,译码器把指令分解成操作码和操作数,产生相应的各种控制信号送往各电器部件;第三步,执行相应的操作。这一过程是由电子路线来控制,从而实现自动连续的工作。

CPU

中央处理器(CPU),是一种超大规模集成电路,是计算机的计算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU是计算机中负责读取指令,对指令译码并执行指令的核心部件。中央处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。电子计算机三大核心部件就是CPU、内部存储器、输入/输出设备。中央处理器的功效主要为处理指令、执行操作、控制时间、处理数据。在计算机体系结构中,CPU 是对计算机的所有硬件资源(如存储器、输入输出单元) 进行控制调配、执行通用运算的核心硬件单元。CPU 是计算机的运算和控制核心。计算机系统中所有软件层的操作,最终都将通过指令集映射为CPU的操作。

工作原理

冯诺依曼体系结构是现代计算机的基础。在该体系结构下,程序和数据统一存储,指令和数据需要从同一存储空间存取,经由同一总线传输,无法重叠执行。根据冯诺依曼体系,CPU的工作分为以下 5 个阶段:取指令阶段、指令译码阶段、执行指令阶段、访存取数和结果写回。 
取指令(IF,instruction fetch),即将一条指令从主存储器中取到指令寄存器的过程。程序计数器中的数值,用来指示当前指令在主存中的位置。当 一条指令被取出后,PC中的数值将根据指令字长度自动递增。
指令译码阶段(ID,instruction decode),取出指令后,指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别区分出不同的指令类 别以及各种获取操作数的方法。  
执行指令阶段(EX,execute),具体实现指令的功能。CPU的不同部分被连接起来,以执行所需的操作。
访存取数阶段(MEM,memory),根据指令需要访问主存、读取操作数,CPU得到操作数在主存中的地址,并从主存中读取该操作数用于运算。部分指令不需要访问主存,则可以跳过该阶段。 
结果写回阶段(WB,write back),作为最后一个阶段,结果写回阶段把执行指令阶段的运行结果数据“写回”到某种存储形式。结果数据一般会被写到CPU的内部寄存器中,以便被后续的指令快速地存取;许多指令还会改变程序状态字寄存器中标志位的状态,这些标志位标识着不同的操作结果,可被用来影响程序的动作。 
在指令执行完毕、结果数据写回之后,若无意外事件(如结果溢出等)发生,计算机就从程序计数器中取得下一条指令地址,开始新一轮的循环,下一个指令周期将顺序取出下一条指令。
RAM是构成内存的主要部分,其内容可以根据需要随时按地址读出或写入,以某种电触发器的状态存储,断电后信息无法保存,用于暂存数据,又可分为DRAM和SRAM两种。RAM一般使用动态半导体存储器件(DRAM)。因为CPU工作的速度比RAM的读写速度快,所以CPU读写RAM时需要花费时间等待,这样就使CPU的工作速度下降。人们为了提高CPU读写程序和数据的速度,在RAM和CPU之间增加了高速缓存(Cache)部件。Cache的内容是随机存储器(RAM)中部分存储单元内容的副本。

程序猿理论系列整理:计算机基础硬件

主板

主板是连接电脑中所有硬件的载体,是电脑工作的核心。主板里有各种电路(IO总线),通过这些电路完成各个组件之间的信号交换。所以主板相当于大脑的角色,其他硬件就是不同的功能区域,在工作时,主板对功率进行分配,协调组件通信,集合所有效果展现出来的就是一台正常运行的电脑

在组装电脑时,一般都是先选择主板,通过检查主板所提供的硬件端口、数量、级别、类型、兼容性来选择对应的硬件组件,比如USB端口级别(USB 2.0、3.0、3.1)、显示端口类型(HDMI、DVI、RGB)、显卡、内存槽数量和类型等等。另外另一个核心组件CPU的选取也是要看主板支持的插槽和功率,相互匹配才能正常运行。

程序猿理论系列整理:计算机基础硬件

RAM内存

RAM(随机存取存储器)也就是内存, 是主板内存插槽中的硬件。RAM是与CPU直接交换数据的内部存储器,也就是说内存的作用是临时存储程序所产生的动态信息,这样CPU就可以立即访问此数据。比如为图形设计渲染图像、编辑视频或照片,打开多个应用程序(比如玩游戏的同时还打开了聊天软件,来回切换),这些正在运行的程序都是在内存中进行。 内存容量的选择,要取决于所运行的程序。举例说明,中等强度的游戏通常使用 8GB 内存条就足够,但视频/图形处理软件可能使用高达 16GB 的内存。

程序猿理论系列整理:计算机基础硬件

硬盘

硬盘的作用是负责储存数据,打个比方的话,硬盘就是一个仓库,而计算机的系统、程序、文件等都是数据,只不过有不同的逻辑形式而已。传统的机械硬盘HDD的储存介质是磁盘(碟片),硬盘驱动器将二级制数据写入高速运转的磁盘中或是从对应的区域读取上面的数据。 

程序猿理论系列整理:计算机基础硬件

程序猿理论系列整理:计算机基础硬件

 

如何计算容量

硬盘的存储容量=磁头数 * 磁道(柱面)数 * 每道扇区数 * 每扇区字节数

如何存储数据

假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;

凸起的地方代表数字1(磁化为1),凹的地方代表数字0。因此硬盘可以以二进制来存储表示文字、图片等信息。

程序猿理论系列整理:计算机基础硬件

注意

强磁场或者高温可能会使硬盘消磁。

局部性原理与磁盘预读

由于存储介质的特性,磁盘本身存取就比主存慢很多,再加上机械运动耗费,磁盘的存取速度往往是主存的几百分分之一,因此为了提高效率,要尽量减少磁 盘I/O。为了达到这个目的,磁盘往往不是严格按需读取,而是每次都会预读,即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取一定长度的数据放 入内存。这样做的理论依据是计算机科学中著名的局部性原理:

当一个数据被用到时,其附近的数据也通常会马上被使用。

程序运行期间所需要的数据通常比较集中。由于磁盘顺序读取的效率很高(不需要寻道时间,只需很少的旋转时间),因此对于具有局部性的程序来说,预读可以提高I/O效率。预读的长度一般为页(page)的整倍数。页是计算机管理存储器的逻辑块,硬件及操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,每个存 储块称为一页(在许多操作系统中,页得大小通常为4k),主存和磁盘以页为单位交换数据。当程序要读取的数据不在主存中时,会触发一个缺页异常,此时系统 会向磁盘发出读盘信号,磁盘会找到数据的起始位置并向后连续读取一页或几页载入内存中,然后异常返回,程序继续运行。

 

 

相关文章:

  • 2021-12-28
  • 2021-10-03
  • 2021-07-24
  • 2021-11-17
猜你喜欢
  • 2022-01-29
  • 2021-09-12
  • 2021-08-12
  • 2022-12-23
  • 2021-08-04
  • 2022-01-02
相关资源
相似解决方案