目录
1.1 复杂与精简指令系统计算机
CISC(Complex Instruction Set Computer):复杂指令系统计算机;
特点:指令数量众多;指令使用频率相差悬殊;支持很多种寻址方式;变长的指令;指令可以对主存单元中的数据直接进行处理;以微程序控制为主。
RISC(Reduced Instruction Set Computer):精简指令系统计算机;
特点:指令数量少;指令的寻址方式少;指令长度固定;以硬布线逻辑控制为主;单周期指令执行,采用流水线技术;优化的编译器:RISC 的精简指令集使编译工作简单化;CPU 中的通用寄存器数量多,一般在 32 个以上,有的可达上千个。
VLSI(Very Large Scale Integration Circuit):超大规模集成电路;
WLIW(Single Instruction Multiple Data):单指令流多数据流;
VLIW(Very Long Instruction Word):超长指令字;
1.2 映射
(1)直接映射
---- 一个内存地址能被映射到的Cache line是固定的。指主存的某块j只能映射到满足特定关系的Cache快i中,就如每个人的停车位是固定分配好的,可以直接找到。
(2)全相联映射
---- 主存中的一个地址可被映射进任意cache line,问题是:当寻找一个地址是否已经被cache时,需要遍历每一个cache line来寻找,这个代价很高。
(3)组相联映射
---- 组相联映射实际上是直接映射和全相联映射的折中方案,其组织结构如图(3)所示。
主存和Cache都分组,主存中一个组内的块数与Cache中的分组数相同,组间采用直接映射,组内采用全相联映射。
也就是说,将Cache分成2^u组,每组包含2^v块,主存块存放到哪个组是固定的,至于存到该组哪一块则是灵活的。
即主存的某块只能映射到Cache的特定组中的任意一块。
1.3 原码、反码、补码
原码:把一个数转换为二进制表示形式。正数符号位为0,负数符号位为1;
反码:正数的反码与原码相同;负数的反码除了符号位其他位取反;
反->原:正数不变,负数除符号位其他位取反。
补码:正数的补码与原码相同;负数的补码是反码最末位加一;
补->原:正数不变,负数除符号位其他位取反后末位加1;
1.4内存容量
存储单元个数=结束地址-起始地址+1
B13FFH-A1000H+1=10400H;
64KB+1KB=65KB;
1.5串行、并行、专用总线
串行总线将数据一位一位传输,数据线只需要一根(如果支持双向需要2根),并行总线是将数据的多位同时传输,显然,并行总线的传输速度快,在长距离情况下成本高;串行传输的速度慢,但是远距离传输时成本低。
单总线结构在一个总线上适应不同种类的设备,通用性强,但是无法达到高的性能要求,而专用总线则可以与连接设备实现最佳匹配。
1.6 程序运行
在程序运行过程中,CPU需要将指令从内存中取出并加以分析和执行。CPU依据指令周期的不同阶段来区分在内存中以二进制编码形式存放的指令和数据。
1.7 指令周期
指令周期是取出一条指令并执行这条指令的时间。一般由若干个机器周期组成,是从取指令、分析指令到执行完所需的全部时间。
控制单元要完成指令解释的全部过程,包括:
1) 取指令;从内存读取指令,放入IR指令寄存器中; (取指周期)
2) 分析指令;需要对指令的操作码和寻址方式进行分析,如分析该指令是系统指令集中的哪个指令;(取指周期)
3) 执行指令;(执行周期)
4) 写回结果;
取指周期数据流的步骤:
①PC把下一条执行指令的地址送入MAR;
②MAR把地址送到地址总线,再由地址总线送到存储器;
③CU把读控制信号送到控制总线上;再由控制总线送到存储器;
④存储器执行读操作,把相应的数据送到数据总线;通过数据总线送到MDR;(这个时候,指令已经被取出到cpu了,并保持到MDR寄存器中)
⑤MDR把指令送到IR中;
⑥CU把PC加1(得到下一条指令的地址);为下一条指令的取指操作做准备;
1.8 浮点数格式
浮点格式表示一个二进制数N的形式为N=2^E*F,其中E称为阶码,F叫做尾数。在浮点表示法中,阶码通常为含符号的纯整数,尾数为含符号的纯小数。
指数为纯整数,阶符1位、阶码6位在补码表示方式下可表示的最大数为63(即2^6-1),最小数为-64(-2^6)。尾数用补码表示时最小数为-1,最大数为1-2^-8,因此该浮点数表示的最小数为-2^63,最大数为(1-2^(-8))*2^63。
1.9 海明码
(1)设数据位是n位,校验位是k位,则n和k必须满足以下关系:2^k-1>=n+k;
(2)海明码可以利用奇偶性进行检错和1位纠错;
1.10Cache
由硬件自动完成Cache与主存之间的地址映射;在CPU内外常设置多级高速缓存(Cache),其主要目的是提高CPU访问主存数据或指令的效率。
1.11 CPU中的寄存器
程序计数器(PC):保存待读取指令在内存中的地址。
累加器(AC):逻辑运算单元中用来暂存源操作数和计算结果的寄存器。
指令寄存器(IR):指令寄存器暂存从内存读取的指令,用来保存当前正在执行的一条指令。
地址寄存器(AR):暂存要访问内存单元的地址。
1.12输入输出控制方式
一般而言,CPU管理外围设备的输入输出控制方式有5种:程序查询方式、程序中断方式、DMA方式、通道方式、外围处理机方式,前两种方式由软件实现,后三种方式由硬件实现。
(1)DMA方式:DMA方式就是直接存储器存取(Direct Memory Access)方式,是一种完全由硬件执行I/O交换的工作方式。
在该方式中,DMA控制器从CPU完全接管对总线的控制权,数据交换不经过CPU而直接在主存和外围设备之间进行,以便高速传送数据。
这种方式的主要优点是数据传送速度很高,传送速率仅受限于主存的访问时间。与程序中断方式相比,这种方式需要更多的硬件,适用于主存和高速外围设备之间大批量数据交换的场合。
(2)程序中断方式:中断是外围设备用来“主动”通知CPU,准备发送或接收数据的一种方式。
通常,当一个中断发生时,CPU暂停其现行程序,转而执行中断处理程序,完成数据I/O工作;当中断处理完毕后,CPU又返回到原来的任务,并从暂停处继续执行程序。
计算机运行过程中,进行中断处理时需保存现场,其目的是能正确返回被中断的程序继续执行。
这种方式节省了CPU时间,是管理I/O操作的一个比较有效的方法。中断方式一般适用于随机出现的服务,并且一旦提出要求,应立即执行。与程序查询方式相比,程序中断方式的硬件结构相对复杂一些,服务成本较大。
(3)程序查询方式:程序查询方式是早期计算机中使用的一种方式,CPU与外围设备的数据交换完全依赖于计算机的程序控制。
(4)通道方式:DMA方式的出现减轻了CPU对I/O操作的控制,使得CPU的效率显著提高,而通道的出现则进一步提高了CPU的效率。
通道是一个具有特殊功能的处理器,又称为输入输出处理器(IOP),它分担了CPU的一部分功能,可以实现对外围设备的统一管理,完成外围设备与主存之间的数据传送。
通道方式大大提高了CPU的工作效率,然而这种效率的提高是以增加更多的硬件为代价的。
(5)外围处理机方式:外围处理机(Peripheral Processor Unit,PPU)方式是通道方式的进一步发展。
1.13可靠度
可靠度为R1和R2的两个部件并联后的可靠度为(1-(1-R1)(1-R2));
可靠度为R1和R2的两个部件串联后的可靠度为R1R2;
1.14 存储器
计算机系统的主存主要是由DRAM构成的。
DRAM(动态随机访问存储器):用来作为主存及图形系统的帧缓冲区。
SRAM(静态随机访问存储器):用来作为高速缓存存储器(Cache)。
EEPROM:是电可擦除可编程只读存储器。
1.15 中断方式与DMA方式
计算机运行过程中,CPU需要与外设进行数据交换。采用中断方式和DMA方式控制技术时,CPU与外设可并行工作。
程序查询和中断方式都需要CPU来执行程序指令进行数据的输入和输出,DMA方式则不同,这是一种不经过CPU而直接从内存存取数据的数据交换模式。
中断方式是在外设准备好时给CPU发中断信号,之后再进行数据传输。在外设未发中断信号之前,CPU可以执行其他任务。
在DMA模式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数据的传送,数据传送完毕再把信息反馈给CPU即可。
1.16 浮点数加减规则
浮点数的表示分为阶和尾数两部分。两个浮点数相加时,需要先对阶,即将小阶向大阶对齐,同时将尾数右移n位。
1.17 BIOS保存在ROM上
在微机系统中,BIOS(基本输入输出系统)保存在主板上的ROM中。
BIOS是装在计算机硬件系统中最基本的软件代码,为计算机提供最底层最直接的硬件设置和控制,即使关机或掉电,其内容也不会丢失,它保存在主板上的ROM(只读存储芯片)中。
1.18 补码表示的范围
采用n位补码(包含一个符号位)表示数据时,用1位(最高位)表示数的符号(0正1负),其余n-1位表示数值部分。若表示整数,可表示的最大整数的二进制形式为n-1个1(即2^(n-1));可表示的最小整数为-2^(n-1),即二进制形式为1之后跟n-1个0,此时最高位的1既表示符号也表示数值。
1.19奇偶校验
奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码矩变为2.对于奇校验或偶校验方法,它可以检测代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中的奇数位发生错误时,编码中的1变成0,或0变成1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误,但是不能确定出错的数据位置,从而无法纠正错误。
奇校验:一个字节8位中“1”的个数,校验位,添加一位,使9位中“1”的个数为奇数;偶校验同理。
1.20程序的局部性原理
程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。相应地,所访问的存储空间也局限于某个内存区域。
局部性原理又表现为:时间局部性和空间局部性;
时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;如果某数据被访问,则不久之后该数据可能再次被访问。
空间局部性是指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。
1.21循环冗余校验码
循环冗余校验码(Cyclic Redundancy Check,CRC)广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,在求CRC编码时,采用的是模2除法。
1.22 时钟周期、主频、MIPS
时钟周期=1/主频;
MIPS:每秒执行百万条指令数=1/(CPI×时钟周期)=主频/CPI;
1.23中断向量
中断向量是指早期的微机系统中由硬件产生的中断标识码(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址)。中断是指在计算机执行程序的过程中,当出现异常情况或者特殊请求时,计算机停止现行程序的执行,转而对这些异常处理或者特殊请求的处理,处理结束后再返回现行程序的中断处,继续执行原程序。