第1章微机系统导论1.2微处理器、微型计算机和微型计算机系统之间有何联系与区别?答:微处理器是微型计算机的中央处理器,微型计算机是微型计算机系统硬件部分的核心部件。
微处理器是指由一片或几片大规模集成电路组成的具有运算器和控制器功能的中央处理器部件。
微型计算机又称主机,是指以微处理器为核心,配上存储器、输入/输出接口电路及系统总线所组成的计算机。
微型计算机系统是指以微型计算机为中心,配以相应的外围设备(如硬盘、显示器、键盘、鼠标等)、电源和辅助电路(统称硬件)以及指挥微型计算机工作的软件系统(如系统软件、应用软件)所构成的系统。
1.3一个基本的微机硬件系统的组成部分包括哪几部分?实际微机硬件系统一般都由哪些部件组成?答:一个基本的微机硬件系统的组成包括微处理器芯片、存储器芯片与输入输出接口芯片。
微处理器芯片是微机的运算和控制中心,存储器芯片(内存)用来存储程序和数据,输入输出接口芯片是微机与外设之间的接口。
主流微机硬件系统一般由主机(包括CPU、主存储器RAM、CPU外围芯片组和总线插槽)、外设接口卡、外部设备(如显示器、键盘、鼠标)及电源等部件组成。
1.6 一个最基本的微处理器由哪几部分组成?它们各自的主要功能是什么?答:一个最基本的微处理器由运算器、控制器和内部寄存器阵列3个部分组成。
运算器又称为算术逻辑单元(ALU),用来进行算术或逻辑运算以及位移循环等操作;控制器包括指令寄存器(IR)、指令译码器(ID)、可编程逻辑阵列(PLA),三者共同作用完成取指控制、执指控制等操作;内部寄存器的数量和类型视具体的微处理器类型而定,一般包括累加器、数据寄存器、程序计数器、地址寄存器和标志寄存器等,用以存放对应的数据,供控制器和运算器使用。
1.7 试说明程序计数器PC在程序执行过程中的具体作用与功能特点。
答:PC中存放着正待取出的指令的地址。
根据PC中的指令地址,CPU准备从存储器中取出将要执行的指令。
通常程序按顺序逐条执行。
任何时刻PC都指示要取的下一个字节或下一条指令(对单字节指令而言)所在的地址。
因此,PC具有自动加1功能。
1.8 试说明标志寄存器F的基本功能是什么?它在程序执行过程中有何作用?答:标志寄存器F用来寄存CPU执行指令时所产生的结果或状态的标志信号。
如进行算术或逻辑运算时是否产生进位、半进位、溢出、结果等于零、奇偶性等状态的变化,通常需要将标志寄存器中这些运算后的结果或状态作为一种条件,用于判断程序是否转移。
不同型号的微处理器对应的标志位的具体设置与功能也不同。
1.9 存储器的基本功能是什么?程序和数据是以何种代码形式来存储信息的?答:存储器是计算机的存储和记忆部件,用来存放数据(包括原始数据、中间结果与最终结果)和程序。
程序和数据在计算机内部都是用0、1二进制代码的形式来表示的,每一个0或1就叫做1位信息。
1.10 试说明位、字节、字长的基本概念及三者之间的关系。
答:位(bit)是用0或1表示的一个二进制信息最基本单位;字节(Byte)是由8位二进制代码表示的一个叫做位组的基本信息单位;字(Word)是指由2个字节组成的16位信息单位。
字长是指计算机内部CPU一次可以处理二进制数字的位数,它通常是字节的整数倍。
第2章 微机运算基础2.2 在进位记数制中,“基数”和“位权(或权)”的含义是什么?一个以b 为基数的任意进制数N ,它按位权展开式求值的一般通式是如何描述的?答:基数就是表示该进位制所用字符或数码的个数;数制每一位所具有的值称为位权或简称权。
数N 的按位权展开式的一般通式为()--1mi i i n N k b ==±⨯∑式中,k i 为第i 位的数码;b 为基数;b i 为第i 位的权;n 为整数的总位数;m 为小数的总位数。
2.3 将下列十进制数分别转换为二进制数。
(1) 147 (2) 4095 (3) 0.625 (4) 0.l5625答: 方法1:整数部分:除2取余;小数部分:乘2取整方法2:用特殊数字(1) 147 = 128+16+2+1 = 27+24+21+20 = 1001 0011B(2) 4095 = 4096-1 = 212-20 = 1111 1111 1111B(3) 0.625 = 0.5+0.125 = 2-1+2-3 = 0.101B(4) 0.l5625 = 0.00101B2.4 将下列二进制数分别转换为BCD 数。
(1) 1011 (2) 0.01 (3) 10101.101 (4) 11011.001答:方法:先转换为十进制数,再转换为BCD 数(1) 1011B = 11D = 0001 0001BCD(2) 0.01B = 0.25D = 0.0010 0101BCD(3) 10101.101B = 21.625D = 0010 0001.0110 0010 0101BCD(4) 11011.001B = 27.125D = 0010 0111.0001 0010 0101BCD2.5 将下列二进制数分别转换为八进制数、十六进制数。
(1) 10101011B (2) 1011110011B(3) 0.01101011B (4) 11101010.0011B答: 方法: 二进制数转换为八进制数:3位变1位;二进制数转换为十六进制数:4位变1位。
(1) 10101011B = 253Q = 0ABH(2) 1011110011B = 1363Q = 2F3H(3) 0.01101011B = 0.326Q = 0.6BH(4) 11101010.0011B = 352.14Q = 0EA.3H2.6 选取字长n 为8位和16位两种情况,求下列十进制数的原码。
(1) X = +63 (2) Y = -63 (3) Z = +118 (4) W = -118答:方法: 最高位(D 7或D 15)为符号位,其余位是数值部分的二进制形式。
(1) 8位:[ X ]原 = 0011 1111B , 16位:[ X ]原 = 0000 0000 0011 1111B(2) 8位:[ Y ]原= 1011 1111B,16位:[ Y ]原= 1000 0000 0011 1111B(3) 8位:[ Z ]原= 0111 0110B,16位:[ Z ]原= 0000 0000 0111 0110B(4) 8位:[ W ]原= 1111 0110B,16位:[ W ]原= 1000 0000 0111 0110B2.7 选取字长n为8位和16位两种情况,求下列十进制数的补码。
(1) X = +65 (2) Y = -65 (3) Z = +127 (4) W = -128答:方法:最高位(D7或D15)为符号位,若为正数,则其余位是数值部分的二进制形式;若为负数,则其余位是数值部分的二进制形式按位取反后末位加1。
(1) 8位:[ X ]补= 0100 0001B,16位:[ X ]补= 0000 0000 0100 0001B(2) 8位:[ Y ]补= 1011 1111B,16位:[ Y ]补= 1111 1111 1011 1111B(3) 8位:[ Z ]补= 0111 1111B,16位:[ Z ]补= 0000 0000 0111 1111B(4) 8位:[ W ]补= 1000 0000B,16位:[ W ]补= 1111 1111 1000 0000B2.8 已知数的补码表示形式如下,分别求出数的真值与原码。
(1) [ X ]补= 78H (2) [ Y ]补= 87H(3) [ Z ]补= FFFH (4) [ W ]补= 800H答:正数的原码与补码相同,负数的原码是补码的符号位不变,其余位按位取反后末位加1。
(1) [ X ]原= 0111 1000B = 78H,X = 7×16+8 = 120(2) [ Y ]原= 1111 1001B =0F9H,Y = -(7×16+9) = -121(3) [ Z ]原= 0000 1111 1111 1111B = 0FFFH,Z = 4095(4) [ W ]原= 0000 1000 0000 0000B = 0800H, W = 20482.12 设X=87H,Y=78H,在下述两种情况下比较两数的大小。
(1) 均为无符号数(2) 均为带符号数(设均为补码)答:(1) 若均为无符号数,则X > Y(2) 若均为带符号数,则最高位(符号位)为1的数为负数,最高位(符号位)为0的数为正数数,所以X < Y2.13 选取字长n为8位,已知数的原码表示如下,求出其补码。
(1) [ X ]原= 01010101 (2) [ Y ]原= 10101010(3) [ Z ]原= 11111111 (4) [ W ]原= 10000001答:正数的补码与原码相同,负数的补码是原码的符号位不变,其余位按位取反后末位加1。
(1) [ X ]补= 01010101B (2) [ Y ]补= 11010110B(3) [ Z ]补= 10000001B (4) [ W ]补= 11111111B2.15 阐述微型计算机在算术运算时,所产生的“进位”与“溢出”二者之间的区别。
答:溢出是指带符号数的补码运算溢出,溢出及其判断方法:OF=D7C⊕D6C。
进位是指运算结果的最高位向更高位的进位D7C。
进位和溢出是两个不同性质的概念,不能混淆,两者没有必然的联系。
2.16 选字长n为8位,用补码列出竖式计算下列各式,并且回答是否有溢出。
若有溢出,则是正溢出还是负溢出?(1)0111 1001+0111 0000 (2)—0111 1001—0111 0001(3)0111 1100 —0111 1111 (4)—0101 0001+0111 0001答:(1)正溢出(2)负溢出(3)无溢出(4)无溢出第3章8086/8088微处理器及其系统3.2 8086 CPU有多少根数据线和地址线?它能寻址多少内存地址单元和I/O端口?8088CPU有多少根数据线和地址线?为什么要设计8088 CPU?答:8086 CPU有16根数据线和20根地址线,可以寻址1MB的内存地址单元和64KB 的I/O端口。
8088 CPU有16根数据线和20根地址线,但是8088的BIU通过总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与专用寄存器之间的数据总线宽度也是8位。
设计8088 CPU的目的是为了与Intel原有的8位外围接口芯片直接兼容。
3.6逻辑地址和物理地址有何区别?为什么8086微处理器要引入“段加偏移”的技术思想?段加偏移的基本含义又是什么?试举例说明。