标签:isp 结束 正在执行 技术分享 算术运算 计算机系 32位 bsp 规则
计算机系统主要有以下三部分组成:中央处理单元(CPU)、主存储器和输入输出子系统。
中央处理器(CPU)主要包括三部分分别是:算术逻辑单元(ALU)、控制单元、寄存器组,通常我们会说计算机包括控制器和运算器。
中央处理器(CPU)
算术逻辑单元(ALU)主要负责三件事情:逻辑运算即与或非和异或等、移位操作(逻辑移位、算术移位)和算术运算(加减乘除)。
寄存器是用来临时存放数据的高速独立的存储单元,CPU的运算离不开这些高速寄存器。寄存器主要组成:数据寄存器、指令寄存器(IR)和程序计数器(PC寄存器)
数据寄存器:存储输入数据和运算结果或者中间结果
指令寄存器:计算机存储的不仅有数据还有存储在内存中的程序,CPU的主要职责就是从内存中逐条取出指令,并将取出的指令存储在指令存储器中,解释并执行指令。
程序计数器:程序计数器中保存着当前正在执行的指令。当前指令执行完成后,计数器将自动加1,指向下一条指令的内存地址。
控制单元:控制各个子系统的操作,控制主要从控制单元发送到其他子系统的信号来进行。
主存储器
主存储是存储单元的集合,每个存储单元有唯一的标识符,就是地址 ,这与每个人家中有一个门牌号是一个道理的,数据是以字的形式在内存中传入和传出。字可以是8位、16位、32位、64位,假如字是8位,一般称为一个字节,16位为2个字节。
既然存储器中每个存储单元都有唯一地址,那么在存储器中所有的独立地址单元总数就是地址空间,例如64KB,字长是1个字节的地址空间就是[0,65535]。
存储器的类型主要包括两类:RAM(随机存储器)和ROM(只读存储器),RAM和ROM的区别就是:用户可以读写RAM,即用户可以往RAM中写入信息,但是RAM有个特点就是易失性,系统断电数据将丢失;ROM则用户只能进行读,而不能写入,当切断电源,数据也不会丢失。通常存储那些关机后也不会丢失的程序或者数据,例如ROM存储开机时运行的程序
存储的层次机构,计算机由许多存储器,尤其是速度快价格便宜的存储器,但是往往价格贵的存储容量小,因此采用了下面这种的办法:
高速缓存是介于CPU以及内部的寄存器要慢,但是比主存要快的存储器,通常容量较小,且常被至于CPU和主存之间
CPU要存储主存中一个字时通常会首先检测高速缓存,如果高速缓存中有该数据,那么直接复制,如果没有,则从内存中取数据,然后将数据拷贝到高速缓存中,可能有读者就在想设计这个有什么目的:其实这是由于80-20规则,即计算机花费80%的时间存取20%的数据,换句话说,相同的数据会被存储多次。
输入输出子系统
输入输出子系统分成两类:非存储设备和存储设备。非存储设备主要有:键盘、显示器打印机等,存储设备主要有:磁盘、光盘等。
那么各个CPU、主存以及输入输出是如何连接的呢?CPU和内存之间通常由称为总线的三组线路连接在一起,分别是数据总线、地址总线和控制总线。数据总线有多根组成,每一根传送1位的数据,线的数量取决于该字的大小,比如我们常说的32位机(4个字节),那么需要32根线的数据总线,才能同时传送32位的字。地址总线的线数取决于存储空间的大小,如果存储容量是2的n次方,那么就需要n根地址线。控制总线负责CPU与内存之间传送信息。
IO设备不能直接与CPU和内存相连,一般会使用一个输入输出设备控制器作为中间桥梁,这是由CPU内存和输入输出设备的特性所决定的。目前还是用的控制器主要有:SCSI、火线和USB(通用串行总线)。输入输出设备的寻址主要分成两种:IO独立寻址和IO存储映射寻址。IO独立寻址是用来读写内存的指令和用来读写IO设备的指令是完全不同的,因此两者互不影响;而IO存储映射寻址则是CPU将IO设备的每个寄存器看成内存中的某个存储单元,换言之,CPU没有单独的指令用来表示内存或者输入输出设备传送的数据。
程序执行
CPU是利用重复的机器周期来执行程序的指令,一步一步,直到结束,一个简化的周期包括:取指令,译码,执行。
取指令:控制单元命令系统将下一条要执行的指令复制到CPU的指令寄存器(IR),被负责的指令的地址存储在程序计数器中,复制完成后,程序计数器自动加1指向内存中的下一条指令。
译码:当指令进入指令寄存器,由控制单元负责译码,指令译码一般是产生一系列的二进制代码。
执行:译码完成后,控制单元发送任务命令到CPU的某个部位,例如控制单元告知系统,从内存中加载数据项。
标签:isp 结束 正在执行 技术分享 算术运算 计算机系 32位 bsp 规则
原文地址:https://www.cnblogs.com/Rollerman/p/10132903.html