一、什么是冯·诺依曼体系结构?
我们现代的计算机、服务器等设备。大部分都遵守冯·诺依曼体系。
如下图就是我们常见的体系结构
通常有一个输入设备、一个输出设备、存储器、运算器、控制器等。其中运算器和控制器等组成了我们熟知的cpu。
二、深度理解冯·诺依曼体系结构的组成
1.存储器指的是内存。
2.输入设备:鼠标,键盘,摄像头,话筒,磁盘,网卡....
3.输出设备:显示器,播放器硬件,磁盘,网卡....
有些是设备是纯输入设备、输出设备。有些是输入设备有些是输出设备。
2.1CPU的功能
- 程序控制
- 操作控制
- 时间控制
- 数据处理
其中1,2,3都是控制器有实现的功能,4为运算器实现的功能。
2.1运算器
运算器是由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器、状态条件寄存器等组成。
2.1.1 算术逻辑单元(ALU)
主要负责处理数据,实现对数据的算数运算和逻辑运算。
2.1.2累加寄存器(AC)
AC通常简称为累加器,它是一个通用寄存器,其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。例如,在执行一个减法运算前,先将被减数取出暂存在AC中,再从内存储器中取出减数,然后同AC的内容相减,将所得的结果送回AC中。运算的结果是放在累加器中的,运算器中至少要有一个累加寄存器。
2.1.3数据缓冲寄存器(DR)
在对内存进行读写的时候,用DR来暂存由内存读或写的指令或者数据,是CPU和内存、外部设备之间数据传送的中转站。
2.1.4状态条件寄存器(PSW)
保存由算术指令和逻辑指令运行以后建立的各种条件码内容。主要分为状态标志和控制标志。
2.2 控制器
控制器决定了计算机运行过程的自动化。同时还要能够处理异常事件。
2.2.1 指令寄存器(IR)
当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其他的组成部件工作,完成所需的功能。
2.2.2 程序计数器(PC)
PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容即是程序第一条指令的地址。执行指令时,CPU自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对PC加1。
2.2.3 地址寄存器(AR)
AR保存当前CPU所访问的内存单元的地址。由于内存和CPU 存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读/写操作完成为止。
2.2.4 指令译码器(ID)
指令包含操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别所完成的操作。指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。
2.3 对内存的理解
2.3.1 一个程序要运行,必须先加载到内存中运行,这是为什么?
这个就和硬件有关,通常我们的CPU从输入设备读入数据是比从内存中读入数据会慢,为了加快IO的速度。所以程序应该先加载到内存中,与此同时,我们的冯·诺依曼体系结构也是这么规定。
2.3.2 存储介质的分级
L0,L1,L2,L3全部集成在现代CPU的内部。
主存就是我们的内存条,本地二级存储就是磁盘、硬盘。
整体从上到下价格越低容量越大速度越慢,同时离CPU越远。
标签:诺依曼,深入浅出,PC,指令,内存,2.1,CPU,运算器,体系结构 From: https://blog.51cto.com/u_15831056/8376518