唐朔飞版和白中英版《计算机组成原理》考研考点讲义_第1页
唐朔飞版和白中英版《计算机组成原理》考研考点讲义_第2页
唐朔飞版和白中英版《计算机组成原理》考研考点讲义_第3页
唐朔飞版和白中英版《计算机组成原理》考研考点讲义_第4页
唐朔飞版和白中英版《计算机组成原理》考研考点讲义_第5页
已阅读5页,还剩144页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论 (1)第一章计算机系统概述 (3)第二章数据的表示与运算 (12)第三章存储器层次结构 (64)第四章指令系统 (110)第五章中央处理器 (133)第六章总线 (168)第七章外围设备 (180)第八章输入输出系统 (198)唐朔飞版唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路绪论核心课程中的骨干课程核心专业基础核心硬件课程学位课国家研究生入学统考科目大部分自主命题学校研究生入学考试科目内容面广,知识点多。生对硬件课程缺乏足够的重视。1.课堂听讲:是传授与接收理论知识的主渠道,课堂的效率可以节约大量的课余时间,本课程自1122学难度较大。如还有不懂,在学习本视频课程中反复听讲,及时消化。程内容的重要环节,应独立认真完成。4.讲过的知识点和题一定要真正弄懂之间的联系《计算机组成与结构》(第四版)王爱英主编清华大学出版社《计算机组成原理》王闵编著电子工业出版社《计算机组成与设计》胡越明主编科学出版社唐朔飞版唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路令第一章计算机系统概述学习计算机组成原理之前,先搞清楚计算机的系统层次结构,计算机硬件的基本组成(五大部件的构成)、计算机软件的分类,以及计算机的基本工作过程。从体系结构上来看,有多种不同类型的计算机,那么这些不同的计算机谁好谁坏?如何评价?还需要我们了解计算机性能评价指标和相关参数。1.1计算机的发展历程[了解]1.3计算机性能指标[掌握]考点重点与难点考试中常见题型复习思路与方法次结构、硬件的基本组成、软件的分类、工作过程、计算机性能指标小题为主了解概念,抓住教材。理解计算机的工作过程。1讲计算机的硬件、软件和层次结构33计算机的基本功能主要包括数据加工、数据保存、数据传送和操作控制等。计算机硬件有哪些?计算机到底怎么工作?计算机硬件系统五大功能部件包括:存储器(高速缓存主存储器虚拟存储器)这些设备和部件通过总线和接口连结在一起,构成一台完整的计算机。44唐朔飞版唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路计算机系统的硬件组成其主要功能包括: (1)执行数值数据的加减乘除等算术运算,执行逻辑数据的与或非等逻辑运算,由一个被称为ALU的线路完成。 (2)暂时存放参加运算的数据和中间结果,由多个通用寄存器和乘商寄存器承担。 (3)运算器通常也是数据传输的通路。计算机中通常采用二进制数。因为二进制数的运算规律非常简单,在电子线路中比较容易实现,而且设备也最节省。注:二进制数和十进制数一样,位数越多,计算的精度就越高,但是位数越多,所需的电子器件也保存或“记忆”解题的原始数据和解题步骤。在运算前把参加运算的数据和解体步骤通过输入输出设备送到存储器中保存起来。不论是数据,还是解题步骤。存储器存储的全是0或1表示的二进制代码。目前采用半导体器件来作为存储器。一个半导体触发器(D触发器等)可以记忆一个二进制代码,一个数假定用16位二进制代码表示,那么就需要有16个触发器来保存这些代码。存储元:保存一个二进制为的触发器,称为一个存储元。存储单元:在存储器中保存一个字的所有触发器,称为一个存储单元。是由许多存储单元组成,每个存储单元的编号,称为地址。存储容量越大,表示计算机记忆储存的信息就越多。外存储器:计算机中又配备的存储容量更大的磁盘存储器、光盘存储器等。相对而言,半导体存55储器称为内存储器,磁盘存储器、光盘存储器等称为外存储器。由高速缓冲存储器、主存储器、虚拟存储器所组成的多级存储器系统,是计算机中用于存储程序和数据的部件。这三级存储器各自的功能分工、所用的存储介质的工作原理和特性各不相同。将作为三个部分分别讲解。控制器是计算机中发号施令的部件,向计算机各功能部件提供每一时刻协同运行所需要的控制信号:它控制计算机的所有部件有条不紊地进行工作。控制器的任务是从内存中取出解题步骤加以分析,然后执行某种操作。 (1)正确分析与执行每条指令:取指令→分析指令→执行指令。 (2)保证指令按规定序列自动连续地执行。 (3)对各种异常情况和请求及时响应和处理。1)计算程序运算器只能完成加、减、乘、除四则运算及其他一些辅助操作。对于比较复杂的算题,计算机在运每一个基本操作就叫做一条指令,而解算某一问题的一串指令序列,叫做该问题的计算程序,简称为程序。指令,而整个解题步骤就是一个简单的计算程序。2)指令的形式指令的内容由两部分组成,即操作的性质和操作的地址。前者称为操作码,后者称为地址码。66唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路地址码:表示参加运算的数据应从存储器的哪个单元取,运算的结果应存到哪个单元。表中指令的操作码部分就可以变成二进制代码。假如把地址码部分和数据也换成二进制数,那么整个存储器的内容全部变成了二进制的代码或数据指令的操作码定义指令操作码加法减法乘法除法取数存数打印停机将指令存放到存储器中叫存储程序。存储器的任何位置既可以存数据也可以存指令,但是一般将指令和数据分开存。控制器依靠存储的的程序来控制全机协调地完成计算任务叫做程序控制。存储程序并按地址执行就是冯·诺依曼型计算机的设计思想,也是机器自动化工作的关键。3)控制器的基本任务计算机进行计算时,指令必须是按一定的顺序一条接一条地进行。控制器的基本任务,就是按照计算程序所排的指令序列,先从存储器取出一条指令放到控制器操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作。接着从存储器取出第二条指令,再执行这第二条指令。依次类推。通常把取指令的一段时间叫做取指周期,而把执行指令的一段时间叫做执行周期。因此,控制器反复交替地处在取指周期与执行周期之中。每取出一条指令,控制器中的指令计数器就加1,从而为取下一条指令做好准备,这也就是指令为什么在存储器中顺序存放的原因。774)指令流和数据流计算机字既可以代表指令,也可以代表数据。如果某字代表要处理的数据,则称为数据字;如果某字为一条指令,则称为指令字。配器与输入输出设备输入设备把人们所熟悉的某种信息形式变换为机器内部所能接收和识别的二进制信息形式。输出设备把计算机处理的结果变换为人或其他机器所能接收和识别的信息形式。计算机的输入/输出设备通常称为外围设备(简称外设)。由于种类繁多且速度各异,因而它们不是直接地同高速工作的主机相连接,而是通过适配器部件与主机相连接。冯·诺依曼思想的基本要点: (1)采用二进制形式表示数据和指令 (2)由输入设备、输出设备、运算器、存储器和控制器五大部件组成。 (3)采用存储程序方式存储程序方式是诺依曼思想的核心。 (4)指令和数据以同等地位存于存储器,可按地址寻访,程序和数据统一存储 (5)指令由操作码和地址码组成 (6)以运算器为中心系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能及用途。包括:操作系统数据库管理系统如同硬件一样,计算机软件也是在不断发展的。行,所以又叫做目的程序。用机器语言编写程序很繁琐,又耗费大量的人力和时间,容易出错,出错后寻找错误也相当费事。88唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路为了编写程序方便和提高效率,人们用一些约定的文字、符号和数字按规定的格式来表示各种不同的指令,然后再用这些特殊符号表示的指令来编写程序。借助于汇编程序,计算机本身自动地把称为汇编源程序翻译成用机器语言表示的目的程序。无关,便于学习,便于推广使用计算机。用算法语言编写的程序称为源程序,源程序是不能由机器直接识别和执行的,必须给计算机配备一个即懂算法语言又懂机器语言的“翻译”,才能把源程序翻译为机器语言。 (1)把源程序翻译成目的程序,然后机器执行目的程序,得出计算结果。通常,把编译程序和运行 (2)逐个解释并立即执行源程序的语句,它不是编出目的程序后再执行,而是直接逐一解释语句使用计算机处理一个实际问题过程 (1)建立数学模型 (2)找出计算方法 (3)编写计算机程序 (4)调试运行程序 (5)输出运算结果计算机硬件的工作过程 (1)把程序和数据装入主存储器 (2)从程序起始地址开始运行程序 (3)从首地址取出一条指令,译码,执行,并计算下一条指令地址 ,再计算下一条指令地址99 (5)程序结束机器字长指处理机运算器中一次能够完成二进制数运算的位数。当前处理机的字长有8位、字长越长,表示计算的精度越高。与CPU中的寄存器位数有关节/秒(B/s)。响应时间表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,例如微秒(10利用率表示在给定的时间间隔内,系统被实际使用的时间所占的比率,一般用百分比表示。总线宽度一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数。存储器容量越大,记忆的二进制数越多。存储器带宽存储器的速度指标,单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示。主频/时钟周期CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的主频。度量单位是MHz(兆赫兹)、GHz(吉赫兹)。例如Pentium系列机为60MHz~CPUCPU的CPU时间,可用下式计算:CPI表示每条指令周期数,即执行一条指令所需的平均时钟周期数。用下式计算:唐朔飞版唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路MFLOPS浮点操作次数,用下式计算:MIPS是单位时间内的执行指令数,所以MIPS值越高说明机器速度越快。MFLOPS是基于操作而非指令的,只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。TFLOPS表示每秒万亿次浮点操作次数,该技术指标一般在超级计算机中使用。1.冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是()[2009]AD.指令和数据所在的存储单元2.下列选项中,描述浮点数操作速度指标的是()[2011]本讲主要讲解了计算机的基本组成和基本工作过程。重点讲解计算机各部件的分工的工作过程。常考题型以小题为主,一般一份试卷最多一两道小题。应试方法通读教材,深入理解计算机的工作过程。令第二章数据的表示和运算十、二、八、十六进制数及其相互转换。真值和机器数之间的关系以及BCD码、字符与字符串的与区别。运算、溢出概念和判别方法。浮点数的表示(浮点数的表示范围和IEEE754标准)和浮点数的加/减运算。串行加法器和并行加法器、算术逻辑单元ALU的功能和结构。表示与编码[理解、掌握]考点重点与难点考试中常见题型复习思路与方法运算,浮点数运算以数据的机器码表示及点数的规格化表示及其运算题型,还易和其它章用题对数据机器码表示机制要深入理解,这样更容易记忆他们之间的关系,对于运算重点掌握运算方法。唐朔飞版唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路第1讲数的机器表示(一)定点表示:约定机器中所有数据的小数点位置固定不变。由于约定在固定的位置,小数点就不再通常将放到数值位最后面或者最前面,这样数据表示成纯整数或纯小数。用全部二进制代码表示表示数字,没有符号位111)纯小数的表示纯小数的表示范围为 xxxxn各位均为0时绝对值最小;数值位各位均为1时绝对值最大)例如:用八位二进制………x32位二进制数定点小数可以表示的范围纯整数的表示范围为 xxxxn各位均为0时绝对值最小;数值位各位均为1时绝对值最大)-(27-1)≤x≤27-1 x………x唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路32位二进制数定点整数可以表示的范围 (111………1)(01………11)31-1)≤x≤231-1目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为整数运算。最小负数值=。,最小负数值=。十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的“校正”逻辑来实现,该校正逻辑可将二进制的“和”改变成所要求的十进制格式。十进制数合法0123456789非法BCD码的加法运算法则直接相加适用于两个数相加的和是也合法BCD码—即和小于等于9(1001) 加6修正的BCD码加法运算个数相加的和≤15,和需要加6修正,进位在修正过程中产生第二种情况:两个数相加的和≥16,结果需加6修正,进位在相加过程中产生唐朔飞版和唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路原码就是数值的真值(绝对值)前面加上一个符号位(正数0、负数1)n =- 一个n+1位(包括数值位和符号位)定点小数原码的表示范围是xnn+1位定点整数原码的表示范围是 n+1位定点整数原码的表示范围-(2n-1)≤x≤2n-1思考:n+1位定点整数原码能表示多少个数?有几个编码?几点注意: (1)[x]原的表示为符号位加上x的绝对值,所以原码又称带符号位的绝对值表示。 (2)纯小数的原码表示中xx当x为纯整数中 (3)x和-x的原码转换:将[x]原的符号位(左端第一位)取反,即可得到[-x]原。 (4)原码中0的表示不唯一。 因为[0]原占用了两个编码,因此原码表示的范围较小(2n个编码只能表示2n-1个真值)。注意与补码的不同。 (6)负数原码形式上大于正数的原码: (7)原码的移位规则:符号位不变,数值部分左移或右移,移出的空位填“0”。(左移一位相当于乘以2,右移一位相当于除以2)例:已知[X]原,求[X]原和[2X]原。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路左移时注意不要将有效位移出,否则将会出错。 可见将[X]原的符号取反即可得到[-X]原原码的优点和缺点:优点:原码简单易懂,与真值转换容易,实现乘除法方便。(乘除法数值位由两数的绝对值相乘/除得到,符号位由两数的符号位异或即可);②原码表示的加减法运算复杂,这是因为:而在进行减法时还要比较绝对值的大小,然后大数减去小数,最后还要给结果选择符号。为了解决原码的不足,人们找到了补码表示法。第2讲数的机器表示(二)我们以钟表对时为例说明补码的概念。举例1:假设现在的标准时间为4点正;而有一只表已经7点了,为了校准时间,可以采用两种方法:这两种方法都能对准到4点。这里可以得到一个启示,就是负数用补码表示时,可以把减法转化为加法。 对一个确定的模而言,当需要减去一个数x时,可以用加上x对应的负数的补码[-x]补来代替。a试说出补码定义?补码的定义: Mx的补。 因为x≥0,模2丢掉。②因为x<0 对定点整数,补码表示的定义是 唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路纯小数补码表示的模M=2,纯整数补码表示的模M=2n+1补码的性质: (1)几个特殊数值的补码表示:0的补码表示 注意:0的补码表示只有一种形式。 mod -1和-2n的补码表示(注意与原码的表示范围比较)n+1位纯小数补码表示中 纯小数原码表示中[-1]原是不能表示的。只能表示到-(1-2-n)n+1位纯整数补码表示中纯整数原码表示中[-2n]原是不能表示的。只能表示到-(2n-1)可见补码比原码在数轴的最左端多表示一个数。n原表示形式一样。注意:这个补码最高位既表示符号也表示数值,而其它补码的最高位只表示符号。 (2)补码的表示范围一个n+1位定点整数补码的表示范围是-2n≤x≤2n—1回顾原码的范围:n范围是-(2n-1)≤x≤2n—1 (3)补码与原码的关系对于正数直接取其二进制数的表示构成补码。若x<0,对[x]原其按位取反(符号位不变)后再在最低位加1得到[x]补;反之将[x]补除符号位注意:补码中特殊数-1(纯小数)和-2n(纯整数)的表示,在原码中没有对应表示。 x (5)补码的移位规则:填0;补码的右移(除2):符号位不变,数值部分右移,最高位移出的空位填符号位。 (6)负数补码形式上大于正数的补码:与原码类似 (7)补码的位扩展例如将字节(8位二进制)表示的补码扩展为16位二进制表示的补码。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路定点整数:在最高位用符号位扩展。常用求补码的方法(与定义求补码比较):若x<0,数值位从最低位开始,对遇到的0和第一个1取其原来的代码,对第一个以后开始直至这两种求补方法电路实现简单易行。 反码的主要作用就是求补码。对定点小数,反码表示的定义为其中n代表数的位数。反码实质上是一种特殊的补码,其特殊之处在于反码的模比补码的模小一个最低位上的1。在一些文献中,这种以2为基数的反码又称为1的补码。 我们比较反码与补码的公式 可得到这就是通过反码求补码的重要公式。这个公式告诉我们:若要一个负数变补码,其方法是符号位对定点整数,反码表示的定义为反码的特点: x为负 (2)反码中,0有两种表示形式0 (3)反码的表示范围与原码相同。注意,纯小数的反码不能表示为-1,纯整数的反码不能表示为 (4)对于整数有反码表示在计算机中往往作为数码变换的中间环节。补码表示很难直接判断其真值大小移码通常用于表示浮点数的阶码。由于阶码是个n位的整数,假定定点整数移码形式为x0x1x2…xn时,对定点整数,移码的传统定义是n位数值真值加上一个固定常数2n对定点小数,移码的传统定义是真值加上一个固定常数1根据上两式根据上两式可知,移码表示把真值x在数轴上正向平移1(纯小数)或2n(纯整数)后得到的。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路 移码中的逗号不是小数点,而是表示左边一位是符号位。移码的几何性质 (1)移码的几何性质真值移码真值移码移码表示的实质是把真值映像到一个正数域,因此移码的大小可直观地反映真值的大小。不管正数还是负数,用移码表示时,可以按无符号数比较大小。 移码的表数范围与补码一致纯整数移码表示的最小数可以表示到-2n (3)移码与补码的关系 (4)移码的符号位: (5)移码与真值的线性关系:移码的顺序和真值完全一致,因此移码在表示阶码时可以方便的进行大小比较,其结果与真值一致。ty在一个8位寄存器中,则下列运算会发生溢出的是()[2010]BrrCrrDrr上面的数据四种机器表示法中,移码表示法主要用于表示浮点数的阶码。由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路也有些机器,数用原码进行存储和传送,运算时改用补码。还有些机器在做加减法时用补码运算,在做乘除法时用原码运算。第3讲运算方法和运算器(一)字符与字符串的表示方法目前国际上普遍采用的字符系统是七单位的ASCII码(美国国家信息交换标准字符码),它包括字符串是指连续的一串字符,通常方式下,它们占用主存中连续的多个字节,每个字节存一个字符。当主存字由2个或4个字节组成时,在同一个主存字中,既可按从低位字节向高位字节的顺序存放字符串的内容,也可按从高位字节向低位字节的次序顺序存放字符串的内容。汉字的表示方法为了能直接使用西文标准键盘把汉字输入到计算机,就必须为汉字设计相应的输入编码方法。当前采用的方法主要有以下三类:数字编码常用的是国标区位码,用数字串代表一个汉字输入。数字编码输入的优点是无重码,且输入码与内部编码的转换比较方便,缺点是代码难以记忆。拼音码拼音码是以汉字拼音为基础的输入方法。使用简单方便,但汉字同音字太多,输入重码率很高,同音字选择影响了输入速度。字形编码字形编码是用汉字的形状来进行的编码。把汉字的笔划部件用字母或数字进行编码,按笔划的顺序依次输入,就能表示一个汉字。汉字内码是用于汉字信息的存储、交换、检索等操作的机内代码,一般采用两个字节表示。英文字符的机内代码是七位的ASCII码,当用一个字节表示时,最高位为“0”。为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定为“1”。注意:有些系统中字节的最高位用于奇偶校验位,这种情况下用三个字节表示汉字内码。注意:汉字的输入编码、汉字内码、字模码是计算机中用于输入、内部处理、输出三种不同用途的字模码是用点阵表示的汉字字形代码,它是汉字的输出形式。根据汉字输出的要求不同,点阵的多少也不同。字模点阵的信息量很大,所占存储空间也很大。因此字模点阵只能用来构成汉字库,而不能用于机内存储。字库中存储了每个汉字的点阵代码。当显示输出或打印输出时才检索字库,输出字模点阵,得到字形。校验码元件故障\噪声干扰等各种因素常常导致计算机在处理信息过程中出现错误。为了防止错误,可将信号采用专门的逻辑线路进行编码以检测错误,甚至校正错误。通常的方法是,在每个字上添加一些校验位,用来确定字中出现错误的位置。组成奇偶校验码的基本方法:在n位有效信息位上增加一个二进制校验位,构成一个n+1位奇偶校验码。n位的奇偶校验码中1的个数为奇数。n+1位的奇偶校验码中1的个数为偶数。海明校验实质上是一种多重奇偶校验。它将有效信息按某种规律分成若干组,每组安排一个校将其纠正。校验码由多项式M(x)·2r除以产生校验码的生成多项式G(x)所得的余数形成。CRC的检错和纠错方法:出错,再由余数的值来确定哪一位出错,从而加以纠正。海明校验和CRC校验相对奇偶校验而言较为复杂,但它们不仅可以查错,还能指出是哪位出错并通过线路纠正其错误,从而保证数据信息传送的正确性。定点加法减法运算补码加法负数用补码表示后,可以和正数一样来处理。唐朔飞版和负数用补码表示后,可以和正数一样来处理。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路当需要减去一个数x时,可以用加上x对应的负数的补码[-x]补来代替。这样,运算器里只需要一个加法器就可以了,不必为了负数的加法运算,再配一个减法器。补码加法的公式是 所以 由以上两例看到,补码加法的特点,一是符号位要作为数的一部分一起参加运算,二是要在模2的意义下相加,即超过2的进位要丢掉。数用补码表示时,减法运算的公式为 补码运算的基本规则:①参加运算的各个操作数均以补码表示,运算结果仍以补码表示。②符号位与数值位一样参加运算。③若求和,则将两补码数直接相加,得到两数之和的补码;若求差,则将减数变补(由[y]补求[-y]补),然后与被减数相加,得到两数之差的补码。④补码总是对确定的模而言,若运算结果超过模(有从符号位上产生的进位),则将模自动丢掉。 两个正数相加的结果成为负数,这显然是错误的。 两个负数相加的结果成为正数,这同样是错误的。之所以发生错误,是因为运算结果产生了溢出。两个正数相加,结果大于机器所能表示的最大正数,称为上溢。而两个负数相加,结果小于机器所能表示的最小负数,称为下溢。第一种方法是采用双符号位法1.两个符号位都看作数码一样参加运算2.两数进行以2.两数进行以4位模的加法,即最高符号位上产生的进位要丢掉。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路表示发生溢出。最高符号位永远表示结果的正确符号。 当以双符号位补码运算,运算结果的二符号位相异时,表示溢出;相同时,表示未溢出。故溢出逻辑表达式为V=Sf1中Sf2,其中Sf1和Sf2分别为最高符号位和第二符号位。此逻辑表达式可用异或门实现。第二种溢出检测方法是采用单符号位法。当最高数值位产生进位而符号位无进位时,产生上溢;当最高有效位无进位而符号位有进位时,产生下溢。故溢出逻辑表达式为V=Cf中Co,其中Cf为符号位产生的进位,Co为最高有效位产生的进位。此逻辑表达式也可用异或门实现。在定点机中当运算结果发生溢出时,机器通过逻辑电路自动检查出溢出,并进行中断处理。基本的二进制加法/减法器表2.2中列出一位全加器进行加法运算的输入输出真值表。根据表2.2所示的真值表,三个输入端和两个输入端可按2,求和部分Si由两个异或门组成,进位部分Ci+1由与非门组成。补码运算的二进制加法/减法器的逻辑结构图 唐朔飞版和唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路 关于延迟的讨论:对一位全加器(FA)来说,Si的时间延迟为6T(每级异或门延迟3T),Ci+1的时间延迟为5T,其中T被定义为相应于单级逻辑电路的单位门延迟。T通常采用一个“与非”门或一个“或非”门的时间延迟来作为度量单位。现在我们计算一个n位的行波进位加法器的时间延迟。ta意味着加法器的输入端输入加数和被加数后,在最坏情况下加法器输出端得到稳定的求和输出所需的最长时间。显然这个时间越小越好。注意,加数、被加数、进位与和数都是用电平来表示的,因此,所谓稳定的求和输出,就是指稳定的电平输出。十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的主存有关的信号有/MREQ(允许访存,低电平有效),R/W(高电平为读命令,低电平为写命令)。主 K地址)2K地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片:问1:请从上述芯片中选择适当芯片设计该计算机主存储器,存储器逻辑框图,注意画出选片逻辑(可选用门电路及3∶8译码器74LS138)与CPU解:第一步确定三总线及不同存储芯片时的地址总线、数据总线、控制总线。CPU提供的总线为:地址总线—16(A15—A0)数据总线—8(D7—D0)主存地址分布图唐朔飞版和唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路芯片地址总线数据总线控制总线构成存储系统需要片数1(D0)K8(D7~D0)K8位8(D7~D0)8(D7~D0)3片13(A12—A0)8(D7~D0)各存储芯片的地址位图芯片 A~A0) A~A0) A~A0)K A~A0)H67FFH为系统程序区。②合理选用上述存储芯片,说明各选几片。③详细画出存储芯片的片选逻辑图。唐朔飞版和唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路BG位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯5.假定用若干个2K×4位芯片组成一个8K×8为存储器,则0B1FH所在芯片的最小地址是(6.某计算机存储器按字节编址,主存地址空间大小为64MB,现用4M×8位的RAM芯片组成MBMAR是()【2011】本讲主要讲解了存储器和CPU的连接方法。字位扩展三种扩展方法。单科组卷有可能考大题;多科组卷考小题概率大。第4讲双端口与交叉模块存储器双端口存储器是指同一个存储器具有两组相互独立的读写控制线路,是一种高速工作的存储器。它提供了两个相互独立的端口,即左端口右端口。它们分别具有各自的地址线、数据线和控制线,可以对存储器中任何位置上的数据进行独立的存取操作。可以实现一个存储器挂接两个CPU。当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制和输出驱动控制。当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。由片上的判断逻辑决定对哪个端口优先进行读写操作,而暂时关闭另一个被延迟的端口。 来选择端口。来选择端口。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路 (2)地址有效判断:如果/CE在地址匹配之前变低,片上的控制逻辑在左、右地址间进行判断来选择端口。一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块有两种安排方式:一种是顺序方式,一种是交叉方式。顺序方式:某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作,通过增添模块来扩充存储器容量比较方便。但各模块串行工作,存储器的带宽受到了限制。交叉方式:地址码的低位字段经过译码选择不同的模块,而高位字段指向相应模块内的存储字。连续地址分布在相邻的不同模块内,同一个模块内的地址都是不连续的。对连续字的成块传送可实现多模块流水式并行存取,大大提高存储器的带宽。下面做定量分析:顺序方式存储器连续读取m个字所需时间为t2=mT.m=4的流水线方式存取示意图如下我们认为模块字长等于数据总线宽度,模块存取一个字的存储周期为T,总线传送周期为τ,存储mmTmmT)交叉存储器要求其模块数必须大于或等于m,以保证启动某模块后经mτ时间再次启动该模块,连续读取m个字所需的时间为t1=T+(m-1)τ交叉存储器的带宽确实大大提高了。在不改变存取周期的前提下,增加存储器的带宽唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路顺序存储器和交叉存储器连续读出4个字所需的时间分别是:顺序存储器和交叉存储器的带宽分别是:叉存储,每个模块容量是64K×32位,存取周期为200ns,下列说法正确的是 ()本讲的主要内容是提高存储器性能的两种方法。在实际的计算机系统中,因为CPU的工作速度提高很快,因此对应存储器的速度及容量的要求越来越高,为此需要采用提高存储器的工作速度的技术,或采用层次化的存储器系统结构(如图)。Cache就是在此背景下产生的。访问时间:从启动访问存储器的操作到获得访问数据的时间,即从提供地址和读操作信号到数据读出所经历的时间。访问周期时间:此时间一般比访问时间长,在一次访问完成之后存储器需要一定的恢复时间才能开始下一次的访问操作。带宽:存储器在连续访问时的数据吞吐率。微电子技术发展趋势现代计算机中的存储层次利用程序的局部性原理以最低廉的价格提供尽可能大的存储空间以最快速的技术实现高速存储访问在计算机系统中,在计算机系统中,CPU的工作速度一般大于主存储器的工作速度。主存储器一般用动态存储器实现,高速的静态存储器芯片因为容量小,价格高不适应组成大容量的主存储器。采用怎样的方式能够解决CPU与存储器的接口问题呢?唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路引入基础:人们通过大量统计发现了这样一个访问规律:程序对存储空间的90%的访问局限于存储空间的计算机程序对存储器的访问有两种局限性规律:如果一个存储单元被访问,则可能这个存储单元会很快再次被访问。如果一个存储单元被访问,则它邻近的存储单元可能很快被访问。程序访问的局限性:较短的时间间隔内,由程序产生的地址往往集中于存储器逻辑地址空间很小的范围内。指令地址的分布又是连续的,加上循环程序段的反复执行,对这些地址的访问自然具有时间上集中分布的倾向。这种对局部范围的存储器地址的频繁访问,对这些范围外的地址访问甚少的现象称为程序访问的局限性。程序访问的局限性为cache的引入提供了理论依据。现代计算机与存储器的关系Cache是介于CPU和主存之间的小容量存储器,存取速度比主存快。能高速地向CPU提供指令和数据,加快程序的执行速度。它的内容为主存一部分内容的副本。当存储器接到有关读取指令时,查表时,由逻辑页号同时去查快表和慢表,当在快表中有此逻辑页号时,就能很快地找到对应的物理页号送入实主存地址寄存器,从而做到虽采用虚拟存储器但访主存速度几乎没有下降。在段式虚拟存储系统中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异。虚存地址与实存地址的组成如下:段表:每个逻辑段在段表内有一行记录。段表也是一个段,可以存在外存中,但一般是驻留在主存中对虚拟存储器的访问步骤如下:在主存中,找到段起址,由段起址和段内地址形成主存地址访问主存。在访问某段时,如果段内地址值超过段的长度,则发生地址越界中断。2.如果装入位=0,表明此段不在主存中,通过辅助软硬件的控制,根据某种算法将主存中的某段原有的内容释放,调进需要访问的段,同时段表内容改动。唐朔飞版和唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路段式虚拟存储器有许多优点:①段的逻辑独立性使其易于编译、管理、修改和保护,也便于多道程序共享。②段长可以根据需要动态改变,允许自由调度,以便有效利用主存空间。段式虚拟存储器也有一些缺点:①因为段的长度不固定,主存空间分配比较麻烦。②容易在段间留下许多外碎片,造成存储空间利用率降低。③由于段长不一定是2的整数次幂,因而不能简单地像分页方式那样用虚地址和实地址的最低若干二进制位作为段内偏移量,并与段号进行直接拼接,必须用加法操作通过段起址与段内偏移量的求和运算求得物理地址。因此,段式存储管理比页式存储管理方式需要更多的硬件支持。段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的结合。它把程序按逻辑单位分段以后,再把每段分成固定大小的页。程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护。优点:兼备页式和段式的优点。缺点:是在映象过程中需要多次查表。在段页式虚拟存储系统中,每道程序是通过一个段表和一组页表来进行定位的。段表中的每个表目对应一个段,每个表目有一个指向该段的页表起始地址及该段的控制保护信息。由页表指明该段各页在主存中的位置以及是否已装入、已修改等状态信息。每道程序都有一张段表,A程序有4段,C程序有3段。每段应有一张页表,段表的每行就表示相应页表的起始位置,而页表内的每行即为相应的物理页号。请说明虚实地址变换过程。①根据基号C执行SC加1(段号)操作,得到段表相应行地址,其内容为页表的起始地址b。③物理页号与页内地址拼接即得物理地址。如计算机只有一个基址寄存器,基号可不要,多道程序切换时,操作系统修改基址寄存器内容。可以看出,段页式虚拟存储系统由虚拟地址向主存地址的变换至少需要查两次表。虚拟存储器中的页面替换策略和cache中的行替换策略有很多相似之处,但有三点显著不同: (1)缺页至少要涉及前一次磁盘存取,读取所缺的页,缺页使系统蒙受的损失要比cache未命中大得多。 (2)页面替换是由操作系统软件实现的。 (3)页面替换的选择余地很大,属于一个进程的页面都可替换。虚拟存储器中的替换策略一般采用LRU(近期最少使用)算法、LFU(最不经常使用)算法、FIFO (先进先出)算法,或将两种算法结合起来使用。对于将被替换出去的页面,假如该页调入主存后没有被修改,就不必进行处理,否则就把该页重新写入外存,以保证外存中数据的正确性。为此,在页表的每一行应设置一修改位。情况下的命中率。例:某计算机的页式虚存管理中,采用长度为例:某计算机的页式虚存管理中,采用长度为32字的页,页表内容如下,求当CPU程序按下列2进制虚拟字地址访问存储器时产生的实地址为多少?唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路 (1)00001101 (3)00101000因此,以下虚拟地址对应的实地址为 (3)00101000→缺页,需要从虚拟存储器调入主存。本讲主要讲解了虚拟存储器的概念,作用:重点讲解页式管理、段式管理、段页式管理等三种虚拟存储器的管理方式。令第四章指令系统掌握指令的格式(包括指令的基本格式、定长操作码指令格式、扩展操作码指令格式)和各种寻址方式,还要能够区分数据寻址和指令寻址的区别。CISC(复杂指令系统计算机)和RISC(精简指令系统计算机),我们要掌握它们的基本概念、特征,以及它们之间的主要区别。考点重点与难点考试中常见题型复习思路与方法令设计,指令分析,寻址方式概念指令格式设计、寻址方式从二进制编码角度深入理解指令格式的设计、寻址方式关键是掌握操作数从什么地方取得第1讲指令格式程序由一系列的指令组成的,指令是要计算机执行某种操作的命令。从计算机组成的层次结构来说分为微指令、机器指令和宏指令。宏指令:由若干条机器指令组成的软件指令,它属于软件;机器指令(指令):介于微指令与宏指令之间,每条指令可完成一个独立的算术运算或逻辑运算。指令系统:计算机中所有机器指令的集合。指令中一般需要包含以下信息:指令中一般需要包含以下信息:唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路2.操作数的存储位置:参加运算的数据存储的地方,操作数存储的位置可以是寄存器、存储单元、直接安排在指令中。3.操作结果的存储位置:将运算结果存储在什麽地方。4.下一条指令的地址信息:到哪里去取下一条指令。指令中还可以包含条件信息,表示执行该指令操作必须具备的条件。指令编码的格式称为指令格式。指令:操作码字段地址码字段操作码指令字(简称指令):表示一条指令的机器字。指令格式:是指令字用二进制代码表示的结构形式,由操作码字段和地址码字段组成。操作码字段:表征指令的操作特性与功能;地址码字段:指定参与操作的操作数的地址码。指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码字段的不同编码来表示,每一种编码代表一种指令。操作码可以分为固定长度的代码和可变长度的代码。固定长度的代码:所有指令操作码长度相同。缺点:不便于指令系统中增加新的指令(扩展不方便)。可变长度的代码:指令操作码长度不同。优点:便于指令系统中增加新的指令(扩展方便)。能够缩短指令操作码的平均长度。采用方法为常用的指令采用短的操作码,不常用的指令采用长的操作码。,使指令的译码变的复杂。固定长度操作码编码,试设计其操作码编码。0%,试采用不等长编码设计一种操作码编码的方案,并求出操作码的平均长度。指令0的操作码指令1的操作码指令2的操作码指令98的操作码指令99的操作码2.采用不固定长度操作码编码,可以用4位代码对10条指令进行编码,用8位代码对90条指令进行编码。之间的90个代码表示其余90条指令。0000—指令0的操作码;0001—指令1的操作码;1000—指令8的操作码;1001—指令9的操作码;~1010,1111;代表16个操作码)|卜90个操作码指令操作码的平均长度为:本例说明不等长的指令操作码可以减小操作码的平均长度,提高指令编码的效率。从指令的扩展性来看,也希望操作码长度可变。指令中指定操作数存储位置的字段称为地址码。地址码中可以包含存储器地址、也可包含寄存器的号。地址码中可以包含存储器地址、也可包含寄存器的号。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路指令中可以有一个、两个或者三个操作数,也可没有操作数。根据一条指令有几个操作数地址,可将指令分为零地址指令、一地址指令、二地址指令、三地址指令。4个地址码的指令很少被使用。一地址指令:指令编码中有一个地址码。指出了参加操作的一个操作数的存储位置,如果还有另一个操作数则隐含在累加器中。INC[SI]__二地址指令:指令编码中有两个地址码。指出了参加操作的两个操作数的存储位置,结果存储在其中一个地址中。 AXDXAXSI三地址指令:指令编码中有三个地址码。指出了参加操作的两个操作数的存储位置和一个结果的地址。 注意 (1)零地址指令的指令字中只有操作码,而没有地址码。 (2)一地址指令常称为单操作数指令。 (3)二地址指令常称为双操作数指令,它的两个地址码字段分别指明参与操作的两个数在内存中或运算器中通用寄存器的地址,A1作存放操作结果的地址。 (A1)OP(A2)->A1 (4)三地址指令字中有三个操作数地址。 (A1)OP(A2)->A3二地址指令格式中,从操作数的物理位置来说,又可归结为三种类型。寄存器-寄存器(RR)型指令:需要多个通用寄存器或个别专用寄存器,从寄存器中取操作数,把操作结果放到另一寄存器。机器执行寄存器-寄存器型指令的速度很快,因为执行这类指令,不需要访问内存。寄存器-存储器(RS)型指令:执行此类指令时,既要访问内存单元,又要访问寄存器。存储器-存储器(SS)型指令:操作时都是涉及内存单元,参与操作的数都放在内存里,从内存某单元中取操作数,操作结果存放至内存另一单元中,因此机器执行这种指令需要多次访问内存。指令字长度:一个指令字中包含二进制代码的位数。其长度应该与计算机的数据字长相匹配,以简化指令访存的操作。一般指令字长为计算机字长的整数倍。机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。指令字长等于机器字长指令称为单字长指令指令字长等于两个机器字长指令称为双字长指令,三字长以上指令较少使用。使用多字长指令,目的在于提供足够的地址位来解决访问内存任何单元的寻址问题。缺点:是必须两次或多次访问内存以取出一整条指令,降低了CPU的运算速度,又占用了更多的存储空间。操作码的设计,应当与地址码的设计相匹配,以形成高效合理的指令编码。如指令长度固定的情况下,地址码数量较多的指令中可以安排较短的操作码,地址码数量较少的指令中可以安排较长的操作码。令字长12位每个地址码3位,设计其编码。2.一地址指令中操作码可以扩展9位,唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路100,xxx,xxx—(1地址的64条指令)101,xxx,xxx—(1地址的64条指令)|卜254个编码少条1地址指令。因为操作码字段固定长度为8位2地址指令为m条0地址指令为n条地址指令,n条0地址指令,问此时该计算机最多可以设计出多少条1地址指令。解:2地址指令的操作码字段为4位(4位可设计24个编码),而2地址指令为m条设1地址的指令为y条最多可以设计1地址的编码数为(24-m)×26可以设计0地址的指令数为[(24-m)×26-y]×26为了便于书写和阅读程序,每条指令通常用3个或4个英文缩写字母来表示。这种缩写码叫做指令助记符。如上表所示,这里我们假定指令系统只有7条指令,所以操作码只需3位二进制。由于指令助记符提示了每条指令的意义,因此比较容易记忆,书写方便。在不同的计算机中,指令助记符的规定是不一样的。因此,指令助记符还必须转换成与它们相对应的二进制码。这种转换借助汇编程序可以自动完成,汇编程序相当于一个“翻译”。解:(1)单字长二地址指令。 (2)操作码字段OP可以指定128条指令。 (3)源寄存器和目标寄存器都是通用寄存器(可分别指定16个通用寄存器),所以是RR型指令,两个操作数均在寄存器中。 (4)这种指令结构常用于算术逻辑运算类指令。解:(1)双字长二地址指令,用于访问存储器。 (2)操作码字段OP为6位,可以指定64种操作。 (3)一个操作数在源寄存器(共16个寄存器),另一个操作数在存储器中(由变址寄存器和位移量决定)所以是RS型指令。重点重点讲解二进制机器指令格式设计中的方法和思路。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路应试方法,根据题目中的要求(指令数量,指令字长等限制条件设计高效的指令系统编码。第2讲指令和数据的寻址方式在存储器中,操作数或指令字写入或读出的方式,有地址指定方式、相联存储方式和堆栈存取方式。寻址方式:当采用地址指定方式时,形成操作数或指令地址的方式。寻址方式分为两类:指令寻址和数据寻址单存储器寻址:操作数在内存中。指令的地址码部分指明了操作数所在的内存单元地址。寄存器寻址:指令的地址码部分指明了操作数所在的CPU中的一个寄存器。立即数寻址方式:指令的地址码部分就是操作数本身。传统的计算机中,内存中指令的寻址和数据的寻址时交替进行的。指令的寻址方式有两种:顺序寻址方式和跳跃寻址方式。指令地址在内存中按顺序安排,当执行一段程序时,通常是一条指令接一条指令的顺序执行。从存储器取出第一条指令,然后执行这条指令;接着从存储器取出第二条指令,执行第二条指令;接着再取出第三条指令……这种程序顺序执行的过程,我们称为指令的顺序寻址方式。为此,必须使用程序计数器(又称指令指针寄存器)PC来计数指令的顺序号,该顺序号就是指令在内存中的地址。当程序转移执行时,指令的寻址就采取跳跃寻址方式。所谓跳跃,是指下条指令的地址码不是由程序计数器给出,而是由本条指令给出。程序跳跃后,按新的指令地址开始顺序执行。指令计数器的内容也必须相应改变,以便及时跟踪新的指令地址。采用指令跳跃寻址方式,可以实现程序转移或构成循环程序,从而能缩短程序长度,或将某些程序作为公共程序引用。指令系统中的各种条件转移或无条件转移指令,就是为了实现指令的跳跃寻址而设置的。操作数的地址被称为有效地址。形成操作数的有效地址的方法,称为操作数的寻址方式。D指令中操作数字段的地址码是由形式地址和寻址方式特征位等组合形成。一般来说,指令中所给出的地址码,不一定是操作数的有效地址。寻址过程就是把操作数的形式地址,变换为操作数的有效地址的过程。寻址方式就是确定本条指令的操作数地址及下条要执行的指令地址的方法,它与计算机的硬件密切相关。不同的计算机有不同的寻址方式,但是基本原理是相同的。下面介绍几种大多数计算机都具有的寻址方式。1.隐含寻址(操作数在累加寄存器中)在指令中不明显的给出而是隐含着操作数的地址。例如,单地址的指令格式,没有在地址字段中指明第二操作数地址,而是规定累加寄存器AL或AX作为第二操作数地址,AL或AX对单地址指令格式来说是隐含地址。2.立即寻址(操作数在指令中)指令的地址字段指出的不是操作数的地址,而是操作数本身。这种方式的特点是指令执行时间将立即数2000H存入AX累加器中例如:单地址的移位指令格式为FF进行左移。b.基址寻址方式(操作数在内存中)b.基址寻址方式(操作数在内存中)唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路它的优点是可以扩大寻址能力。同形式地址相比,基址寄存器的位数可以设置得很长,从而可以在较大的存储空间中寻址。c.变址寻址方式(操作数在内存中)将指令的地址码部分给出的基准地址A与CPU内某特定的变址寄存器Rx的内容相加,形成操作指令的地址码部分给出的地址A作为基准地址,而将变址寄存器Rx中的内容作为修改量。在遇到需要频繁修改操作数地址时,无须修改指令,只要修改Rx中的变址值就可以了,适用于数组运算、字符串操作等一些进行成批数据处理的指令。变址寻址就是将指令的地址码部分给出的基准地址A与CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址,即:EA=A+(Rx)。用哪一个寄存器作为变址寄存器必须在硬件设计时就事先规定,变址寄存器Rx中的内容称为变址值,该值可正可负。唐朔飞版和唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路串联堆栈存在一些限制:一是寄存器的数目一般是有限的。如堆栈有8个寄存器,那么把多于8个的数据压入堆栈时,“老”的数据就从栈底压出并被丢失。二是堆栈的读出是破坏性的。当从堆栈取出一个数时,它就不能再在堆栈中存在。由于有这些限制,通常由程序员设置出一部分主存储器来作为堆栈,称为存储器堆栈。这种堆栈有三个优点: (1)堆栈能够具有程序员要求的任意长度; (2)只要程序员喜欢,愿意建立多少堆栈,就能建立多少堆栈; (3)可以用对存储器寻址的任何一条指令来对堆栈中的数据进行寻址。在存储器类型的堆栈中,需要一个堆栈指示器(sp),它是CPU中一个专用的寄存器。堆栈指示器指定的存储器单元,就是堆栈的栈顶。在设计计算机系统时,把主存储器的一部分用作堆栈区。一旦设定堆栈区后,这一部分就不能用作其他用途。当建立存储器堆栈时,可用程序来设置。把一个主存地址送入堆栈指示器,就可确定堆栈的顶。令的功能和串联堆栈中的情况有所不同。进栈操作可描述如下: 其中(A)表示通用寄存器A的内容,SP表示堆栈Msp存储器栈顶单元。出栈操作描述如下: 存储器堆栈中,进栈时先存入数据,后修改堆栈指示器;出栈时,先修改堆栈指示器,然后取出数据。(堆栈指针永远指向一个空的单元。)堆栈在计算机的工作中起着重要的作用如果在程序中要用到某些寄存器,但是它的内容却在将来还有用,这时可以用堆栈把他们保存下来,然后到必要时再恢复原来的内容期间程序用到AX和BX寄存器本讲主要讲解了:指令寻址和数据寻址方式,其中指令寻址方式简单、数据寻址方式复杂。重点讲解了数据的寻址;本讲考生要深刻领会寻址的意义,关键是根据寻址方式和形式地址确定操作数究竟在哪里即确定实际地址。应试方法:关键是能准确找到操作数。计算机发展过程中,不同的设计理念,形成不同风格的指令系统。计算机指令系统的类型可以分为复杂指令系统计算机(cisc)和精简指令系统计算机(risc)两种类型。早期CISC设计风格的主要特点:1.指令系统复杂。表现在指令多,寻找方式多、指令格式多。CISC指令数一般大于100条(一般的CISC计算机所含的指令数目在300条以上,有的甚至达500条),寻找方式一般大于4种,且每个地址码有多种寻找方式,指令的格式一般大于4种。2.指令串行执行。一条指令的执行分为许多执行步骤,大多数指令需要多个时钟周期才能执行完成。3.各种指令都可以访问存储器。使得指令的执行步骤和执行时间变化范围很大。4.采用微程序控制。因为微程序适合实现复杂的指令执行过程的控制。5.有较多的专用寄存器。如变址寄存器、状态寄存器等,寄存器的编码和使用较为复杂。6.编译程序难以用优化措施生成高效的目标代码程序。指令系统复杂,编译程序面临复杂的选择。在早期的计算机设计中,认为指令越多越好,指令越多,硬件功能越多速度快,早期的计算机把指令在早期的计算机设计中,认为指令越多越好,指令越多,硬件功能越多速度快,早期的计算机把指令的数目作为计算机性能的一项重要标志。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路CISC面临的主要问题是控制器电路过于复杂,占有微处理器芯片中过多的面积。针对上述问早期的RISC微处理器主要特征:一致。4.使用较多的通用寄存器以减少访问内存。5.采用阵列逻辑控制器电路。为提高指令执行的速度。6.采用优化编译技术。通过精心选择的指令系统,优化编译技术生成优化的目标代码,防止或减少指令流水线中出现的相关性,使流水线畅通。从应用角度考虑,这些指令的功能也具有普遍意义,几乎所有计算机的指令集中都能找到这些指令。在这个指令系统中,我们假定CPU中只有一个通用寄存器即累加寄存器A,所以对累加寄存器的寻址采用隐含寻址方式。当CPU中使用多个累加器结构时,多累加器变成通用寄存器组,只要对通用寄存器组进行编址,这个指令系统也能完全使用。0%的指令使用频度为20%。因此产生了RISC指令系统。RISC指令系统的最大特点是: (1)选取使用频率最高的一些简单指令,指令条数少; (2)指令长度固定,指令格式种类少; (3)只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行。典型RISC机指令系统的基本特征型号指令数寻址方式指令格式通用寄存器数228RISC-II22344433334例:在SPARC中,有一些指令没有选入指令系统,但很容易使用指令集中的另外一条指令来替代解:(解:(1)直接寻址(2)相对寻址(3)变址寻址 (4)寄存器间接寻址(5)间接寻址(6)基址寻址唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路例:某16位机器所使用的指令格式和寻址方式如下所示,该机有两个20位基址寄存器,四个16位变址寄存器,十六个16位通用寄存器指令汇编格式中的S(源),D(目标)都是通用寄存器,M是主存中的一个单元。三种指令的操作码分别是MOV(OP)=(A)H,STA(OP)=(1B)H,LDA(OP)= DA要求: (1)分析三种指令的指令格式与寻址方式特点。 (2)CPU完成哪一种操作所花时间最短?哪一种操作所花时间最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗? (3)下列情况下每个十六进制指令字分别代表什么操作?其中如果有编码不正确,如何改正才能成为合法指令?①(F0F1)H(3CD2)H③(6FD6)H②(2856)H④(1C2)HCPU完成第一种指令所花费的时间最少,不需要读写存储器。CPU完成第二种指令所花费的时间最长,因为需要计算有效地址并对存储器进行访问,第二种指令所花费的时间不等于第三种,第三种无需进行有效地址的计算。正确,表明把主存(13cd2)H地址单元的内容取至15号寄存器。例:一条指令存储在存储器中地址为300的地方,其操作数地址字段为301,地址字段的值为R地址。 (1)直接寻址 (2)立即数寻址 (3)相对寻址 (4)寄存器(R1)间接寻址 (5)以R1为变址寄存器的变址寻址 (1)直接寻址;操作数的有效地址=400 (2)立即数寻址;操作数的有效地址=301 3)相对寻址;操作数的有效地址=PC+400 (4)寄存器(R1)间接寻址;操作数的有效地址=200 (5)以R1为变址寄存器的变址寻址;操作数的有效地址=200+400位位X源寄存器目的寄存器地址格式表明有8个通用寄存器(长度为16位),X指定寻址方式,主存实际容量为256K字。 (1)假设不用通用寄存器也能直接访问主存中的每一个单元,并假设操作码域OP=6位,请问地址码域应分配多少位?指令字长度应有多少位? (2)假设X=11时,指定的某个通用寄存器用作基址寄存器,请提出一个硬件设计规则,使得被指定的通用寄存器能访问1M主存空间中的每一个单元。k=18位, (2)此时指定的通用寄存器用作基址寄存器,长度为16位,不能覆盖1M字空间,可采用通用寄存器左移存器左移4位,低位补0,形成20位的基地址,然后与指令字形式地址相加得到有效地址,可以范围1M字空间的任意一个单元。唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路储器中存储的数据为3000,pc的值为4000,问在以下寻址方式下访问的指令操作数的值是什么?2.寄存器间接寻址(R)4.存储器间接寻址(1000)例:某机的16位单字长访内存指令格式如下:其中,A为形式地址,补码表示(其中一位为符号位):X为变址寻址。 (1)该指令格式能定义多少种不同的操作?立即寻址操作数的范围是多少? (2)在非间接寻址情况下,写出各计算有效地址的表达式 (3)设基址寄存器为14位,在非变址直接基地址寻址时,确定存储器可寻址的地址范围 (4)间接寻址时,寻址范围是多少?解:(1)该指令格式可定义16种不同的操作(OP为4位,24=16)立即寻址操作数的范围是— (2)绝对寻址(直接寻址)E=A基值寻址E=(Rb)+A相对寻址E=(PC)+A立即寻址D=A变址寻址E=(RX)+A (4)间接寻址时,寻址范围为64K,因为此时从主存读出的数作为有效地址(16位)。例.设有一台简单计算机的指令系统共有10条指令,各指令的使用频率如下:II (1)用霍哈夫曼编码设计这10条指令的操作码,并计算操作码的平均长度; (2)设计只有两种长度,且平均长度不大于3.20位的等长扩展操作码,并计算操作码平均长度。答:(1)霍夫曼树为:霍哈夫曼编码结果如: (2)一种设计方案是取3位和4位两种长度,如,如2010-43:某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格义如下转移指令采用相对寻址,相对偏移是用补码表示,寻址方式定义如下:唐朔飞版和白中英版《计算机组成原理》点精讲及复习思路请求。为了不致造成混乱,在CPU的中断管理部件中必须有一个中断屏蔽触发器,它可以在程序的控制只有在中断屏蔽标志为“0”时,CPU才可以受理中断。当一条指令执行完毕CPU接受中断请求这样,CPU不能再受理另外的新的中断源发来的中断请求。只有在CPU把中断服务程序执行完因此,中断服务程序的最后必须有两条指令,即开中断指令和返主指令,同时在硬件上要保证返主指令执行以后才受理新的中断请求。 (4)中断处理过程是由硬件和软件结合来完成的。中断周期由硬件实现,而中断服务程序由机器指令序列实现。后者除执行保存现场、恢复现场、开放中断并返回主程序任务外,对要求中断的设备进行服务,使其同CPU交换一个字的数据,或作其他服务。程序中断由外设接口的状态和CPU两方面来控制:在接口方面,有决定是否向CPU发出中断请求的机构,主要是接口中的“准备就绪”标志(RD)和“允许中断”标志(EI)两个触发器; (IM)两个触发器。上述四个标志触发器的具体功能如下:准备就绪的标志(RD)一旦设备做好一次数据的接收或发送,便发出一个设备动作完毕信号,使允许中断触发器(EI)可以用程序指令来置位。EI为“1”时,某设备可以向CPU发出中断请求;就是通过软件来控制是否允许某设备发出中断请求。中断请求触发器(IR)它暂存中断请求线上由设备发出的中断请求信号。当IR标志为“1”时,表示设备发出了中断请求。中断屏蔽触发器(IM)是CPU是否受理中断或批准中断的标志。IM标志为“0”时,CPU可以受本讲介绍了输入输出系统的概念,输入输出的几种方式,查询方式和中断方式的原理。2讲 (1)保护现场 (2)中断服务中断方式对不同的I/O设备具有不同内容的设备服务 (3)恢复现场 (4)中断返回出栈指令中断返回指令单级中断多级中断允许级别更高的中断源中断现行的中断服务程序CPU令系统中的一条真正的指令,没有操作码,所以中断隐指令是一种不允许、也不可能为用户使用的特殊指令。功能为: (1)保存断点 (2)暂不允许中断暂不允许中断即关中断。并不是所有的计算机都在中断隐指令中由硬件自动地关中断,也有些计算机的这一操作是由软件(中断服务程序)来实现的。 (3)引出中断服务程序引出中断服务程序的实质就是取出中断服务程序的入口地址送程序计数器(PC)。对于向量中断和非向量中断,因此中断服务程序的方法是不相同的。根据计算机系统对中断处理的策略不同,可分为单级中断系统和多级中断系统。单级中断系统是中断结构中最基本的形式。在单级中断系统中,所有的中断源都属于同一级,所有中断源触发器排成一行,其优先次序是离CPU近的优先权高。当响应某一中断请求时,执行该中断源的中断服务程序。在此过程中,不允许其他中断源再打断中断服务程序,即使优先权比它高的中断源也不能再打断。唐朔飞版和唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路如何确定中断源,并转入被响应的中断服务程序入口地址,是中断处理首先要解决的问题。当CPU响应中断时,由硬件直接产生一个固定的地址(即向量地址),由向量地址指出每个中断源设备的中断服务程序入口,这种方法通常称为向量中断。显然,每个中断源分别有一个中断服务程序,而每个中断服务程序又有自己的向量地址。向量中断要求在硬件设计时考虑所有中断源的向量地址,而实际中断时只能产生一个向量地址。有些计算机中由硬件产生的向量地址不是直接地址,而是一个“位移量”,这个位移量加上CPU某寄存器里存放的基地址,最后得到中断处理程序的入口地址。多级中断系统是指计算机系统中有相当多的中断源,根据各中断事件的轻重缓急程度不同而分成若干级别,每一中断级分配给一个优先权。优先权高的中断级可以打断优先权低的中断服务程序,以程序嵌套方式进行工作。根据系统的配置不同,多级中断可分为一维多级中断和二维多级中断,请见下图。一维多级中断是指每一级中断里只有一个中断源,而二维多级中断是指每一级中断里又有多个中断源。对多级中断,我们着重说明如下几点: (1)一个系统若有n级中断,在CPU中就有n个中断请求触发器,总称为中断请求寄存器;与之对应的有n个中断屏蔽触发器,总称为中断屏蔽寄存器。单级中断不同,在多级中断中,中断屏蔽寄存器的内容是一个很重要的程序现场,因此在响应中断时,需要把中断屏蔽寄存器的内容保存起来,并设置新的中断屏蔽状态。一般在某一级中断被响应后,要置“1”(关闭)本级和优先权低于本级的中断屏蔽触发器,置“0”(开放)更高级的中断屏蔽触发器,以此来实现正常的中断嵌套。 (2)多级中断中的每一级可以只有一个中断源,也可以有多个中断源。在多级中断之间可以实现中断嵌套,但是同一级内有不同中断源的中断是不能嵌套的,必须是处理完一个中断后再响应和处理同一级内其他中断源。 (3)设置多级中断的系统一般都希望有较快的中断响应时间,因此首先响应哪一级中断和哪一个逻辑实现,而不是用程序实现。另外,在二维中断结构中,除了有中断优先级排队电路确定优先响应中断级外,还要确定优先响应的中断源,一般通过链式查询的硬件逻辑来实现。显然,这里采用了独立请求方式与链式查询方式相结合的方法决定首先响应哪个中断源。 (4)和单级中断情况类似,在多级中断中也使用中断堆栈保存现场信息。使用堆栈保存现场的好处是:a.控制逻辑简单,保存和恢复现场的过程按先进后出顺序进行。b.每一级中断不必单独设置现场保护区,各级中断现场可按其顺序放在同一个栈里。例1:见下图所示的二维中断系统。唐朔飞版唐朔飞版和白中英版《计算机组成原理》考点精讲及复习思路请问: (1)在中断情况下,CPU和设备的优先级如何考虑?请按降序排列各设备的中断优先级。 (3)每一级的IM能否对某个优先级的个别设备单独进行屏蔽?如果不能,采取什么办法可达到 (4)假如设备C一提出中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论