重庆大学计算机组成与结构考纲整理.docx
- 文档编号:12379915
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:22
- 大小:27.99KB
重庆大学计算机组成与结构考纲整理.docx
《重庆大学计算机组成与结构考纲整理.docx》由会员分享,可在线阅读,更多相关《重庆大学计算机组成与结构考纲整理.docx(22页珍藏版)》请在冰豆网上搜索。
重庆大学计算机组成与结构考纲整理
Chapter1
Whatisthecomputerarchitecture?
计算机体系结构是那些对程序员可见的系统属性
Whatisthecomputerorganization?
计算机组成是实现结构规范的操作单元及其相互连接.
Whatisthestructureofacomputersystem?
部件互相关联的方法
Whatarethefunctionsofacomputer?
作为结构组成部分的单个独立部件的操作
Describetheprincipalelementsofacomputer
●中央处理单元:
它控制计算机的操作并且执行数据处理功能;
●主存储器:
存储数据
●I/O:
在计算机及其外部环境之间传输数据
●系统互连:
为CPU、主存储器和I/O之间提供一些通讯机制
DescribetheprincipalelementsofaCPU
●控制单元:
控制CPU以至于整个计算机的操作;
●算术逻辑单元(ALU):
执行计算机的数据处理功能;
●寄存器:
提供CPU的内部存储;
●CPU内部互连:
提供控制器,ALU和寄存器之间的某种通信机制.
Chapter2
VonNeumann/TuringmachineanditsStructure
●主存储器,用于存储数据和指令
●能够处理二进制数的算术逻辑运算单元
●控制器,负责解释内存中指令并执行之
●用控制器操纵的I/O设备
StoredProgramConcept
如果程序能够以某种形式与数据一同存在存储器中,编译的过程就可以简化.这样,计算机就可以通过在存储器中读取程序来获取指令,而且通过设置一部分存储器的值就可以编写和修改程序.
Moore’sLaw
单芯片上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍.
Speedingitup–formicroprocessor
流水线;Onboardcache;OnboardL1&L2cache;转移预测,数据流分析,推测执行.
Solutions
●Increasenumberofbitsretrievedatonetime
●ChangeDRAMinterface
●Reducefrequencyofmemoryaccess
●Increaseinterconnectionbandwidth
Chapter3
ThreekeyconceptsofvonNeumannarchitecture
1.数据和指令存储在单一的“读/写存储器”中
2.存储器的内容通过位置寻址,而不关心存储在其中的数据类型
3.以顺序的形式从一条指令到下一条指令的执行.(除非有明确的修改)
ProgramConcept
●硬件编程
Hardwired(硬连线)systemsareinflexible
●软件编程
Generalpurposehardwarecandodifferenttasks,givencorrectcontrolsignals;
Insteadofre-wiring,supplyanewsetofcontrolsignals.
ComputerComponents
●CentralProcessingUnit
TheControlUnitandtheArithmeticandLogicUnitconstituteCPU
●Input/output
Dataandinstructionsneedtogetintothesystemandresultsout
●Mainmemory
Temporarystorageofcodeandresultsisneeded
取指令/执行指令
PC:
保存下一条将要读取指令的地址,将指令装入IR后,一般PC+1
IR:
保存读取到的指令
多重中断
1.禁止中断(中断使能):
在中断处理过程中禁止其他中断,禁止中断仅仅意味着处理器可以并且将忽略中断请求信号.
缺点:
没有考虑到相对的优先级和时间紧迫的需要
2.优先权:
定义中断的优先级,且允许优先级高的中断引起低级中断处理程序本身被中断.
总线
数据总线:
提供系统模块间传送数据的路径.数据总线宽度是决定系统总体性能的关键因素
地址总线:
用来指定数据总线上数据的来源或去向.地址总线的宽度决定了系统能够使用的
最大的存储器容量.
控制总线:
控制对数据线和地址线的存取和使用.
Chapter4
MemoryPerformance
●Accesstime访问时间
Timebetweenpresentingtheaddressandgettingthevaliddata
●MemoryCycletime存储周期
Timemayberequiredforthememoryto“recover”beforenextaccess
Cycletimeisaccess+recovery恢复
●TransferRate传输率
Rateatwhichdatacanbemoved
MemoryHierarchy存储器层次结构
●Registers寄存器
InCPU(L1cache,L2cache)
●InternalorMainmemory
Mayincludeoneormorelevelsofcache
“RAM”高速缓冲存储器
(Diskcache)
●Externalmemory
Backingstore存储备份
(Optical,Tape)
随着层次下降,价格下降,容量增大,存取时间变长,处理器访问存储器频率降低.
LocalityofReference局部性原理
在程序执行的过程中,处理器倾向于成簇(块)地访问存储器中的指令和数据.
MappingFunction映射功能
●DirectMapping直接映射
●AssociativeMapping全相联映射
●SetAssociativeMapping组相联映射
替换算法
●最近最少使用的算法(LRU):
替换掉那些在cache中最长时间未被访问过的块
●先进先出(FIFO):
替换掉那些在cache中停留时间过长的块
●最不经常使用(LFU):
替换掉cache中被访问次数最少的块
●随机Random
写策略
●写直达writethrough:
所有的写操作都同时对主存和cache进行,以保证主存中的数据总是有效的
缺点:
产生了大量的存储通信量,可能引起瓶颈问题
●写回法writeback:
只更新cache中的数据.当更新操作发生时,需要设置与该行相关的脏位或使用位.然后,当一个块被替换掉时,当且仅仅当脏位被置位时才将它写回主存.
缺点:
部分主存数据是无效的
Chapter5
随机存取存储器是最常用的半导体存储器.
(这是术语误用,因为几乎所有类型的半导体存储器类型都是随机存取的)
动态RAM(DRAM)利用电容充电来存储数据,需要周期性地充电刷新来维持数据的存储.
动态一词就是指这种存储电荷丢失的趋势,即使电源一直在供电.
静态RAM(SRAM)是一个数字设备,它使用与处理器相同的逻辑元件.只要电源不断,它将一直保持它所存储的数据.
SRAMverseDRAM
●静态和动态RAM都是易失的,即二者都要求电源持续供电才能保存位值.
●SRAM一般用于Cache存储器,而DRAM则用于主存储器.
ModuleOrganization
1Mb*8bit20条数据总线,8条通道
Chapter6
TypesofExternalMemory
●MagneticDisk
RAID(冗余阵列磁盘机)
●Optical
CD-ROM,CD-Writable(WORM),CD-R/W,DVD
●MagneticTape
WinchesterHardDisk
●封装在几乎无污染的密封装置中
●Oneormoreplatters(disks)
●Headsflyonboundarylayerofairasdiskspins
●Verysmallheadtodiskgap
●Gettingmorerobust,Universal,Cheap,Fastestexternalstorage
●Gettinglargerallthetime
●Fixed(rare)ormovablehead,Removableorfixed
●Singleordouble(usually)sided,Singleormultipleplatter
等待相应扇区的起始处到达磁头的这段时间称为旋转延迟.寻道时间和旋转延迟的总和称为存取时间.传送所需的时间称为传送时间.
Chapter7
I/O模块功能
●Control&Timing控制和定时
●CPUCommunication处理器通信(面向CPU)
命令译码,数据,状态报告,地址识别
●DeviceCommunication设备通信(面向外设)
Command,Data,Status
●DataBuffering数据缓冲
●ErrorDetection检错
I/O步骤
INPUT
1.CPUchecksstatusofI/Omoduledevice
2.I/Omodulereturnsstatus
3.Ifready,CPUrequestsdatatransfer
4.I/Omodulegetsdatafromdevice
5.I/OmoduletransfersdatatoCPU
6.Variationsforoutput,DMA,etc.
I/OMapping
●存储映射式
⏹存储单元和I/O设备有共同的地址空间
⏹处理器将I/O模块的状态和数据寄存器看成存储单元一样对待
⏹使用相同的机器指令来访问存储器和I/O设备
●分离式
⏹I/O的地址空间与存储器的地址空间是分离的
⏹总线既有存储器的读线和写线,同时也有输入和输出命令线
⏹有专门的命令
Chapter9
整数表示
●符号-幅值表示法
正负数只有最高符号位有区别,0为正,1为负
扩充位的方式:
+18=00010010+18=0000000000010010
-18=10010010-18=1000000000010010
●2的补码表示法
也是最高位为符号位,0正1负,求补是取反加1.
扩充位的方式:
+18=00010010+18=0000000000010010
-18=11101110-18=1000000000010010
优点:
◆Onerepresentationofzero
◆Arithmeticworkseasily(seelater)
◆Negatingisfairlyeasy
上溢规则:
同号相加,当且仅当结果的符号位变为相反时才出现上溢
无符号整数乘法:
CAQMQ0=1则C,A<-A+M;Q0=2,右移
C是1位寄存器,初始是0;A初始为0,用来保存部分积;Q装乘数,也用来保存部分积;M装被乘数(不变的);
布斯算法:
AQQ-1MQ0Q110A<-A-M;01A<-A+M;11,00算术右移
Q-1初始化为0;A初始为0,用来保存部分积;Q装乘数,也用来保存部分积;M装被乘数(不变的);
注意此时进行算术移位,A的最左位,不仅移入下一位,而且仍保留在最左位中.
浮点数
32位表示
(左边)第1位表示符号0正1负
2-9位移码表示阶(偏移量为127=1111111)指数+偏移量
10-32位表示有效值
E.g.1.1010001*210100=01001001110100010000000000000000
-1.1010001*2-10100=10110101110100010000000000000000
Chapter10
InstructionTypes
◆Dataprocessing数据处理:
算术和逻辑指令;
◆Datastorage数据存储:
存储器指令;
◆Datamovement数据传送:
I/O指令;
◆Programflowcontrol控制:
测试和分支指令
地址数目
●三地址:
不普遍,因为指令格式要容纳3个地址引用,所以指令格式相对要更长.
●双地址:
降低了空间需求,但也引入了一些麻烦
●单地址:
第二个指令是隐含的,称为累加器(AC).累加器提供一个操作数,且结果被保存回累加器.
●零地址:
可用于堆栈.
逻辑移位:
一个字的各位左移或右移,一端移出的位丢失,另一端则是移入0.
算术移位:
左移时除了符号位不变外,其余位的操作和逻辑左移一样;右移时,符号位一般复制到它右边空出的位.
Chapter11
寻址方式:
●Immediate立即寻址
●Direct直接寻址
●Indirect间接寻址
●Register寄存器寻址
●RegisterIndirect寄存器间接寻址
●Displacement(Indexed)偏移/变址寻址
⏹相对寻址:
EA=A+(PC)隐含引用的寄存器是PC,因此也叫PC相对寻址;
⏹基址寄存器寻址:
被引用的寄存器含有一个存储器地址,地址字段含有一个相对于那个地址的偏移量.
⏹变址:
指令地址字段引用一个主存地址,被引用的寄存器含有对于那个地址的一个正的偏移量.
●Stack堆栈寻址
Chapter12
寄存器
用户可见寄存器(可通过机器语言访问):
通用寄存器,数据寄存器,地址寄存器,条件码寄存器.
控制和状态寄存器:
程序计数器(PC),指令寄存器(IR),存储器地址寄存器(MAR),存储器缓冲寄存器(MBR).
InstructionCycle
●取指(fetch):
将下一条指令由存储器读入CPU;
●执行(execute):
解释操作码并完成指定的操作;
●中断(interrupt):
若中断是允许的并且有中断发生,则保存当前进程的状态并为此中断服务.
取指周期:
1.PC将下条指令的地址传送到MAR;
2.MAR把地址放到地址总线上;
3.控制器发出存储器读取请求,存储器把结果放到数据总线上;
4.CPU将数据复制到MBR;
5.MBR把数据传送到IR;
6.PC中的值加1.
间接周期:
(经过取值周期后)
1.控制器检查IR内容,确定是否有一个用间接寻址的操作数指定符,是,则进入间接周期;
2.MBR最右边的N位时一个地址引用,被传送到MAR;
3.控制器请求一个存储器读,得到所要求的操作数地址,送入MBR.
中断周期:
1.PC的内容传送到MBR;
2.专门的存储器位置被控制器装入MAR(可能是一个栈指针);
3.MBR中的内容被装入存储器;
4.中断子程序的地址装入PC.
流水线:
执行速度翻倍不可能:
1.执行速度一般要长于取指令的时间;
2.条件分支指令使得待取的下一条指令的地址是未知的.
指令处理分解:
FI,DI,CO(计算操作数),FO(寻操作数),EI,WO(写操作数).
处理分支指令:
●多个指令流:
复制流水线的开始部分,并允许流水线同时取这两条指令,使用两个指令流.
缺点:
产生寄存器和存储器访问的竞争延迟;
原先分支判断未解决前,可能有另外的分支指令进入流水线;
●预取分支目标:
识别出一个条件分支指令是,除了取此分支指令之后的指令外,分支目标处的指令也被取来.这个目标被保存直到分支指令被执行.若是分支发生,则目标已经被预取来了.
●循环缓冲器:
小但是极高速的存储器,含有n条最近顺序取来的指令.若一个转移将要发生,硬件首先检查转移目标是否在此缓冲器中.
优点:
采用指令预取,对于IF-THEN,IF-THEN-ELSE序列特别有用,适合循环,迭代.
●分支预测:
静态
⏹Predictnevertaken预测绝不发生
⏹Predictalwaystaken预测总是发生
⏹PredictbyOpcode依操作码预测
动态:
(通过分析记录条件分支指令在程序中的历史来改善预测的准确度,适用于循环迭代)
⏹Taken/Nottakenswitch动态方法
⏹Branchhistorytable转移历史表
Chapter13
MajorAdvancesinComputers
●Thefamilyconcept系列概念
●Microporgrammedcontrolunit微程序控制
●Cachememory高速缓冲存储器
●SolidStateRAM固态RAM
●Microprocessors微处理器
●Pipelining流水线
●Multipleprocessors多处理器
●RISC精简指令集计算机
采用CISC的理由:
1.简化编译器.
2.CISC可以生成更小、更快的程序.小程序占内存少,节省了资源;
小程序能改善性能:
1)较少的指令意味着待遇指令字节也少;
2)内存分页的环境下,较小的程序占据较少的页,减少了缺页中断.
3.执行指令可能会更快.一个复杂的HLL操作,作为一条机器指令将会比作为一串更原始的指令执行的更快.
RISC的特点:
1.每计算周期一条机器指令;
2.大多数操作应是寄存器到寄存器的(鼓励对寄存器的优化作用)
3.使用简单的寻址方式;
4.使用简单的指令格式.
5.Hardwireddesign(nomicrocode)
6.Fixedinstructionformat
7.Morecompiletime/effort
RISC流水线
n段流水线的最大加速比为n,但是因为很多问题(如分支指令)的影响,很难达到这个速率.
注意数据相关性的影响,可用NOOP指令来解决.
四段流水线:
I,E1,E2,D.
RISC流水线的优化:
1.延迟分支
a)在分支指令后加入NOOP指令(这个位置叫延迟槽)
这个方法和正常分支比时间相同,但节约了资源
b)调整指令的顺序
节约时间和资源,但是要注意数据相关性
2.循环展开
争论:
1.定量化:
对比程序大小和程序执行速度;
2.定性化:
考察高级语言的支持和VLSI资源的优化使用等时机出发点.
Chapter14
超标量:
包括整数和浮点数的运算,装载,保存以及条件分支之类的普通指令,能同时启动并独立执行.
(既能用于RISC,也能用于CISC;但是RISC倾向于应用超标量技术)
限制:
超标量方法依赖于并行执行多条指令的能力.(指令级并行性指的是程序指令能并行执行的程度.)
并行性限制:
●Truedatadependency真实数据相关性
也叫流相关性,写后读相关性.
ADDEAX,ECX;
MOVEBX,EAX;这两条不能颠倒
●Proceduraldependency过程相关性
分支(发生或不发生转移)之后的指令有对分支指令的过程相关性,而且直到分支指令被执行前它们不能去执行.
●Resourceconflicts资源冲突
两个或多个指令同时竞争同一资源,如存储器,cache,总线,寄存器组端口和功能单元.
●Outputdependency输出相关性
也叫写后写相关性
I1:
R3<-R3+R5;
I2:
R4<-R3+1;
I3:
R3<-R5+1;
I2依靠I1的结果写后读相关性
I1和I2的顺序不能变输出相关性
●Antidependency反相关性
也叫读后写相关性
I1:
R3<-R3+R5;
I2:
R4<-R3+1;
I3:
R3<-R5+1;
I4:
R7<-R3+R4;
I2和I3顺序不能变
指令级并行性
代码中的真实数据相关性和过程相关性的频繁程度决定了指令级并行性;
也可以由操作延迟时间确定.
指令发射策略
三种类型的排序
●取指令的顺序
●指令执行的顺序
●指令改变寄存器和存储器位置内容的顺序
超标量指令发射策略
●按序发射按序完成
效率低,功能单元可能冲突,数据依赖都造成了限制;
●按序发射乱序完成
最大指令执行数目取决于各个功能单元之间的最大机器并行度;
●乱序发射乱序完成
要解耦(decouple)流水线的译码段和执行段,通过叫指令窗口的缓冲器完成的.只要缓冲器未满,处理器就继续取指和译码新指令.
寄存器重命名
通过资源复制的方法,解决输出相关性(写后写相关性),反相关性(读后写相关性);
机器并行性
提高性能的三种硬件技术:
资源复制,乱序发射和重命名;
结论:
1.没有寄存器重命名而添加功能单元可能不会很有价值;
2.需要足够大的指令窗口(大于8)
Thetwoapproachestoenforceparallelism
1.基于编译器的优化
2.硬件技术
Chapter15
微操作
指令执行周期中最基本的操作.这些操作很微小,很简单.
取指周期:
t1:
MAR<-(PC)PC内容传送到MAR
t2:
MBR<-内存被MAR指定的内存中的内容存放在MRB中(必须在t1后面)
PC<-(PC)+1PC递增1
t3:
IR<-(MBR)传送MBR的内容到IR(避免冲突,不要试图在一个时间单位里去读写
同一个寄存器)
间接周期(结合12.3来看)
t1:
MAR<-(IR(address))
t2:
MBR<-内存
t3:
IR(address)<-(MBR(address))
中断周期
t1:
MBR<-(PC)将PC内容传送到MBR,这样它可以作为中断返回地址而保存起来.
t2:
MAR<-保存地址把MBR中PC内容将要保存往的内存地址装入MAR
PC<-子程序地址把中断处理子程序的起始地址装入PC
t3:
内存<-(MBR)把保存有PC旧值得MBR装入内存
执行周期
ADDR1,X
t1:
M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重庆 大学计算机 组成 结构 整理