计算机组成结构
计算机系统是一个硬件和软件的综合体,原始的冯•诺依曼(Von Neumann)计算机在结构上是以运算器为中心的,而发展到现在,已转向以存储器为中心了,下图是计算机最基本的组成图:
CPU组成
CPU的内核分为运算器和控制器。
运算器
-
算术逻辑单元ALU:数据的算术运算和逻辑运算
-
累加寄存器AC:通用寄存器,为ALU提供一个工作区,用于暂存数据
-
数据缓冲寄存器DR:写内存时,暂存指令或数据
-
状态寄存器PSW:存状态标志与控制标志(争议:也有将其归为控制器)
控制器
-
程序计数器PC:存储下一条要执行指令的地址
-
指令寄存器IR:存储即将执行的指令
-
指令译码器ID:对指令中的操作码字段进行分析解析
-
时序部件:提供时序控制信号
冯诺依曼结构与哈佛结构
冯诺依曼结构
冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
冯诺依曼结构的特点:
-
一般用于PC处理器,如i3,i5,i7处理器;
-
指令与数据存储器合并在一起;
-
指令与数据都通过相同的数据总线传输。
哈佛结构
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间内,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。
哈佛结构的特点:
-
一般用于嵌入式系统处理器(DSP)数字信号处理(DSP,Digital Signal Processing)
-
指令与数据分开存储,可以并行读取,有较高的数据吞吐率
-
有四条总线:指令和数据的数据总线与地址总线
存储结构
层次化存储结构
计算机存储结构上图所示,总结如下:(速度由高到低排序,容量由低到高排序,成本由高到低排序)
-
CPU寄存器:速度最快,容量最小,成本高
-
Cache:按内容存取
-
内存(主存):随机存储器(RAM)只读存储器(ROM)
-
外存(辅存):硬盘、光盘、U盘等
Cache
-
Cache的功能:提高CPU数据输入输出的速率,突破冯诺依曼瓶颈(CPU与存储系统间数据传输宽带限制);
-
在计算器的存储体系中,Cache是访问速度最快的层次(不存在CPU寄存器的情况下);
-
Cache对程序员来说是透明的;
-
使用Cache改善系统性能的依据是程序的局部性原理(时间和空间局部性)。
-
时间局部性:指程序中的某条执行一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作。
-
空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。
-
工作集理论:工作集是进程运行时被频繁访问的页面集合。
如何计算系统获取缓存的平均周期 t3 ,如果使用h代表Cache的访问命中率,t1表示Cache的周期时间,t3表示主存周期时间,以读操作为例,算法如下:
主存编址
所谓主存的编址就是把芯片组成相应的存储器,在组成时往往需要分析什么样规格的芯片、多少块芯片能够组成按什么方式编址的存储空间。
存储器单位
-
比特位:数据存储的最小单元,计算机中的最小数据单位(bit),一个位的取值只能是0或者1。
-
字长:计算机中对CPU在单位时间内能处理的最大二进制的位数叫做字长。现代计算机的通用字长为8的倍数,即将8个比特位归为一组
-
字节:由八位二进制数组成,是计算机中最基本的计量单位(B), 1B = 8bit。
-
字:字是不同计算机系统中占据一个单独的地址(内存单元的编号)并作为一个单元(由一个或多个字节组合而成)处理的一组二进制数,例如日常生活中常见的32位系统就是32个字,64位系统就是64个字。
存储名词
-
存储元:存储器的最小存储单元,一个存储元用来存放一个比特位,即二进制代码0或1。
-
存储单元:将存储元按相同的位划分为组,组内的存储单元同时进行读取和写入操作,这样一组存储单元称为一个存储单元。一个存储单元通常可以存放一个字节即1B。
-
存储器:存储器是许多存储单元的集合,按单元号顺序排列。
编址内容
-
按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字。
-
按字节编址:存储体的存储单元是字节存储单元,即最小寻址单位是一个字节。
计算公式
存储单元个数 = 最大地 - 最址小地址 + 1
磁盘管理
磁盘基本结构
磁盘:一个磁盘由大小相同且同轴的圆形盘片组成,磁盘可以转动(各个磁盘必须同步转动)。
磁头:在磁盘的一侧有磁头支架,磁头支架固定了一组磁头,每个磁头负责存取一个磁盘的内容。磁头不能转动,但是可以沿磁盘半径方向运动(即磁道切换)。每个磁头同一时刻也必须是同轴的,即从正上方向下看,所有磁头任何时候都是重叠的。
磁道:盘片被划分成一系列同心环,圆心是盘片中心,每个同心环叫做一个磁道。
柱面:所有半径相同的磁道组成一个柱面。
扇区:磁道被沿半径线划分成一个个小的段,每个段叫做一个扇区,每个扇区是磁盘的最小存储单元。
存取过程
-
确定读取数据的磁道和扇区
-
寻道,磁头沿磁盘半径方向运动,将磁头移动对准相应的磁道,所耗时间称为寻道时间(耗时最长)
-
旋转,将磁盘旋转到目标扇区,所耗时间称为旋转等待时间
-
传输,将磁盘读取或者写入磁盘,所耗时间称为传输时间
磁盘读取数据的时间
-
找磁道的时间。
-
找块(扇区)的时,即旋转延迟时间。
-
传输时间
平均存取时间(Average Access Time),是指磁头找到指定数据的平均时间。通常它是硬盘平均寻道时间和平均潜伏时间之和。平均存取时间最能代表硬盘找到某一数据所用的时间,数值越小越好。计算公式如下:
平均存取时间 = 平均寻道时间 + 平均旋转等待时间
磁盘移臂调度算法
磁盘在工作时,盘面是匀速旋转的,因此盘面的旋转是没有优化空间的,因此只能在磁头寻道中通过算法优化读取效率。
-
先来先服务(FCFS):完全不考虑访问者要求访问的物理位置,只按照访问请求的先后次序进行处理。
-
最短寻道时间优先(SSTF):从等待者中有限挑选寻道时间最短(距离当前磁道最近的移臂)进行处理,而完全不考虑访问者的先后次序。
-
扫描算法(SCAN)又称电梯算法:选择距离当前最近的磁道方向持续移动,直到尽头再往相反方向持续移动,直到所有磁道都被轮询。
-
循环扫描算法(CSCAN):选择距离当前最近的磁道方向持续移动,到达尽头后快速返回0号柱面(返回时不提供服务),返回0号柱面后再依次扫描所有磁道。
数据传输控制方式
数据传输主要是由IO设备管理到内存之间的数据传输,由CPU控制,其控制方式如下:
-
程序控制(查询)方式:分为无条件传送和程序查询两种方式。通过CPU轮询询问IO的方式进行传输控制。方法简单,硬件开销小;但I/O能力不高,严重影响CPU的利用率。
-
程序中断方式:CPU无需轮询询问IO传输情况,由IO处理完成后通知CPU进行响应。与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度;也提高了CPU的利用率。
-
DMA方式:DMA方式是为了主存与外设之间实现高速、批量的数据交换而设置的。CPU只承担了传输初始化操作,不参与数据传输。
-
通道方式:专用传输方式。
-
IO处理机:专用传输方式。
总线
总线是一组能为多个部件分时共享的公共信息传送线路。
分时共享是指多条数据总线共享同一条传输线路,同一时刻仅允许一个部件向总线发送信息,但允许多个部件同时从总线接收相同的信息。
串行总线适合长距离传输,串行通讯是指数据在单条一位宽的传输线上,按顺序传输的方式;并行总线适合短距离链接,并行通讯中一个字节数据在8条并行传输线上同时传输
通讯方式
-
单工:一方只能发送信息,另一方则只能接收信息,即单向通信。
-
半双工:双方都能发送和接收信息,但同一时间只能其中一方发送信息
-
全双工:双方能够同时发送和接收信息
总线分类
-
数据总线(Data Bus,DB):在CPU与RAM之间来回传送需要处理或是需要存储的数据。
-
地址总线(Address Bus,AB):用来指定在RAM(Random Access Memory)之中存储的数据的地址。
-
控制总线(Control Bus,CB):将微处理器控制单元(Control Unit)的信号,传送到周边设备。
总线宽度和总线带宽
总线宽度:cpu中运算器与存储器之间进行互连的内部总线二进制位数,影响吞吐量
总线带宽:总线的带宽是指这条总线在单位时间内可以传输的数据总量
CISC与RISC
复杂指令系统计算机(Complex Instruction Set Computer,CISC)。
精简指令系统计算机(Reduced Instruction Set Computer,RISC)。
流水线
流水线是指程序在执行时多条指令重合进行操作的一种准并行处理实现技术。各种部件同时处理针对是不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令平均的执行速度。
流水线相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比等。
流水线执行时间计算公式:流水线建立时间 + (指令条数 - 1)* 流水线周期
-
理论公式:(t1 + t2 + … + tk) + (n - 1) * △t
-
实践公式:k * △t + (n - 1) * △t
-
流水线的吞吐率:是指在单位间时内流水所完成任务的数量输出或的结果数量。计算流水线吞吐率的最基本的公式如下:TP= 指令条数 / 流水线执行时间
-
流水线最大吞吐率:1 / 流水线执行时间
-
流水线加速比:是指完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:S = 不使用流水线执行时间 / 使用流水线执行时间
校验码
奇偶校验
奇偶校验:是由若干位有效信息(如一个字节),再加上一个二进制位(校验)位组成核验码。
奇校验:整个校验码(有效信息位和校验位)中1的个数为奇数。
偶校验:整个校验码(有效信息位和校验位)中1的个数为偶数。
奇偶校验,可以检查1位的错误,不可纠错。
循环冗余校验CRC
循环冗余校验(CRC,CyclicRedundancyCheck)的编码方法:是在k位信息码之后拼接r位校验码。应CRC用码关键的是如何从K位信息简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错。
循环冗余校验码编码规律如下:
-
把待编码N的位有效信息表示多为项式MX;
-
把M(X)左移K位,得到M(X) * Xk,这样空出了K位,以便拼装K位余数(即校验位);
-
选取一K+1个位的产生多项式G(X),对M(X) * Xk做2模除(模2除法是指在做除法运算的过程中不计其进位的除法);
-
把左移K位以后的有效信息与余数R(X)做2模加减,拼接为CRC码,此时的CRC码共有N+K位。
把接收到的CRC码用约定生成的多项G(X)式去除,如果正确,则余数为0;如果某一位出错,则余数不为0。不同的位数出错余数其不同,余数和出错位序号之间有唯一对的应关系。
CRC校验,可以检错,不可纠错。
嵌入式
数字信号处理器DSP
DSP芯片,也称为数字信号处理器,是一种特别适用于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。
特点:适合数字信号处理运算,实时快速地实现各种数字信号处理算法。
类比:数学运算的“大脑”。
片上系统SoC
System on Chip,简称SoC,也称片上系统。从狭义角度讲,它是信息系统核心的芯片集成,是将系统关键部件集成在一块芯片上;从广义角度讲,SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。
特点:信息系统核心的芯片集成。微小型系统。
类比:包括大脑、心脏、眼睛和手等,完成某项功能的系统。
微处理器MPU
微机中的中央处理器(CPU)称为微处理器(MPU),是构成微机的核心部件,也可以说是微机的心脏。它起到控制整个微型计算机工作的作用,产生控制信号对相应的部件进行控制,并执行相应的操作。
特点:微型机的核心部件,起到控制作用。
类比:缩小版“大脑”。
单片微型计算机或单片机MCU
微控制单元(Microcontroller Unit;MCU),又称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/B转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场景做不同组合控制。
特点:芯片级计算机。对处理器做适当缩减,并将内存、计数器等周边整合在单一芯片上,可以为不同应用场合做不同控制组合。
类比:缩小版“人”。
– THE END –