计算机工作原理(CPU、存储、内存、读写)

描述

1.1 计算机结构

控制器

图1 早期冯·诺依曼计算机结构

控制器

图2 以存储器为中心的计算结构

冯·诺依曼为改善早期计算器手动接线来控制计算的方式,提出了“存储程序”的概念,将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。早期冯·诺依曼计算机结构的特点是以运算器作为核心,数据的输入输出都是由运算器进行中转,为了提高计算机的效率,现代计算机以存储器作为核心。

1.2 计算机硬件的基本组成

控制器

现代计算机将运算器和控制器集成到一个芯片上,合成为 中央处理器 ,简称 CPU

运算器 ,是计算机的运算单元,用于算术运算和逻辑运算,运算器的核心单元是算术逻辑单元(ALU)

控制器 ,控制器是计算机的指挥中心,有其指挥各部件自动协调的进行工作

•存储器分为主存储器辅助存储器

主存储器也被成为内存储器,CPU能直接访问

辅助存储器即外存储器,协助主存储器记忆更多的信息,辅助存储器的信息需要导入到主存储器中,才可以被CPU访问

输入设备 ,是指将外部信息以计算机能读懂的方式输入进来,如键盘,鼠标等

输出设备 ,就是将计算机处理的信息以人所能接受的方式输出出来,比如显示屏,打印机

CPU包含运算器与控制器,控制器通过控制线来告诉运算器接下来要进行什么样的运算,另外控制器也会控制主存储器的读写以及输入输出设备的开启与停止,主存储器与CPU之间会进行数据的交换,数据包括需要进行基础运算的的数据以及指令,这些指令会放到控制器中来解析这些指令的含义,并且发出相应的控制信号,I/O设备也会直接的与主存储器进行数据的交换,这大致就是现代计算机运行的主要步骤。

2.1 中央处理器-CPU

•CPU,即中央处理器,是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联系的数据、控制及状态的总线构成

CPU的主要功能

•指令控制。完成取指令、分析指令和执行指令的操作,即程序的顺序控制

•操作控制。一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件从而控制这些部件按指令的要求进行动作。

•时间控制。对各种操作加以时间控制。时间控制要为每条指令按时间顺序提供应有的控制信号。

•数据加工。对数据进行算术和逻辑运算。

•中断处理。对计算机运行过程中出现的异常情况和特殊请求进行处理

2.2 运算器组成部分

ALU算术逻辑单元(Arithmetic&logical Unit :是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分,由"And Gate"(与门)和"Or Gate"(或门)构成的算术逻辑单元,主要功能是进行二位元的算术运算,如加减乘(不包括整数除法)。基本上,在所有现代CPU体系结构中,二进制都以补码的形式来表示。

•通用寄存器组:用于存放操作数,包括源操作数、目的操作数及中间结果和各种地址信息等。

•暂存寄存器:用于暂存从主存读来的数据,这个数据不能存放在通用寄存器中,否则会破坏其原有内容。

•累加寄存器:它是一个通用寄存器,用于暂时存放ALU运算的结果信息,用于实现加法运算。

•程序状态字寄存器(PSW):保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志(OP)、符号标志(SF)、零标志(ZF)、进位标志(CF)等。PSW中的这些位参与并决定微操作的形成。

•移位器:对运算结果进行移位运算。

•计数器:控制乘除运算的操作步数。

2.3 控制器组成部分

•程序计数器( PC ):用于指出下一条指令在主存中的存放地址。CPU就是根据PC的内容去主存中取指令的。因程序中指令通常是顺序执行的,所以PC有自增功能。

•指令寄存器(IR):存放当前需要执行的指令,与CPU内部总线相连,指令包括操作码OP和地址码Ad。

指令译码器(ID):通过译码器可知当前执行的是什么指令,输入信号为操作码,输出信号为微操作信号,将指令转化为对应微操作。

•微操作信号发生器:产生控制整个计算机系统所需的信号,输入信号是指令译码器的输出结果,根据翻译后的微操作执行具体的微操作。微操作信号发生器会根据指令译码器、时序系统和标志位、PSW寄存器的内容执行微操作。

•时序系统:用于产生各种时序信号。

•存储器地址寄存器(MAR):用于存储所要访问的主存单元的地址,一端连接CPU内部总线,一端连接地址总线。

•存储器数据寄存器(MDR):用于存储向主存写入的信息或从主存读出的信息,一端连接CPU内部总线,一端连接数据总线。

控制器

一般将运算器和控制器集成到同一个芯片上,称为中央处理器(CPU)。CPU和主存储器共同构成主机。CPU和内存之间通过一组总线相连,总线中有地址、控制和数据3组信号线。MAR中的地址信息会直接送到地址线上,用于指向读/写操作的主存存储单元;控制线中有读/写信号线,指出数据是从CPU写入主存还是从主存读出到CPU,根据是读操作还是写操作来控制将MDR中的数据是直接送到数据线上还是将数据线上的数据接收到MDR中。

3.1 存储系统-层****次结构

控制器

控制器

计算机的存储系统根据层次划分可分为主存,Cache以及辅存

高速缓冲存储器(Cache):存放正在执行的程序段和数据;容量小,价格高,速度快;集成于CPU

主存:存放运行期间使用的程序和数据;容量较小,造价较高,速度较快;需要由RAM和ROM制作

辅存:存放暂时不用的数据、程序或永久性保存的信息;不能与CPU交换信息,辅存中的内容只有调入主存才可被CPU访问

主要思想:上一层是下一层的高速缓存,解决速度、容量、成本之间的矛盾

Cache-主存(解决CPU和主存速度不匹配问题):全部由硬件自动完成

主存-辅存(解决存储系统容量问题):将主存与辅存的一部分通过软/硬结合的技术组成虚拟存储器,他的更新是由硬件和操作系统进行控制的

3.2 存储系统-存储器分类

•按存储介质分类:

半导体存储器(如:主存、Cache)、磁表面存储器(如:磁盘、磁带以及机械硬盘等)、光存储器(如:光盘)

•按存取方式分类:

随机存储器(RAM)(其任何一个存取单元的内容都可随机存取,存取时间与物理位置无关),顺序存取存储器(SAM)(如:磁带),直接存取存储器(DAM)(如:磁盘)(其直接选取信息所在区域(随机存取,在区域内顺序查找)),相联存储器(CAM)(如:快表)(他是按照内容来检索物理信息)

•按信息的可读写性进行分类:

读/写存储器(如:内存,硬盘等)(可读写),只读存储器(ROM)(如:电影使用的光碟)(只可随机读入信息,不可写入,存取方式为随机存取)

•按信息的可保存性进行分类:

易失性存储器(内存,Cache),非易失性存储器(磁盘、光盘)

•按信息读出后,原信息是否被破坏进行分类:

破坏性读出(如:DRAM芯片),非破坏性读出(如:SRAM芯片、磁盘、光盘)

3.3 主存储器-基本组成

控制器控制器

主存储器是由存储体、MAR和MDR组成的。现代计算机的主存由半导体集成电路组成。驱动器、译码器和读写电路均制作在存储芯片内,而MAR和MDR制作在CPU芯片内。存储芯片和CPU芯片可以通过总线连接。

当要从主存中读出某一信息字时,首先由CPU将该字地址送到MAR,经地址总线送到主存,然后发出读命令。主存接到读命令之后,得知需要将该地址单元的内容读出,便完成读操作,将该单元的内容读至数据总线上,至于该信息由MDR送到什么地方,由CPU决定。若要向主存存入一个信息字时,首先CPU将该字所在主存单元的地址经MAR送到地址总线,并将该信息字送入MDR,然后向主存发出写命令,主存接到写命令后,便将数据线上的信息写入到对应地址线指出的主存单元中。

4.1 输入输出系统(I/O系统)

“I/O”就是“输入/输出” (Input/Output) I/O 设备就是可以将数据输入到计算机,或者可以接收计算机输出数据的外部设备。

输入设备:键盘,鼠标

输出设备:显示器,打印机

硬盘、光盘:既可输入、又可输出的设备

I/O接口: 又称I/O控制器( I/O Controller)、设备控制器,负责协调主机与外部设备之间的数据传输。

I/O接口多种多样,也会制定相应的标准,如:用于控制USB设备的I/O接口、用于控制SATA 3.0硬盘的I/O接口等(I/O控制器就是一块芯片,常被集成在主板上)。

控制器

I/O接口与总线之间主要通过设备选择线、数据线、命令线和状态线进行连接。

设备选择线:用来传送设备码的

数据线:是I/O设备与主机之间数据代码的传送线

命令线:主要是用来传输CPU向设备发出的各种信号

状态线:是将I/O设备的状态向主机报告的信号线

4.2 I/O系统-基本组成

I/O****硬件

包括外部设备、I/O接口、I/O总线等。

控制器

I/O****软件

I/O软件的主要任务是,将用户编制的程序(或数据)输入主机内;将运算结果输送给用户;实现输入输出系统与主机的协调等。通常采用 I/O 指令和通道指令实现 CPU 与I/O设备的信息交换。

(1)I/O指令 CPU指令的一部分

操作码+命令码+设备码

(2)通道指令通道能识别的指令

通道程序提前编制好放在主存中;在含有通道的计算机中,CPU执行I/O指令对通道发出命令,由通道执行一系列通道指令,代替CPU对I/O设备进行管理。

4.3 I/O系统-控制方式

程序查询方式

CPU不断轮询检查I/O控制器中的“状态寄存器”,检测到状态为已完成之后,再从数据寄存器取出输入数据; 在这种情况下,CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序。

优点:接口设计简单、设备量少。

缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。

程序中断方式

程序中断方式引入了中断机制,程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理。处理完毕后CPU自动返回到现行程序的断点处,继续执行原程序。

程序中断方式就是等待键盘 I/O时CPU可以先去执行其他程序,键盘I/O完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据。

控制器

这种方式如果对于快速 I/O设备,如“磁盘”,每准备好一个字就给CPU发送一次中断请求,会导致CPU需要花大量的时间来处理中断服务程序,CPU利用率严重下降。

DMA****控制方式

主存与高速I/O设备之间有一条直接数据通路(DMA总线)。由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行工作。这种情况下DMA传送速度快,CPU和外设并行工作,提高了系统效率。

控制器

通道控制方式

有的商用中型机、大型机可能会接上很多的I/0设备,如果都让CPU来管理,那么CPU效率过低,这时就引入了通道控制方式。通道可以理解为是“低级版的CPU”,可以识别并执行一系列通道指令,通道指令种类、功能通常比较单一,通过IO指令启动通道,通道执行通道指令序列,通道程序放在主存中。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分