组成原理提纲及概念整理
计算机系统概论:
1计算机定义:计算机是由硬件和软件两大部分组成的、能按照事先存储的程序,自动、高速地对数据进○
行输入,处理、输出和存储的高度自动化的电子设备。软件是指在计算机硬件上运行的各中程序和数据的总称,包括系统软件、应用软件和工具软件。
2主要部件 ○
现代计算机的组成:CPU[运算器&控制器]、I/O设备[输入设备&输出设备]及存储器MM(Main Memory) 通常将运算器和控制器合并起来统称为中央处理器 CPU(Central Processing Unit)。CPU是计算机的核心部件。ALU和CU(Control Unit 控制单元)是CPU的核心部件。
运算器(算数逻辑运算单元ALU:Arithmetical Logical Unit):主要功能是执行算数运算和逻辑运算的功能部件。运算器由算数逻辑部件和累加器、寄存器部件两部分组成,算术逻辑部件是运算器的核心,它主要由加法器和有关数据通路组成。
计算机的基本操作可归纳为取指、译码(分析指令)和执行三个阶段。为此,控制器设有程序计数器(PC)[存放程序指令地址];指令寄存器(IR);指令译码器(ID)和时序电路。
存储器的功能是存放程序和数据。存储器分为内存[CPU直接访问,Cache为CPU和主存之间的高速存储部件]和外存两部分。
3冯·诺依曼结构(普林斯顿结构)特点: ○
1. 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成。 2. 指令和数据均以二进制码表述。
3. 指令和数据以同等地位存放于存储器中(并可按地址寻访);指令由操作码和地址码组成(操作
码用来表示操作的性质,地址码用来表示操作数所在的位置);指令在存储器内按顺序存放;机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。[或可总结为存储程序,程序控制]
4总线是一组能为多个部件服务的公共信息传送线路,○它能分时地发送和接受各部件的信息[数据、地址和
控制信号]。总线分按用途为数据总线(反应了CPU的字长,体现运算精度)[双向总线]、地址总线(反应了CPU和主存和输入输出接口的寻址能力)[单向总线]、控制总线(反应了CPU的控制能力)。分时和共享是总线的两大基本特点。
5执行符号和规则就叫做语言。程序设计语言分为机器语言、汇编语言和高级语言。程序[机器指令]是由○
指令组成的。指令是代表某种特定操作功能的一串二进制代码。指令的基本格式为操作码OP和操作数地址AD两部分。指令周期:CPU从取指、译码到执行该指令所需要的时间。机器周期[CPU周期]:CPU执行一次基本操作所需要的时间。时钟周期:在微处理器中支持CPU工作的主振脉冲中支持CPU工作的主振脉冲的周期,是CPU中最小的时钟周期。
7主要性能指标: ○
主频即时钟频率,是指计算机的CPU在单位时间内发出的脉冲数目。[主频=外频*倍频] 机器字长是指CPU一次能处理数据的位数。[字长决定了计算机的运算精度]
MIPS和MFLOPS衡量运算速*度。MIPS=指令条数/(执行时间*10);MFLOPS=浮点操作次数/(执行时间*10) 兼容性:一台设备、一个程序或一个适配器在功能上能容纳或替代以前版本或型号的能力。向后兼容是软件兼容的根本保证,也是系统的根本特征。
信息表示:
1计算机采用二进制的原因:在机器制造上容易实现(大多数电子元件只有两个稳定状态)○、计算简便、最
-6
-6
接近工程常数。
2基数:进位制的基本特征数,即所用的数字符号个数。真值:正、负号加某进制数绝对值的形式。机器○
数:在机器中使用的连同符号一起数码化表示的二进制数的形式。
3二进制转换为十进制:整数部分除二取余,数值部分由下到上;小数部分乘二取整,数值部分由上到下。○
二进制转换为八进制(十六进制):从左边开始每三位(四位)转换为一个八进制数值(十六进制数值)。
4[X]补+[-X]补=000?0 ○
[X]反+[-X]反=111?1 补码的0只有一种表示,移码正负表示和其他不同
补码[正数于原码相同,移码[符号位与补码相反。正1负0] 11011 10101 真值 原码[正数高位为反码[正数与原码相同,负0,负数高位为1] 数高位为1,数值位取反] 负数为反码在低位+1] +1011 -1011 01011 11011 01011 10100 01011 10101 数的浮点表示: 一般表示: IEEE754: 数符 数符 阶码(整数形式,有符号位) 尾数(转换为0.XX形式,并只记录小数点后数据) 阶码(整数+127,无符号位,尾数(转换为1.XX形式,并只记录小数点后数据,8位) 23位) IEEE(Institute of Electrial and Electronic Engineer):电器和电子工程师协会
ASCⅡ(Americab Standard Code for Information Interchange):美国国家信息交换标准代码[‘0’:48(0110000);‘A’:65(1000001);‘a’:97(1100001)]
BCD(Binary Code Decimal):借用四位二进制数的十六个状态组合的其中十个状态来表示十进制数的0~9。常用BCD码有8421码、余3码、2421码、格雷码。
奇偶校验码:校验码中包含1的个数为奇数的是奇校验;包含1的个数为偶数的是偶校验。 码字:由若干个代码组成的字。
运算方法和运算部件:
1定点加减运算:[计算时注意是否写明机器字长,符号位参与运算] [BCD码计算有进位须校正+6] ○
码距:将两个码字逐位比较,代码的不通为就叫做这两个码字的距离。
溢出:运算结果超出了计算机所能表示的数据范围。正溢(上溢):运算结果为正而绝对值超出了表示的范围。负溢(下溢):运算结果为负而绝对值超出了表示的范围。
定点数的溢出须根据数值本身判断。[一般产生溢出的情况:同号相加,异号相减]溢出的判别方法:符号位判定;进位判定[S⊕C为1是溢出];双符号位判定[01正溢、10负溢]
2移位:逻辑移位、循环移位、算数移位[正数补0,注意补码负数算数右移补1] ○
3算数逻辑运算单元:ALU是一种功能较强的组合逻辑电路。它能进行多种算术运算和逻辑运算。ALU的基○
本逻辑结构是超前进位加法器。
并行加法器:进位产生函数:Gi=Xi·Yi 进位传递函数:Pi=Xi⊕Yi
4定点数乘法运算:乘法均采用补码进行计算。 ○
原码一位乘 符号位不参与运算 Pf=Xf⊕Yf |X|被乘数,双符号; Yn=1,+|X|,右移; |Y|乘数,单符号 Yn=1,右移 移动n次 校正法 被乘数符号位参与运算,乘数符号位不参与运算 |X|被乘数,双符号; Yn=1,+|X|,右移; |Y|乘数,单符号 Yn=1,右移 最后须根据结果符号校正 移动n次 比较法 符号位参与运算 |X|被乘数,双符号; YnYn-1=11/00,右移;YnYn-1=10,移动n次 |Y|乘数,单符号(低位还要加0) +[-X]补;YnYn-1=01,+[X]补; 最后结果须校正。 比较n+1次 5定点除法运算[被除数和除数都双符号] ○
恢复余数法 加减交替法[无符号] 加减交替法减去除数 减去除数 不够减商上0,恢复余数,左移; 够减商上1,左移 不够减商上0,左移,后面+Y 若最后商上0须恢复余数 够减商上1,左移,后继续减 余数与除数同号上左移n次 左移n次 加减n+1次 左移n次 同号时减 余数与除数异号上0,左移,加[有符号] 异号时加 上除数。 1,左移,减去除数。 加减n+1次 注:带符号加减交替法:若商为正,当余数与被除数异号时,则应将余数加上除数进行修正才能获得正确的余数。若商为负,当余数与被除数异号时,则余数需减去除数进行校正。
6浮点数的运算:1.对阶[向数字大阶码靠拢:计算两阶码差值并将差值转换为十进制数,比较大小,对○
阶,并改变该阶码所对应尾数值(*2,保留右移中丢掉位)] 右规,阶码加]
存储系统:
4.舍入处理[0舍1入]
n
2.位数加减 3.规格化操作[通过
规格化将双符号位转变成11.0X或00.1X的形式;11.1或00.0形式,左规,阶码减;01.X或10.X形式,
5.检查阶码是否溢出
1存储系统通常是由几个指标[容量、速度和价格/位]各不相同的存储器,按一定体系解放够组织起来而○
构成的系统。在物理构成上,存储系统分为cache、主存、外存(辅存)。
存储介质:能表示二进制数1和0的物理器件。存储元:存储1位二进制代码信息的器件。存储单元:若干个存储元的集合,它可以存放一个字或一个字节。存储体:若干个存储单元的集合。地址:存储单元的编号。[每个存储单元存放一个数据,每个字单元有一个地址编号,CPU按地址存取数据,每次读一个字] 主存储器的类型:随机存储器(random access memory,简称RAM);只读存储器(read-only memory,简称ROM);可编程序的只读存储器(programmable ROM,简称PROM);可擦除可编程序只读存储器(erasable PROM,简称EPROM);可用电擦除的可编程只读存储器(electrically EPROM,简称E2PROM)
存储器分类:按存储介质分为半导体、磁性;按存取方式分为随机、顺序;按读写功能分为只读、读写;按可保存性分为永久性、非永久性;按作用分为主存、辅存、高速缓存、控制存储器。
2随机读写存储器: ○
SRAM【六管】[组成双稳态触发器]:
定义:若T1导通T2截止,存入信息为0;T1截止T2导通存入信息为1;
1)写入:字线加高点平,控制门管T5,T6导通一对位线与双稳态触发器接通。
写入1:w为高电平,w加低电平,T2导通,T1截止。 写入0:w为低电平,w为高电平,T1导通,T2截止。 2)读出:一对位线加高电平,字线加高电平。 读出1:w有电流。 原状。
DRAM【单管】[破坏性读出]: 1)写入:字线为高电平,T导通。
读出0: w有电流。
—
——
w —Z VCC T3 T5 A T1 T2 VGG B T4 T6 w 3)保持:字线加低电平,T5、T6门管截止,双稳态触发器靠自身反馈保持
W Z 若位线为低电平(写1)且Cs上无存储电荷,,则VDD通过T对Cs充电;若位线为高电平(写0)且Cs上有存储电荷,Cs通过T放电。 2)读出:当字线为高电平,T导通。
位线加高电平。若Cs充有电荷,则Cs放电,便可检出Cs“1”态;若原来Cs上无电荷,表示Cs上存储的是“0”。 3)暂存:字线加低电平,T断开。
SRAM和DRAM性能比较[随机读写存储器,数据可读可写] SRAM DRAM 存储信息 触发器 电容 破坏性输出 非 刷新 送地址 不要 行列同时 先行后列 运行速度 快 慢 集成度 低 高 T VDD CS
C发热量 存储成本 大 低 高 低 四管非,单管是 要 SRAM:读写速度快,生产成本高,度用于容量较小的告诉缓存;DRAM读写速度慢,集成度高,成产成本低,多用于容量较大的主存储器。
3主存储器的组织及设计 ○
主存储器包括:地址寄存器[指出要访问的主存单元的地址编码];地址译码器[把地址编号翻译成具体的某一个地址单元的选择信号];地址驱动器[直接驱动存储体工作];数据寄存器[指出要访问的主存单元地址编号];读写控制线[产生具体的内部工作的控制信号]
存储器设计:1)先计算每组需要多少芯片[位的商],共几组[字的商];2)计算地址的片选逻辑[片外地址线数目和片内地址线数目]和地址分配[每组的地址范围,用16进制表示];3)画图:先位扩展[地址线(单向)共用,数据线(双向)根据每个芯片的数据线数目分配],单元扩展[照之前的位扩展的方式,再增加相应的组数],连接控制线[读写控制线与CPU连接,注意低电平有效],形成片选电路[连接片选线,每组的片选线根据之前写的片选逻辑和译码器相连。译码器连接片外地址线,译码器的控制端和CPU相连,注意低电平有效][注意若芯片为ROM其数据线为单向]
4动态存储器刷新:集中刷新方式、分散刷新方式、异步刷新方式。 ○
逐行刷新:设置一个刷新地址计数器,提供刷新地址,每刷新一行后,刷新地址计数器加1,每个计数循环对芯片各行刷新一遍。
刷新周期:把全部存储单元都刷新一遍所允许的最大时间间隔称为最大刷新周期。[该指标约为2ms] 并行存储器:在一个存储中周期内可以并行读取多个数据字的主存储器。其寻址方式有单体多字寻址方式、多体存储器的寻址方式、多体交叉寻址方式。
5Cache的概念:一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要技术[其○
理论依据是程序访问和局部性原理],特点[存取速度快,容量小,存储控制和管理由硬件实现]。 命中率h= NC/(NC+ Nm)[ NC为cache完成存取的,次数;NM主存完成存取的总次数];cache平均访问时间=cache访问时间*命中率+未命中率*主存访问时间;访问效率=cache访问时间/cache平均访问时间 Cache的组织方法:
(1)地址映像:直接映像[实现简单,但不够灵活,存储空间利用率低,命中率低;][主存地址:主存标记+cache块号+块内地址];全相联映像[最灵活,但成本最高][主存地址:主存快标号+块内地址];组相联映像[介于直接映像与全相联映像之间][主存地址:主存组号+cache组号+组内块号+块内地址]。 为了把信息从主存复制到Cache,必须应用某种规则或方法把主存地址定位到Cache中,称作地址映像。 在信息按照映像关系装入Cache后,执行程序时应将主存地址变换成Cache地址,这个过程叫做地址变换。 Cache命中率除了与地址映像方式有关,还与容量有关,容量越大,命中率越高。
Cache地址位数由cache大小决定(2的几次幂),块内地址由块数决定,块地址=地址位数-块内地址数。[主存同理],块表容量=cache块数*主存标记位数
(2)替换算法:FIFO(先进先出页面置换算法)、LRU(最近最少使用页面置换算法)、RAND(随机替换法)
6虚拟存储器○(VM):虚拟存储器指的是主存—外存层次。它以透明的方式给用户提供一个比实际主存空间
大得多的程序地址空间。特点:虚拟存储器是建立在辅存上,使得程序员可以按比主存大得多的空间来编制程序;作用:通过了一个虚拟的地址空间,使计算机拥有辅存的容量、接近于主存的速度和辅存的每位成本。可分为页式虚拟存储器、段式虚拟存储器、段页式虚拟存储器。
7存储保护[由硬件实现]包括两方面:存储区域保护[页表保护、键方式、环保护方式]和访问方式保护。 ○
指令系统:
1所有计算机指令的集合就构成该计算机的指令系统○(机器语言),是计算机软件与硬件的接口。指令系统
的性能要求:完备性、有效性、规整性、兼容性。机器语言由指令代码编写成。汇编语言(符号语言)用指令助记符来编写程序。
指令是要求计算机执行某种操作的命令。指令有微指令[微程序级的命令,属于硬件]、宏指令[由若干条机器指令组成的软件指令]和机器指令[介于微指令和宏指令之间,简称为指令,每条指令可完成一个独立的
算术运算或逻辑运算]之分。
机器指令的特点:由二进制数“1”和“0”组成,CPU可直接识别,可完成独立的算术运算或逻辑运算操作,执行速度最快。
指令字:代表指令的一组二进制代码信息[一条完整的指令称为一个指令字];指令长度:指令字中二进制代码的位数[由操作码长度、操作数地址和操作数地址个数决定];指令格式:是指令字用二进制代码表示的结构形式。
2指令格式:一条指令的结构可用如下形式来表示:操作码(OP)[说明操作的性质及功能]、地址码(操○
作数地址、操作结果存储地址、下一条指令地址)[描述该指令的操作对象/给出操作数/指出操作数的存储器地址/寄存器地址(寄存器名)]。
1)零地址指令:指令中只有操作码[空操作指令、停机指令、堆栈结构的运算指令]。
2)一地址指令:指令中只给出一个地址,该地址既是操作数的地址,又是操作结果的存储地址。 3)二地址指令:最常见的指令格式,两个地址指出两个源操作数地址,其中一个还是存放结果的目的地址。 4)三地址指令:两个源操作数地址,另一个用来存放结果的目的地址。 5)多地址指令:多个地址用于指出源操作数地址及存放结果的目的地址。
指令操作码的扩展技术:指令操作码有两种编码格式,一种是固定格式,即操作码的长度固定,且集中放在指令字的一个字段中;另一种是可变格式,即操作码的长度可变,且分散地放在指令字的不同字段中。
3寻址方式:根据指令中给出的地址码寻找操作数有效地址的方式。寻址方式分为有顺序寻址、跳跃寻址、○
两类,由指令计数器来跟踪。 立即数:放在指令中的操作数。
偏移量:指令字结构中给定的地址量。
操作数的寻址方式[形成操作数的有效地址的方式]:隐含寻址[没有明显地给出地址]、直接寻址[地址部分是操作数的地址]、立即寻址[地址部分是操作数]、寄存器寻址[地址部分是寄存器的名称,操作数在寄存器中]、寄存器间接寻址[地址部分是操作数地址的地址,汇编格式为[R](R为寄存器名)]、基址寻址[操作数地址:基址寄存器+段内偏移量]、变址寻址[操作数地址:变址寄存器地址+操作数地址,汇编格式为X[R]]、相对寻址[操作数地址:形式地址(偏移量Disp)+程序计数器PC]、块寻址、段寻址。
4指令可以分为数据传输指令、算术逻辑指令,移位操所指令,浮点运算指令,十进制运算指令,字符串○
处理指令,转移类指令,堆栈及堆栈操作指令,输入输出(I/O)指令,特权指令,其他指令。
5CISC(complex instruction set computer)复杂指令系统计算机 ○
RISC(reduced instruction set computer)精简指令系统计算机[CISC指令系统的改进,通过简化指令使计算机的结构更加简单合理,从而提高运算速度。特点为:指令条数少;指令长度固定,指令格式、寻址方式少;只有取数/存数指令访问存储器,其余指令都在寄存器中进行,即限制内存访问;CPU中通用寄存器数量相当多,大部分指令都在一个机器周期内完成;以硬布线逻辑为主,不用或少用微程序控制;特别重视编译工作,以简单有效的方式支持高级语言,减少程序执行时间]
中央处理器:
1CPU是计算机的核心部件,其主要功能可归结为:指令控制[CPU的首要任务]、操作控制[协调各个工作○
部件按指令要求完成规定任务的基础]、时序控制[保证功能部件组合构成由纪的计算机系统]、数据加工[CPU的根本任务]。CPU是由控制器[主要任务:取指、译码和数据流控制]和运算器(cache也可算在内)组成的。
2CPU中主要的寄存器: ○
数据缓冲寄存器(DR-Data Register),存放操作数(CPU从主存或Cache中读来的数据或指令) 指令寄存器IR(Instruction Register),存放当前正在执行的指令 程序计数器PC,保存下条要执行的指令地址,有自增功能
地址寄存器AR(Address Register),存放操作数(CPU要访问的主存或I/O端口)地址 累加寄存器AC,为ALU提供一个草组数,并保留操作结果。