第7章 指令系统结构
计算机硬件基础课后习题答案
第1章计算机概述1:计算机的类型有哪些?简述它们的特点目前国际上比较流行的计算机分类是:巨型计算机、主机(大、中型机)、小型计算机、和个人计算机。
巨型计算机指运算速度快、存储容量大的高性能计算机,它采用了大规模并行处理的体系结构,CPU由数以百计、千计的处理器组成,有极强的运算处理能力。
计算机的运算速度平均每秒1000万次以上;存贮容量在1000万位以上。
巨型机的研制水平是一个国家计算机技术水平的重要标志。
主机(大、中型机)大型机的运算速度一般在100万次/秒至几千万次/秒,通常用每秒运行多少万次来作为运算速度单位,字长32~64位,主存容量在几百兆字节以上,。
它有比较完善的指令系统,丰富的外部设备和功能齐全的软件系统。
其特点是通用,有极强的综合处理能力。
中型机的规模介于大型机和小型机之间。
小型机的机器规模小、结构简单、设计试制周期短,便于及时采用先进工艺技术,软件开发成本低,易于操作维护。
微型计算机是以微处理器(CPU)为核心,通过系统总线(BUS)将存储器、外围控制电路、输入输出接口连接起来的系统称为微型计算机。
若配有相应的外围设备(如显示器、键盘、打印机等)和系统软件,就组成了微型计算机系统(Micro Computer System)。
微型计算机具有以下特点:◆集成度高,体积小,重量轻,价格低廉;◆部件标准化,易于组装及维修;◆高可靠性及适应性。
2:微型计算机简单分哪几类?各有什么特点?微型计算机简单可分为常见的台式微型计算机即个人计算机PC,笔记本,及掌上电脑台式机具有:集成度高、体积较小价格低廉、部件标准化、,易于组装维修、高可靠性及适应性,计算能力强等特点;笔记本具有体积小重量轻,便于携带移动性强,耗电少功能强的特点;掌上电脑具有更小的体积、更轻的重量、更少的耗电和更强的可移动性的特点,其方便的上网功能正将加速“处处计算,移动计算”的时代到来。
;Flash存储器与RAM相比具有非易失性的优势,但是寿命短,可擦写次数少,读写速度慢,且不能完成完全随机读写。
计算机组成原理(白中英)
D0
D1
D2
D3
A校验码 B校验码 C校验码 D校验码
系统结构
RAID4
I/O系统
❖ 专用奇偶校验独立存取盘阵列
❖ 数据以块(块大小可变)交叉的方式存于各盘, 奇偶校验信息存在一台专用盘上
数据块
校验码 产生器
A0
A1
A2
A3
B0
B1
B2
B3
C0
C1
C2
C3
D0
D1
D2
D3
A校验码 B校验码 C校验码 D校验码
❖ 只写一次光盘
只写一次光盘(Write Once Only):可以由用户写入 信息,不过只能写一次,写入后不能修改,可以多次读 出,相当于PROM。在盘片上留有空白区,可以把要修 改和重写的的数据追记在空白区内。
❖ 可檫写式光盘
可檫写式光盘(Rewriteable):利用磁光效应存取信 息,采纳特殊的磁性薄膜作记录介质,用激光束来记录、 再现和删除信息,又称为磁光盘,类似于磁盘,可以重 复读写。
RAID6
I/O系统
❖ 双维奇偶校验独立存取盘阵列
❖ 数据以块(块大小可变)交叉方式存于各盘, 检、纠错信息均匀分布在全部磁盘上
系统结构
A0 A1 A2
3校验码 D校验码
B0 B1
2校验码 C校验码
B2
C0
1校验码 B校验码
C1 C2
0校验码 A校验码
D1 D2 D3
校验码 产生器
7.7 光盘存储设备
– 正脉冲电流表示“1”,负脉冲电流表示“0”; – 不论记录“0”或“1”,在记录下一信息前,记录电流
恢复到零电流 – 简洁易行,记录密度低,改写磁层上的记录比较困难,
计算机体系结构 习题与答案
第二章习题(P69-70)一、复习题1.简述冯∙诺依曼原理,冯∙诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心?答:冯∙诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。
这3条合称冯∙诺依曼原理冯∙诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。
(P51-P54)2.简述计算机体系结构与组成、实现之间的关系。
答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。
计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。
同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。
计算机实现,是计算机组成的物理实现, 就是把完成逻辑设计的计算机组成方案转换为真实的计算机。
计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。
在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。
(P47-P48)3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构?答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。
(P55)4.简述RISC技术的特点?答:从指令系统结构上看,RISC 体系结构一般具有如下特点:(1) 精简指令系统。
可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令;(2) 减少指令系统可采用的寻址方式种类,一般限制在2或3种;(3) 在指令的功能、格式和编码设计上尽可能地简化和规整,让所有指令尽可能等长;(4) 单机器周期指令,即大多数的指令都可以在一个机器周期内完成,并且允许处理器在同一时间内执行一系列的指令。
计算机系统结构(第三版)张晨曦 课后答案
fi Si
−1
式中,fi 为可加速部件 i 在未优化系统中所占的比例;Si 是部件 i 的加速比。
⎧ f ⎫ f f S = ⎨[1 − ( f1 + f 2 + f 3 )] + 1 + 2 + 3 ⎬ S S S 1 2 3⎭ ⎩
0.3 0.3 f 3 ⎫ ⎧ 10 = ⎨[1 − (0.3 + 0.3 + f 3 )] + + + ⎬ 30 20 30 ⎭ ⎩
课
45000 × 1 + 75000 × 2 + 8000 × 4 + 1500 × 2 = 1.776 129500
答
案 网
计算机体系结构 • 第一章 • 第4页
⎡ f ⎤ Te = To ⎢(1 − f e ) + e ⎥ S e⎦ ⎣
S=
1 (1 − f e ) +
fe Se
S=
i
1 (1 − ∑ f i ) + ∑
对于第三级而言,为了完成 IC 条指令的功能,第三级指令的条数为: 执行第三级
IC 。为了 M2
IC IC 条指令,需要执行 N 条第二级的指令对其进行解释。那么对第二级 2 M M2 IC IC + 2N 2 M M
而言,总的指令条数为:
N⎤ ⎡ = ⎢1 + ⎥ K ⎣ M⎦ N⎤ ⎡ T4 = ⎢1 + ⎥ K ⎣ M⎦
1.5 计算机系统有三个部件可以改进,这三个部件的加速比如下: 部件加速比 1=30; 部件加速比 2=20; 部件加速比 3=10; (1) 如果部件 1 和部件 2 的可改进比例为 30%,那么当部件 3 的可改进比例为多少时, 系统的加速比才可以达到 10? (2) 如果三个部件的可改进比例为 30%、30%和 20%,三个部件同时改进,那么系统 中不可加速部分的执行时间在总执行时间中占的比例是多少? 解:在多个部件可改进情况下 Amdahl 定理的扩展:
计算机体系结构课后答案
计算机体系结构课后答案【篇一:计算机体系结构习题(含答案)】1、尾数用补码、小数表示,阶码用移码、整数表示,尾数字长p=6(不包括符号位),阶码字长q=6(不包括符号位),为数基值rm=16,阶码基值re=2。
对于规格化浮点数,用十进制表达式写出如下数据(对于前11项,还要写出16进值编码)。
(1)最大尾数(8)最小正数(2)最小正尾数(9)最大负数(3)最小尾数(10)最小负数(4)最大负尾数(11)浮点零(5)最大阶码(12)表数精度(6)最小阶码(13)表数效率(7)最大正数(14)能表示的规格化浮点数个数2.一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。
尾数用原码、纯小数表示,阶码用移码、整数表示。
(1) 设计这种浮点数的格式(2) 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。
3.某处理机要求浮点数在正数区的积累误差不大于2-p-1 ,其中,p是浮点数的尾数长度。
(1) 选择合适的舍入方法。
(2) 确定警戒位位数。
(3) 计算在正数区的误差范围。
4.假设有a和b两种不同类型的处理机,a处理机中的数据不带标志符,其指令字长和数据字长均为32位。
b处理机的数据带有标志符,每个数据的字长增加至36位,其中有4位是标志符,它的指令数由最多256条减少到不到64条。
如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于一个由1000条指令组成的程序,分别计算这个程序在a处理机和b处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发?5.一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。
(1) 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。
6.某处理机的指令字长为16位,有双地址指令、单地址指令和零地址指令3类,并假设每个地址字段的长度均为6位。
绪论
回目录 上页 下页
微型计算机的分类 多板机 2. 按组装类型分类 单板机 单片机
1.4 单片微型计算机 1.4.4 单片机应用系统 1、基本系统 、 最小系统
控制对象
复位 电路 输入/输出 输入 输出 设 备 时 钟 电 路
单 片 机
电源
辅助电路
图 1-14 单片机的基本系统结构图
回目录 上页 下页
其它单片机简介
Microchip公司的PIC系列单片机 Freescale公司(从Motorola公司分离出来的半导体公 司)的MC68系列单片机,9S08系列单片机(8位单片机) 和9S12系列单片机(16位单片机) Ti公司的MSP430系列16位单片机 台湾HOLTEK公司的HT系列单片机 National公司的COP8系列单片机 Zilog公司的Z8系列单片机
学习单片机的条件
学习单片机对硬件部分的要求: Ⅰ要有一台电脑,大家可以拼电脑用; Ⅱ要有一个编程器,用来把编译好的程序写入单片机的 ROM里面,把写好后的芯片插到试验板上面进行试验; Ⅲ 有一个仿真机最好,不过仿真机都比较贵。用来实时 仿真,随时发现问题,修改程序,提高编写程序的效率; Ⅳ 要有一个硬件单片机试验板,作为单片机试验的外围 电路部分, 价格一般100多元钱 Ⅴ要有几片用来试验的89C51单片机芯片,价格在10元上 下。
上页 下页
讲授内容—按内容划分 1. 51单片机的硬件结构:内部特性和外部特性 2. 51单片机的指令系统:42种助记符、111条指令 3. 51单片机的外部接口:可编程RAM/IO扩展器8155、 A/D、D/A转换器、定时计数器等 4. 51单片机的开发应用——设计案例
上页 下页
何为单片机?应用在哪些领域?
电力拖动自动控制系统第7章 交流调压调速系统
7.1 交流调速系统概述
7.1.1 交流调速的发展概况
交流调速系统:由交流电动机拖动、电机转速为控制目标的电力拖动自动控制系统 直流电动机优点:调速性能好 直流电动机缺点:体积大、容量小、制造成本高、有机械换向装置,维护困难 交流电动机优点 :结构简单可靠,维护少,无机械换向火花,制造成本低 20世纪70年代,研究开发高性能的交流调速系统,期望用它来节约能源。 同期,电力电子技术、大规模集成电路、各种控制理论、计算机控制技术的 飞速发展,为交流调速电力拖动的发展创造了有利条件。 20世纪80年代,原有的交直流调速拖动系统的分工格局被逐渐打破。 20世纪90年代,交流调速系统已经占到了调速系统的主导地位。 目前的许多交流调速系统在装置容量上、动静态性能上、可四象限运 行的要求上,以至在系统制造成本上都可以与直流调速系统相媲美。
只要改变转速给定信号就可 以使静特性平行地上下移动, 达到调速的目的。
该系统与直流 V-M系统有许多 本质上的不同之处
Ks
不但与 α 角的大小有关,还与负载的功率因数角有关。
n f ( U 1 ,T ) 是一个复杂的非线性函数,且 R2 X2 、
也不是一个定值,随电机转速变化而大幅度变化
当电机转子的转速与 定子电流的频率有严格 比例关系的电动机称同 步电动机,无严格比例 关系的电动机称异步电 动机。
无刷直流电动机及 开关磁阻电动机都满足 “定子电流的频率与转 速有严格比例关系”的 条件,所以也把它归入 同步电动机。
7.1.3 异步电动机的机械特性
1.固有机械特性
转矩的物理表达式
xK r1 I 1 U 1 x1 x2
r2
2 r1 ( x1 x ) 2 2
计算机组成原理 指令系统
IBM 370机的指令格式
8
4 4
4 4 4 12
RR型 RX型 RS型 SI型 SS型
OP
8
R1 R2 R1 X2
4 4
OP
8
B2
4
D2
12
OP
8
R1 R2
8
B2
4 B1 4
D2
12
OP
8
I2
8
D1
12 4 12
OP
L1
B1
D1
B2
D2
图4-1 IBM 370机的指令格式
2.非规整型
操作码字段的位数丌固定,丏分散地放 在指令字的丌同位置上。 PDP-11机(字长16位)的指令分为单 字长、两字长、三字长三种,操作码字段占4 ~16位丌等,可遍及整个指令长度。 显然,操作码字段的位数和位置丌固定 将增加指令译码和分析的难度,使控制器的设 计复杂化。
入 端口地址 如 出 如 AX, n IN AL, n CPU 的寄存器 OUT n, AL AX CPU 的寄存器 IN AL, DX AX, DX 端口地址 OUT DX, AL AX
4.2 寻址技术
所谓寻址,指的是寻找操作数的地址或下一 条将要执行的指令地址。寻址技术包括编址方 式和寻址方式。
AAA AAS AAM AAD AND OR NOT XOR TEST
3. 移位操作 算术移位
逻辑移位
循环移位(带迚位和丌带迚位)
4. 转移 (1) 无条件转移 JMP
(2) 条件转移 结果为零转 (Z = 1) JZ
如
结果溢出转
(O = 1)JO
300 …
完成触収器
结果有迚位转(C = 1)JC 跳过一条指令 SKP
计算机组成原理_课后习题答案(白中英版)
第一章1.模拟计算机的特点:数值由连续量来表示,运算过程是连续的;数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。
2.分类:数字计算机分为专用计算机和通用计算机。
通用计算机又分为巨型机、大型机、中型机、小型机、微型机和单片机六类。
分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等因素。
3.(略)4.冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。
存储程序:将解题的程序(指令序列)存放到存储器中;程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。
主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。
5.存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。
单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地址。
数据字:若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。
指令字:若某计算机字代表一条指令或指令的一部分,则称指令字。
6.指令:计算机所执行的每一个基本的操作。
程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。
7.一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。
8.内存:一般由半导体存储器构成,装在底版上,可直接和CPU交换信息的存储器称为内存储器,简称内存。
用来存放经常使用的程序和数据。
外存:为了扩大存储容量,又不使成本有很大的提高,在计算机中还配备了存储容量更大的磁盘存储器和光盘存储器,称为外存储器,简称外存。
外存可存储大量的信息,计算机需要使用时,再调入内存。
CPU:包括运算器和控制器。
基本功能为:指令控制、操作控制、时间控制、数据加工。
微机原理与接口技术周荷琴课后习题答案
微机原理与接口技术习题参考答案第一章p201、参考答案:冯诺伊曼计算机的设计思想EDVAC方案:存储程序通用电子计算机方案:①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”;其中第三点是冯诺依曼计算机设计的精华,所以人们又把冯诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作;冯诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示;2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口注意:不是I/O设备组成;而微型计算机系统除了包括微型计算机外,还有系统软件即操作系统、应用软件、外存储器和I/O设备等;微型计算机系统结构如下图所示;3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间;7、参考答案:①PCIPeripheral Component Interconnect:外围设备互联,是Intel 公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium微型计算机;PCI总线是同步且独立于微处理器的具有即插即用PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序的特性.PCI总线允许任何微处理器通过桥接口连接到PCI总线上;②USBUniversal Serial Bus:通用串行总线,是1994年由Compaq,IBM,Microsoft 等多家公司联合提出的;USB有两种规格:和,USB 传输速度为12M/秒,而USB 提高至360到480M/秒;USB 是向下兼容USB ,这意味着将一个USB 的设备插到USB 口中,只能按USB 的速度运行;USB连接方式十分灵活,支持热插拔,不需要单独的供电系统;可以通过一条4线串行线缆访问USB设备,用于连接键盘、鼠标、投影仪、数码相机等,现在成为每一台计算机都必须配备的标准接口;8、参考答案:DB----Define byte 定义一个字节类型的变量,并为该变量分配内存DW…Define word 定义一个字类型的变量,并为该变量分配内存DD….Define double word 定义一个双字类型的变量,并为该变量分配内存9、参考答案:1=或2=3=4=如何转换例如:=1×25+1×23+1×2+1+1×2-2+1×2-4= 32+8+2+1++=10、参考答案:1=10×16+3+3×16-1=2=1×162+2×16+9+12×16-1=3=10×16+12+13×16-1+12×16-2=4=15×162+10×16+11+3×16-1=11、参考答案:123=10111B=27Q=17H2107=1101011B=153Q=6BH492=1011100B=134Q=5CH12、参考答案:即把下面的数用8位补码表示13、参考答案:压缩BCD码就是用4位二进制表示一个0~9之间的十进制数非压缩的BCD码就是用8位二进制表示一个0~9之间的十进制数,8位二进制的最高4位可以位任何数,例如0000,0~9的ASCII码实际上就是0~9的非压缩BCD 码的表示;14、参考答案:如果二进制最高位为0,则该数为正数,反之,如果最高位为1,则该数为负数,对其做求补运算就得到其相反数;200110011B=+5115、参考答案:一个单精度浮点数占4个字节双字,即32位二进制,其中符号位占1位,指数部分占8位,尾数部分占23位;十进制数表示成单精度浮点数的方法如下:①填充符号位,如果是正数填0,如果是负数填1②将数表示成二进制形式,并进行规格化③对于单精度浮点数,指数加上1277FH;对于双精度浮点数,指数要加上1023 3FFH,并填充指数位④填充尾数位1+ ①由于是正数,所以符号位为0;②写成二进制并规格化得到×20,③由于2的指数是0,所以指数部分以0+127=01111111填充;④由②写成十六进制数为:+=3F C0 00 00H2=C12A0000H3+=42C88000H4=C4960000H16、参考答案:21 01111111 00000000000000000000000B=第二章p55~p561、答案略,见p22~242、答案略,见p24~273、答案略,见p334、参考答案其他可以参照本章相关内容:① CPU:又称微处理器,是计算机系统的核心,一般由逻辑运算、控制单元和一些组成;这些寄存器用于CPU在处理过程中数据的暂时保存;它主要完成从存储器中取指令,指令译码;算术逻辑运算;在处理器和存储器或I/O接口之间传送数据;程序的流向控制等;②存储器:是计算机系统的记忆部件,主要用来存储程序和数据;存储器一般分为内部存储器和外部存储器两大类;内部存储器内存存放当前正在使用或经常使用的程序和数据,CPU可以直接访问;外存存放“海量”数据,相对来说不经常使用,CPU使用时要先调入内存;内部存储器又可以分为随机存取存储器RAM和只读存储器ROM;计算机系统存储器的三层结构:按存储容量由低到高或按存取速度由高到低分为高速缓冲存储器CACHE、主存、辅存三层;③堆栈Stack:堆栈是在存储器中开辟一个区域,用来存放需要暂时保存的数据;当前栈顶单元一般采用SP指向,栈底设在存储器的高地址区,堆栈地址由高到低增长;堆栈的工作方式是“后进先出”,用入栈指令PUSH 和出栈指令POP可将数据压入堆栈或从堆栈中弹出数据,栈顶指针SP的变化由CPU自动管理,入栈操作SP减小,出栈操作SP增大;堆栈的操作以字为单位;④机器语言Machine Language:计算机唯一能接受和执行的语言;机器语言由二进制码组成,每一串二进制码叫做一条指令,一条指令规定了计算机执行的一个动作,一台计算机所能懂得的指令的全体,叫做这个计算机的指令系统,不同型号的计算机的指令系统不同;使用机器语言编写程序是一种相当烦琐的工作,既难于记忆也难于操作,编写出来的程序全是由0和1的数字组成,直观性差、难以阅读;不仅难学、难记、难检查、又缺乏通用性,给计算机的推广使用带来很大的障碍;⑤汇编语言Assembly Language:是一种符号语言,它和机器语言几乎一一对应,在书写时使用字符串组成的助记符Mnemonic代替操作码,用地址符号Symbol 或标号Label代替地址码;使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,如微软的宏汇编程序;汇编程序把汇编语言翻译成机器语言的过程称为汇编;汇编语言比机器语言易于读写、调试和修改,同时具有机器语言全部优点;但在编写复杂程序时,相对高级语言代码量较大,而且汇编语言依赖于具体的处理器体系结构,不能通用,因此不能直接在不同处理器体系结构之间移植;⑥指令Instruction:指令是能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作;一条指令通常由两个部分组成:操作码+操作数;:指明该指令要完成的操作的类型或性质,如取数、做加法或输出数据等;操作数:指明操作对象的内容或所在的存储单元地址地址码,操作数在大多数情况下是地址码,地址码可以有0~3个;9、参考答案:注意:①段起始地址和段结束地址均为20位的物理地址;②段起始的偏移量为0000H,所以段起始地址为段基地址×16+偏移地址;③由于每个段的最大容量为64K字节,段结束的偏移量为FFFFH,所以段结束地址为段基地址×16+偏移地址=段基地址×16+FFFFH10、参考答案:a)CS:IP=1000H:2000H 下一条指令的存储器地址为CS×16+IP=12000Hb)CS:IP=2000H:1000H 下一条指令的存储器地址为CS×16+IP=21000Hc)CS:IP=1A00H:B000H 下一条指令的存储器地址为CS×16+IP=25000Hd)CS:IP=3456H:AB09H 下一条指令的存储器地址为CS×16+IP=3F069 H11、参考答案:a)DS=1000H,DI=2000H 存储单元地址为:DS×16+DI=12000Hb)SS=2300H,BP=3200H 存储单元地址为:SS×16+BP=26200Hc)DS=A000H,BX=1000H 存储单元地址为:DS×16+BX=A1000Hd)SS=2900H,SP=3A00H 存储单元地址为:SS×16+SP=2CA00H12、参考答案:①堆栈段在存储器中的物理地址即堆栈段的起始地址为:SS×16+0000H=35000H②入栈10个字节后,SP=0800H-10=07F6H③再出栈6个字节,SP=07F6H+6=07FCH13、参考答案:示意图如左图所示,如果要读取这两个字,则需要对存储器进行三次操作;①由于字2A8CH存放在偶地址开始的单元,所以只进行一次存储器操作就可以读取该字;②由于字1EE5H存放在奇地址开始的单元,所以需要进行两次存储器操作才可以读取该字;14、参考答案:段段起始地址段结束地址DS 10E40H 20E3FHES 10F40H 20F3FH可见,①DS和ES有部分的重叠,重叠区域大小为:20E3FH-10F40H+1=FF00H字节;②ES和SS之间有空隙,空隙的大小为:21F00H-20F3FH+1=0FC2H字节;③SS和CS 之间有空隙,空隙的大小为:31FF0H-31EFFH+1=00F2H字节④OF SF ZF CF 均为017、参考答案:IF标志位控制INTR引脚20、答案略,见p4921、答案略第三章p121~p1241、参考答案:对于IN指令,如果是长格式,源操作数的数字不是立即数,而是端口地址,所以源操作数的寻址方式是直接寻址;如果是短格式,即端口地址存放在DX寄存器中,则源操作数的寻址方式为寄存器间接寻址,如:IN AX,DX对于OUT指令,如果是长格式,目的操作数的数字不是立即数,而是端口地址,所以目的操作数的寻址方式是直接寻址,如OUT 20H,AL;如果是短格式,即端口地址存放在DX寄存器中,则目的操作数的寻址方式为寄存器间接寻址,如:OUT DX,AX 2、参考答案:题号源操作数寻址方式源操作数有效地址源操作数物理地址指令执行后AX中的内容1 立即寻址------- ------ 0200H2 直接寻址0200H 10200H 2A10H3 寄存器寻址------- ------ 0200H4 寄存器相对寻址0203H 10203H 5946H5 基址变址寻址0202H 10202H 463CH6 相对基址变址寻址0204H 10204H 6B59H注:10200H~10205H单元存储状况如左图所示3、参考答案:题号源操作数寻址方式源操作数有效地址源操作数物理地址4、答案略5、参考答案:1该数据段的存储状况如下表所示:注:①表格的第一行为变量名称;②第三行的每个小格子代表一个存储单元;③第二行为存储单元的偏移地址以十六进制表示,从中可以看出各变量在数据段中的偏移地址,A的偏移地址为0000H,B的偏移地址为0002H,C的偏移地址为000AH,D的偏移地址为000EH,E的偏移地址为0013H;④第三行为存储单元的具体内容,以十六进制表示;2写出各条指令执行后的结果6、参考答案:7、程序片段如下:LEA BX,TABLE MOV AL,57MOV AH,0MOV DL,10DIV DLPUSH AXXLATMOV CH,ALPOP AXMOV AL,AHXLATMOV CL,ALMOV BX,CX9、已知AX=1234H,BX=3456H,CX=5678H,DX=789AH,CF=1则单独执行下列各条指令后,各相关寄存器内容是什么10、参考程序片段如下:;定义数据段DATA SEGMENTARRAY DB 60,65,72,76,77,66,79NEW DB 7 DUP0SUM DB 0AVERAGE DB 0DATA ENDS;程序代码如下……MOV CX,7MOV SUM,0MOV SI,0NEXT:MOV AL,ARRAYSIADD SUM,AL ;总分存入SUM中ADD AL,5MOV NEWSI,ALINC SILOOP NEXTMOV AL,SUMMOV AH,0MOV CL,7DIV CLMOV AVERAGE,AL ;平均分存入AVERAGE中12、参考答案:1程序片段如下:LEA SI,STRINGLEA DI,GET_CHARMOV CX,26CLDREP MOVSB2程序片段如下:先定义一个附加段,用来存放’The computer’EXTRA SEGMENTS2 DB ‘The computer’EXTRA ENDS…LEA SI,STRINGLEA DI,S2MOV CX,12CLDREPZ CMPSBJZ NEXT ;若比较的两个字符串相同,则跳到NEXT执行MOV AL,0 ; 若比较的两个字符串不相同SUB CL,12NEG CLMOV BL,CL ;比较的次数存入BL中RETNEXT:MOV AL,1MOV BL,12RET3程序片段如下:LEA DI,STRING ;被查找的字符串STRING作为目的串MOV AL,’&’MOV CX,26CLDREPNZ SCASBJNZ EXIT ;如果没有找到,直接退出DEC DI ;找到’&’字符的位置MOV BYTE PTR ES:DI,20H ;用空格字符替换EXIT: RET4完整的程序如下:;这里的DATA既作为数据段,又作为附加段,即数据段和附加段公用一个段DATA SEGMENTSTRING DB ‘The Personal Computer & TV’COUNT EQU $-STRINGCAPS DB COUNT DUP0CHART DB COUNT DUP0DATA ENDSCODE SEGMENTASSUME DS:DATA,ES:DATA,CS:CODEMAIN PROC FARPUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV ES,AX;把字符串中大写字母传送到CAPS开始的单元中LEA SI,STRINGLEA DI,CAPSMOV CX,COUNTCLDAGAIN1:LODSBCMP AL,41HJB NEXT1CMP AL,5AHJA NEXT1STOSBNEXT1:LOOP AGAIN1;把字符串中其余字母传送到CHART开始的单元中LEA SI,STRINGLEA DI,CHARTMOV CX,COUNTCLDAGAIN2:LODSBCMP AL,41HJB NEXTCMP AL,5AHJBE NEXT2NEXT: STOSBNEXT2:LOOP AGAIN2;将STRING字符串清零LEA DI,STRINGMOV AL,0MOV CX,COUNTCLDREP STOSBRETMAIN ENDPCODE ENDSEND MAIN13、完整的程序如下:CODE SEGMENTASSUME CS:CODEMAIN PROC FARPUSH DSXOR AX,AXPUSH AXXOR SI,SI ;SI中存放DX中1的个数XOR DX,DXMOV AX,1234HMOV CX,16AGAIN:ROR AX,1JNC NEXTINC SIPUSH CXDEC CLMOV BX,1SHL BX,CLOR DX,BXPOP CXNEXT: LOOP AGAINRETMAIN ENDPCODE ENDSEND MAIN程序的运行结果:AX=1234H DX=2C48H SI=0005H,结果正确如果是段内转移,跳转指令只改变IP寄存器的内容,前三条跳转指令是段内跳转;如果是段间跳转,跳转指令同时改变IP和CS寄存器的内容,后两条跳转指令是段间跳转;15、参考答案:注意:三个循环指令LOOP 、LOOPE 和LOOPNE 终止循环的条件是不一样的; 16、参考答案:中断向量表的作用:中断向量表用于存放256种中断的中断服务程序的入口地址,每种类型中断的中断服务程序的入口地址占用4个字节,存储CS 和IP,总共需要1024个字节,即1K 字节; 中断向量表位于内存的最低1K 字节,地址范围为:00000H~003FFH;类型3的中断的中断服务程序的入口地址存放在:0000CH~0000FH 这四个单元; 17、参考答案:如下图所示解释:①由于中断类型号为2,所以该类型中断的中断服务程序入口地址占据内存最低1K 字节的2×4,2×4+1,2×4+2,2×4+3四个单元;②前两个单元存放中断服务程序IP 值,即0016H,后两个单元存放中断服务程序的CS 值,即0485H;③由于CS 和IP 值均为一个字,所以在存放中断服务程序入口地址的CS 和IP 值时,低位字节存放在低地址区,高位字节存放在高地址区; 18、参考答案: 1中断类型号为162该中断服务程序的起始地址是:CS:IP=D169H:240BH 解释:①由于中断向量表中地址为0040H 开始存放某类型中断的中断服务程序的入口地址,所以0040H 除以4就可以得到该类型中断的中断类型号n,即n=16;②中断服务程序的入口地址的CS 值存放在0042H 单元里,IP 值存放在0040H 单元里;20、参考答案:MOV CX,N;4个时钟周期NEXT:NOP ;N ×3个时钟周期 NOP ;N ×3个时钟周期LOOP NEXT;N-1×17+1×5个时钟周期由f =5MHz,t =,延时5ms 需要25000102.010563=⨯⨯--个时钟周期 所以:4+N ×3+N ×3+N-1×17+1×5=25000 解得:N=1087第四章p205~p2061、参考答案写出各变量在内存中的存储状况A1 DW 23H,5678HA2 DB 3 DUP,0AH,0DH,’$’A3 DD 5 DUP1234H,567890HA4 DB 4 DUP3 DUP1,2,’ABC’①变量A1占4个字节,在内存中的存储状况以十六进制表示,从左到右地址依次增加,以下同:23 00 78 56②变量A2占6个字节,在内存中的存储状况:00 00 00 0A 0D 24③变量A3占40个字节,在内存中的存储状况:34 12 00 00 90 78 56 00 再重复4遍④变量A4占60个字节,在内存中的存储状况:01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43 01 02 41 42 43带下画线部分重复4遍2、参考答案写出各指令执行后的结果3、参考答案:L=6,L的值实际就是BUF变量在内存中占有的字节数;4、参考答案:PLENGTH=22,PLENGTH的值实际就是三个变量PAR、PNAME和COUNT在内存中占有的总的字节数;5、参考答案:AX=1 BX=20 CX=16、参考答案:AH=00H7、1利用中断调用产生5秒延时data segments db '5 second is gone',13,10,'$'data endscode segmentassume cs:code,ds:datamain proc farmov ax,datamov ds,axmov ah,2chint 21h ;取得当前时间:ch时 cl分 dh秒 dl1/100秒mov bl,dhcontinue:mov ah,2chint 21hsub dh,blcmp dh,5jb continue ;判断两次取得时间间隔是否为5秒钟,如果不是则继续读取时间lea dx,s ;如果达到5秒,则显示一条信息mov ah,9int 21hmov ax,4c00hint 21hmain endpcode endsend main2利用中断调用,在屏幕上显示1~9之间的随机数思路:利用DOS系统功能调用得到当前时间,其中的dl寄存器中存放的是1/100秒,可以用来产生随机数;code segmentassume cs:codemain proc farmov ah,2chint 21hmov al,dl ;取得1/100秒,不同时间运行该程序时得到的这个数字也不一样,具有随机性mov ah,0mov bl,9 ;除以9div bl ;相除后的余数ah的范围为0~8inc ah ;加1后得到1~9之间的数add ah,30h ;转换为ASCII码mov dl,ahmov ah,2int 21h ;在屏幕上显示该数mov ax,4c00hint 21hmain endpcode endsend main8、1二进制到压缩BCD码的转换;把AX中的二进制数转换为压缩的BCD码,仍然存放AX寄存器中;例如:如果AX中的二进制数为0010 0110 1001 0100B=2694H,化成十进制数是9876,其压缩的BCD码是1001 1000 0111 0110,用十六进制表示是9876H;即这种转换实际就是把2694H转换为9876H;考虑到AX中能够存放的最大的四位压缩BCD数为9999H,所以在转换之前需要判断AX中的二进制数不能超过9999,即270FH;第五章p237~2382、ROM、PROM、EPROM、EEPROM在功能上各有何特点答案略见教材p2083、DRAM的CAS和RAS输入的用途是什么答:为了提高DRAM的集成度,减少引脚的数目,DRAM的地址线分成行地址和列地址两部分,在对存储器进行访问时,先由行地址选通信号RAS把行地址送入行地址锁存器,再由列地址选通信号CAS把列地址送入列地址锁存器,并由读写信号控制数据的读出或写入;4、什么CACHE作用是什么处于微处理机中的什么位置答:CACHE即高速缓冲存储器,通常由SRAM组成;其作用是:将经常访问的代码和数据保存到由SRAM 组成的高速缓冲存储器中,把不经常访问的数据保存到由DRAM组成的主存中,这样使存储器系统的价格降低,同时又降低了接近零等待的性能,大大的提高了系统的性能;CACHE位于CPU和主存储器之间;7、用1024×1位的RAM芯片组成16K×8位的存储器,需要多少芯片在地址线中有多少位参与片内寻址多少位合成片选信号设地址总线为16位答:需要16×8=128片RAM芯片,其中每8片为一组,总共有16组;地址线中有10位参与片内寻址;由于有16组芯片,余下的6根地址线中至少需要4根合成片选信号,来选中其中的一组芯片;8、现有一存储器芯片的容量为512×4位,若要用它组成4KB的存储器,需要多少这样的芯片每块芯片需要多少寻址线整个存储系统最少需要多少寻址线答:需要的芯片的数目为16片,每两片为一组,共有8组;每块芯片需要9根寻址线;由于共有8组芯片,至少需要3根地址线合成片选信号用来选择8组芯片中的一组;整个存储器系统至少需要9+3=12根地址线;9、利用1024×8位的RAM芯片组成4K×8位的存储器系统,用A15~A12地址线用线性选择法产生片选信号,存储器地址的分配有什么问题写出各芯片的地址分配;答:①需要的芯片的数目:4片②片内寻址需要的地址线的数目:由于每片RAM芯片内部有1024个存储单元,所以需要10根地址线用于选中其中某一个存储单元,占用地址总线的低10位A9~A0③片间寻址需要的地址线的数目:由于需要4片存储器芯片,所以至少需要2根地址线进行译码用于选择4片芯片中的一片,这样占用地址总线的A11和A10;余下的地址总线用线性选择法产生片选信号,这样A15~A12的电平的不同组合就产生了不同的地址空间,使得存储器芯片的地址空间产生重叠;如果A15~A12的电平组合为:A15=1,其余的均为0,则4片存储器芯片的地址范围分别为:A15 A14 A13 A12 A11 A10 A9…A01:1 0 0 0 0 0 0 … 0 =8000H1 0 0 0 0 0 1 … 1 =83FFH2:1 0 0 0 0 1 0 … 0 =8400H1 0 0 0 0 1 1 … 1 =87FFH3:1 0 0 0 1 0 0 … 0 =8800H1 0 0 0 1 0 1 … 1 =8BFFH4:1 0 0 0 1 1 0 … 0 =8C00H1 0 0 0 1 1 1 … 1 =8FFFH10、当从存储器偶地址单元读一个字节数据时,写出存储器的控制信号和它们的有效电平8086工作在最小模式;答案如下表所示:11、当要将一个字写入到存储器奇地址开始的单元中,列出存储器的控制信号和他们的有效电平8086工作在最小模式;答案如下表所示:分两次写入:第一次:第二次:12、设计一个64K×8的存储器系统,采用74LS138和EPROM 2764器件,使其寻址空间范围为:40000H~4FFFFH;解题步骤如下:①存储器芯片数目的确定:由于每片2764芯片为8K×8位,要组成64K×8的存储器系统,需要8片2764芯片,编号为1~8;②片内寻址地址线的选择:由于每片2764芯片为8K×8位,即有8K213=8K个存储单元,所以需要13根地址线A12~A0分别接到芯片的13个地址引脚,来选通片内某个存储单元;③片间寻址地址线的分配:A15、A14和A13分别连接到74LS138的C、B、A端,74LS138的8个输出④余下的地址线的连接:A19~A16和M/IO信号通过逻辑电路接到74LS138的三个控制端G1、G2A和G2B,具体的逻辑电路的设计与题目给定的寻址空间范围有关,如果题目没有给定寻址空间范围,逻辑电路由读者自行设计;⑤根据寻址空间范围设计控制端的逻辑电路:把最低地址40000H表示成二进制形式为:0100 0000 0000 0000 0000,可知20位地址总线高4位A19~A16的电平组合为A19=0,A18=1,A17=0,A16=0,加上M/IO=1,由此可以设计出74LS138的三个控制端G1、G2A和G2B的逻辑电路;M/IO信号可以同G1端直接相连;A18反向后与A19通过二输入负逻辑与非门即或门接到G2A端,A17和A16通过二输入负逻辑与非门或门连接到G2B端;⑥其他控制信号的连接:数据总线D7~D0直接与存储器芯片的8根数据引脚相连接;RD信号直接芯片的允许输出引脚相连;具体的电路图略;13、用8K×8的EPROM 2764,8K×8的RAM 6264和74LS138构成一个16K字ROM,16K字RAM的存储器子系统;8086工作在最小模式,系统带有地址锁存器8282,数据收发器8286;画出存储器系统与CPU的连接图,写出各芯片的地址分配;解题步骤如下:①存储器芯片数目的确定:需要EPROM芯片4片,每两片组成一组两片存储器芯片构成一个字存储器,一片为奇地址存储体,另一片为偶地址存储体,共有2组,编号为1和2;需要RAM芯片4片,每两片组成一组两片存储器芯片构成一个字存储器,一片为奇地址存储器,另一片为偶地址存储器,共有2组,编号为3和4;②片内寻址地址线的选择:由于每片2764芯片和6364芯片均为8K×8位,即有8K213=8K个存储单元,所以需要13根地址线A13~A1分别接到芯片的13个地址引脚,来选通片内某个存储单元;注意:A0不参与片内寻址,用来作为奇偶存储体的选择信号;A0与BHE信号相配合来读/写每一组中的奇偶存储体;③片间寻址地址线的分配:A16、A15和A14分别连接到74LS138的C、B、A端,74LS138的8个输出中的4个输出端分别选择4组包括2组EPROM芯片和2组RAM芯片存储器芯片中的一组;④三个控制端相连;可以由读者自行设计;如果选择A19=1,A18=0,A17=0,M/IO信号可以同G1端直接相连;A19反向后接到G2A端,A18和A17通过二输入负逻辑与非门或门连接到G2B端;⑤二次译码:由于每一组存储器由两片存储器芯片组成,一片为奇地址存储体,另一片为偶地址存储体,这两个存储体的选择需要A0和BHE信号;因此,74LS138的每个输出Y0~Y3还需要同这两个信号进行二次译码产生两个信号分别连到该组存储器的两个存储器芯片的CS端;例如:对于第1组存储器,Y0与A0通过二输入或门连到1的偶地址存储器芯片的CS端;Y0与BHE通过二输入或门连到1的奇地址存储器芯片的CS端;其他三组的二次译码电路以此类推;⑥各组芯片的地址范围:1:80000H~83FFFH2:84000H~87FFFH3:88000H~8BFFFH4:8C000H~8FFFFH每组的两个存储器芯片分别占用其中的奇地址和偶地址;14、上题中若从74LS138的Y2开始选择ROM和RAM芯片,写出各块芯片的地址分配;解答:若从74LS138的Y2开始选择ROM和RAM芯片,那么片间寻址A16、A15和A14组合如下表所示则各组芯片的地址范围为:1:88000H~8BFFFH2:8C000H~8FFFFH3:90000H~93FFFH4:94000H~97FFFH第六章p2627、某微机系统中,有8块I/O接口芯片,每个芯片占有8个端口地址,若起始地址为9000H,8块芯片的地址连续分布,用74LS138作译码器,画出译码电路,并说明每块芯片的端口地址范围;解答:①片内寻址地址线的分配:由于每个芯片占有8个端口地址,则需要3个地址线用于片内寻址以访问片内8个端口,这样占用地址总线的最低3位,即A2、A1和A0;②片间寻址地址线的分配:由于总共有8块I/O接口芯片,则需要8根地址线,并接到74LS138的3个输入端C、B和A,74LS138的8个输出端Y0~Y7分别接8个I/O接口芯片的CS端,以寻址8块芯片中的一块,这样占用地址总线的A5、A4和A3位;③74LS138的控制端的连接:根据起始地址9000H可知,剩下的地址线A15~A6的组合为A15=1,其余的地址线的电平信号为低电平,加上M/IO=0,据此可以求出74LS138的3个控制端的连线逻辑;④各个芯片的地址范围:1 9000H~9007H2 9008H~900FH3 9010H~9017H4 9018H~901FH,同理可写出剩下的4块芯片的地址范围;第七章p302~3031~4题略5、中断服务子程序中中断指令STI放在不同位置会产生什么不同的结果中断嵌套时STI指令应如何设置解答:在进入中断服务程序时,中断允许标志位IF被清0,以屏蔽其他外部中断,在中断服务程序中可以用STI指令重新开中断,即IF=1;①STI指令放在中断服务程序开头和中间的某个位置,可以允许中断嵌套,CPU能响应更高级别的中断请求;②STI指令放在中断服务程序结束之前,几乎没什么作用,因为当前的中断服务快要结束了,中断结束后,自动恢复标志位IF,使IF=1,CPU又可以响应中断了;如果允许中断嵌套,则在中断服务子程序的开头用STI指令开中断;6、中断结束命令EOI放在程序的不同位置会产生什么不同的结果解答:EOI命令能够使中断控制器的ISR中断服务寄存器的相应位清0,允许同级别或级别较低的中断请求;在中断服务子程序中,EOI指令可以放在①中断服务程序的开头和中间的某个位置,则在中断处理中提前发出了EOI命令,则清除了正在执行的中断服务,ISR置“1”位被清0,允许响应同级别或低级的中断申请,但是这样会出现重复嵌套,使优先级高的中断不能及时得到服务;②放在中断服务程序返回指令IRET之前,这样当前中断结束之后,同级别或低级的中断申请同样可以得到响应,也不会出现重复嵌套,优先级高的中断也能够得到及时服务;建议在中断返回指令IRET指令前面使用EOI命令;7、中断向量表的功能是什么。
