计算机组成原理笔记(8)

2019-08-30 16:19

计算机的中央处理器一般设置有一定数量的通用寄存器,用以存放操作数,操作数的地址或中间结果.假如指令地址码部分给出某一通用寄存器地址,而且所需的操作数就在这一寄存器中,则称为寄存器寻址.通用寄存器的数量一般在几个至几十个之间,比存储单元少很多,因此地址码短,而且从寄存器中存取数据比从存储器中存取快得多,所以这种方式可以缩短指令长度,节省存储空间,提高指令的执行速度,在计算机中得到广泛应用.

6)寄存器间接寻址 EA = ( Ri ) 有效地址在寄存器中 寄存器中给出的是操作数的地址,因此还需要访问一次存储器才能得到操作数. 7)基址寻址

在计算机中设置一个专用的基址寄存器,或由指令指定一个通用寄存器为基址寄存器.操作数的地址由基址寄存器的内容和指令的地址码A相加得到

8)变址寻址

指令地址码部分给出的地址A和指定的变址寄存器X的内容通过加法器相加,所得的和作为地址从存储器中读出所需的操作数.这是几乎所有计算机都采用的一种寻址方式.

9)相对寻址

把程序计数器PC的内容(即当前执行指令的地址)与指令的地址码部分给出的位移量(disp)之和作为操作数的地址或转移地址,称为相对寻址.

主要用于转移指令,执行本条指令后,将转移到(PC)+disp,(PC)为程序计数器的内容.相对寻址有两个特点: 1〉转移地址不是固定的,它随着PC值的变化而变化,并且总是与PC相差一个固定值disp,因此无论程序装人存储器的任何地方,均能正确运行,对浮动程序很适用.

2〉位移量可正,可负,通常用补码表示.如果位移量为n位,则这种方式的寻址范围在 (PC)-2n-1 ~(PC)+2n-1-1之间

计算机的程序和数据一般是分开存放的,程序区在程序执行过程中不允许修改.在程序与数据分区存放的情况下,不用相对寻址方式来确定操作数地址.

10)堆栈寻址

在一般计算机中,堆栈主要用来暂存中断和子程序调用时现场数据及返回地址,用于访问堆栈的指令只有压入(即进栈)和弹出(即退栈)两种,它们实际上是一种特殊的数据传送指令:

压入指令(PUSH)是把指定的操作数送入堆栈的栈顶;

弹出指令(POP)的操作刚好相反,是把栈顶的数据取出,送到指令所指定的目的地.

一般的计算机中,堆栈从高地址向低地址扩展,即栈底的地址总是大于或等于栈顶的地址(也有少数计算机刚好相反)当执行压入操作时,首先把堆栈指针(SP)减量(减量的多少取决于压入数据的字节数,若压入一个字节,则减1;若压入两个字节,则减2,以此类推),然后把数据送人SP所指定的单元;当执行弹出操作时,首先把sp所指定的单元(即栈顶)的数据取出,然后根据数据的大小(即所占的字节数)对SP增量.

设计指令格式应考虑的各种因素

指令系统集中反映了机器的性能,又是程序员编程的依据,高档机必须能兼容低档机的程序运行,称之为“向上兼容”.

指令格式集中体现了指令系统的功能.为此,在确定指令系统时,必须从以下几个方面综合考虑. ① 操作类型:包括指令数及操作的难易程度 ② 数据类型:确定哪些数据类型可以参加操作

③ 指令格式:包括指令字长、操作码位数、地址码位数、地址个数、寻址方式类型、以及指令字长和操作码

位数是否可变等.

④ 寻址方式:包括指令和操作数具体有哪些寻址方式. ⑤ 寄存器个数:寄存器的多少直接影响指令的执行时间. 寻址方式 详情 指令寻址 顺序寻址 顺序寻址可通过程序计数器PC加1自动形成下一条指令的地址 跳跃寻址 跳跃寻址则通过转移类指令实现 操作数本身设在指令字内,即形式地址A不是操作数地址而是操作数本身 1.立即寻址 ? 指令执行阶段不访存 ? A的位数限制了这类指令所能表述的立即数的范围 指令中的形式地址A就是操作数的真实地址EA,即EA=A ? 执行阶段访问一次存储器 2.直接寻址 数据寻址 ? 缺点在于A的位数限制了操作数的寻址范围而且必须修改A的值才能修改操作数的地址 指令字中不明显给出操作数的地址,其操作数的地址隐含在操作码或某个寄存器中 3.隐含寻址 ? 由于隐含寻址在指令字中少了一个地址,因此,这种寻址方式的指令有利于缩短指令字长

倘若指令字中的形式地址不直接指出操作数的地址,而是指出操作数有效地址所在的存储单元的地址,也就是说,有效地址是由形式地址间接提供的,即为间接地址,即EA=(A) 1. 与直接寻址相比,扩大了操作数的寻址范围,因为A的位数通4.间接寻址 优点 常小于指令字长,而存储字长可与指令字长相等 2. 它便于编制程序 ? 指令的执行阶段需要访存两次(一次间接寻址)或多次(多次缺点 间接寻址),致使指令执行时间延长 在寄存器寻址的指令字中,地址码字段直接指出了寄存器的编号,即EA=R ? 由于地址字段只需指明寄存器编号(计算机中寄存器数有限)故指令字 5.寄存器寻址 ? 较短,节省了存储空间,因此寄存器寻址在计算机中得到广泛应用 ? 执行阶段不访存,只访问寄存器,执行速度快 ? 寄存器个数有限,可缩短指令字长 有效地址EA+=(Ri),因有效地址 6.寄存器间接寻址 ? 有效地址在寄存器中, 操作数在存储器中,执行阶段访存 ? 便于编制循环程序 基址寻址需设有基址寄存器BR,其操作数的有效地址EA等于指令字中的形式地址与基址寄存器中的内容(称为基地址)相加,即EA=A+(BR) ? 可扩大寻址范围 采用专用寄? 有利于多道程序 存器作基址7.基址寻址 ? BR内容由操作系统或管理程序确定 寄存器 ? 在程序的执行过程中 BR 内容不变,形式地址 A 可变 采用通用寄? 由用户指定哪个通用寄存器作为基址寄存器 存器作基址? 基址寄存器的内容由操作系统确定 寄存器 ? 在程序的执行过程中 R0 内容不变,形式地址 A 可变 变址寻址与基址寻址极为相似.其有效地址EA等于指令字中的形式地址A与变址寄存器IX的内容相加之和,即EA=A+(IX) ? 可扩大寻址范围 8.变址寻址 ? IX 的内容由用户给定 ? 在程序的执行过程中 IX 内容可变,形式地址 A 不变 ? 便于处理数组问题 ~的有效地址是将PC的内容(即当前指令地址)与指令字中的形式地址A(A 是相对于当前指令的位移量(可正可负,补码)相加而成,即EA=(PC)+A 9.相对寻址 ? A 的位数决定操作数的寻址范围 ? 程序浮动 ? 广泛应用于转移指令 要求计算机中设有堆栈.堆栈既可用寄存器组(称为硬堆栈)来实现,也可利用主存的一部分空间作堆栈(称为软堆栈) 10.堆栈寻址 ? 硬堆栈 多个寄存器 ? 软堆栈 制定的存储空间 (三) CISC和RISC的基本概念 1.CISC(复杂指令集计算机)

随着VLSI技术的发展,计算机的硬件成本不断下降,软件成本不断提高,使得人们热衷于在指令系统中增加更多的指令和复杂的指令,来提高操作系统的效率,并尽量缩短指令系统与高级语言的语义差别,以便于高级语言的编译和降低软件成本.

另外,为了做到程序兼容,同一系列计算机的新机器和高档机的指令系统只能扩充而不能减去任意一条,因此,促使指令系统越来越复杂,某些计算机的指令多达几百条.例如,DEC公司的VAX 11/780计算机有303条指令,18种寻址方式,我们称这些计算机为复杂指令系统计算机(complex instruction set computer,简称CISC).Intel公司的180X86微处理器,IBM公司的大,中计算机均为CISC. 2.RISC(简单指令集计算机) (1)RISC的产生

1975年IBM公司开始研究指令的合理性问题,IBM的John cocke 提出了RISC的想法. 对CISC的测试表明:

最长使用的是一些简单指令,占指令总数的20%,但在程序中出现的频率却占80%. 而占20%的复杂指令,为实现其功能而设计的微程序代码却占总代码的80%.CISC研制时间长,成本高,难于实现流水线;因此出现了RIC技

术.

计算机执行程序所需的时间P可用下式表述:

P=I×C×T 其中,I是高级语言程序编译后在机器上运行的机器指令数;C为执行每条机器指令所需的平均机器周期;T是每个机器周期的执行时间. (2)RISC的特点 1)优先选取使用频率最高的一些简单指令; 选用使用频度较高的一些 简单指令,复杂指令的功能由简单指令来组合 2)指令长度固定; 指令 长度固定、指令格式种类少、寻址方式少 3)只有取数/存数指令(load/store)访问内存; 只有 LOAD / STORE 指令访存 4)CPU中的寄存器数量很多; CPU 中有多个 通用 寄存器 5)大部分指令在一个或小于一个机器周期完成; 采用 流水技术 一个时钟周期 内完成一条指令 6)硬布线控制逻辑为主,不用或少用微码控制; 采用 组合逻辑 实现控制器 7)一般用高级语言编程,特别重视编译优化,以减少程序采用 优化 的 编译 程序 执行时间. (3)RISC的发展 1983年,一些中小型公司开始推出RISC产品,由于其高性能价格比,市场占有率不断提高.1987年SUN公司用SPARC芯片构成工作站;目前一些大公司,IBM,DEC,Intel,Motorola以将部分力量转移到RISC方面. (4)CISC机与RISC机的主要特征对比 CISC RISC 指令系统 复杂,庞大 简单,精简 指令数 一般大于200 一般小于100 指令格式 一般大于4 一般小于4 指令字长 一般大于4 一般小于4 寻址方式 不固定 固定32位 可访问指令 不加限制 只有LOAD/STORE指令 各种指令使用频率 相差很大 相差不大 各种指令执行时间 相差很大 绝大多数在一个机器周期完成 优化编译实现 很难 较容易 程序源代码长度 较短 较长 控制逻辑实现方式 绝大多数为微程序控制 绝大多数为硬连线控制 RISC机的主要优点可归纳如下 ①充分利用VLSI芯片的面积 ②提高了计算机运行速度 ③便于设计,降低成本,提高可靠性 ④有效支持高级语言程序 五, 中央处理器(CPU)

(一) CPU的功能和基本结构

CPU主要是由运算器和控制器组成,由于运算器(实现算术运算和逻辑运算)部分在第二部分介绍过,所以本节主要介绍控制器的组成和工作原理. 1.控制器的功能

计算机对信息进行处理(或计算)是通过程序的执行而实现的,程序是完成某个确定算法的指令序列,要预先存放在存储器中.控制器的作用是控制程序的执行,它必须具有以下基本功能: 1).取指令 2).分析指令 3).执行指令

计算机不断重复顺序执行上述三种基本操作:取指,分析,执行;再取指,再分析,再执行,如此循环,直到遇到停机指令或外来的干预为止.

4).控制程序和数据的输入与结果输出

根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成I/O功能,这实际上也是通过执行程序来完成的.

5).对异常情况和某些请求的处理

当机器出现某些异常情况,诸如算术运算的溢出和数据传送的奇偶错等;或者某些外来请求,诸如磁盘上的成批

数据需送存储器或程序员从键盘送入命令等,此时由这些部件或设备发出: (1)“中断请求”信号. (2)DMA请求信号.


计算机组成原理笔记(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2009-2010学年七年级(上)数学期末复习综合水平测试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: