福建师范大学网络继续教育《计算机原理与接口技术》期末试卷

更新时间:2024-05-19 17:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第1章 基础知识 1.1 进制变换

(153.375)10=(10011001.011)2=(231.3)8=(99.6)16; (369.5)10=(101110001.1)2=(561.4)8=(171.8)16 (10000000)2=(128)10=(200)8=(80)16

1.2 计算:

① 11110000B=( 360Q )8=( F0H )16 = (240D )10 ;

1111111111111111B=( 177777Q )8=( FFFFH )16 = (65535D )10 ② 32AH =( 1100101010)2=(1452)8 = (810)10 ; FFFEH =(1111111111111110)2=(177776)8 = (65534)10

1.5 真值与机器数(设系统为8 位字长)

⑴.已知补码求真值(有符十进制表示) ① 11110000B 真值=-16

② 00110110B 真值=+54 ⑵.已知真值求机器数 X=-28 [X]原=10011100 [X]补=11100100

1.6 下列各数为十六进制表示的8位二进制数,请说明当它们被看作是用补码表示的带符号数时,它们所表示的十进制数是什么? (1)59H (2)B2H (3)73H (4)F4H 答:(1)+89 (2)-78 (3) +115 (4) -12

第2章 基本电路

2.1 ALU是什么部件?其主要功能是什么?

答:ALU是算术逻辑单元,是进行算术和逻辑运算的部件,是运算器的基本电路。

2.3 N位地址的存储器其容量是多少?若某动态存储器芯片有行、列地址各12位,该芯片的存储单元数是多少?若系统中需组成一个256K字节的RAM,选用128K×4位的芯片,需要多少片?

答:容量=2N。行12位+列12位=地址共24位,容量=224=16M。 2.4 什么是总线?微型机采作总线结构有何好处?

答:各部件之间信息的公共通道。相对简单,成本低,具有良好的扩充性。

2.7 ROM和RAM使用上有何特点?比较DRAM和SRAM在速度、容量等方面的差异?

答:ROM只读存储器:断电信息不掉失,只读。RAM随机存取存储器,停电则失去记忆能力。

SRAM:静态RAM常用双极型晶体管触发器作为记忆元件 (也有用MOSFET的),只要有电源加于触发器,数据即可长期保留。 DRAM:动态RAM则用电容及MOSFET作为记忆元件。 由于电容会漏电,因而常需“刷新”,这就是要求每隔2ms充电一次, 为此还须另加一刷新电源。

第3章 微机基本工作原理

3.1 采用流水线的微处理器为何能提高指令的执行速率?

答:采用流水线的微处理是靠流水线各级的并行操作来提高执行指令的速率。如果按照指令的执行过程将CPU流水线功能单元划分成5级,即按照从内存取指→对指令译码分析→读取内存中操作数(指令需要操作数时)→执行指令→回写执行结果(必要时再次访问存储器)这样的步骤执行指令,采用一定的技术使每个步骤执行时间大致相等,能实现5级流水,这样流水线每个时钟周期可以执行一条指令, 将大大提高CPU的工作效率。 当然这样的细分是建立在硬件速度发展的基础上的,实际上,直到80486才真正实现了5级流水。

3.2 为何要在微机中引入CACHE技术?现代微型机中哪些地方使用了CACHE?什么叫命中?CACHE的作用是什么?CACHE主要靠什么使它能发挥作用的?

答:由于微处理器的工作速度快速发展,使得与微处理器连接的数据部件速度滞后于微处理器,还有象内存的速度也比外存快了很多。为减少慢速部件对快速部件性能的影响,引入CACHE。 现代微型机中主要在CPU与内存之间(如pentium中的L1/L2 CACHE)、 内存与外存之间(如硬盘/光驱中的CACHE)使用了CACHE。 如CPU要读取某内存单元的数据,而该单元的数据已经在CACHE中时为命中;如CPU与内存间CACHE的作用:提高了CPU访问内存的等效速率; CACHE主要靠①未命中时内存到CACHE间的数据块传送, 提高CACHE的命中率; ②命中时CPU与CACHE间的高速传送来使它能发挥作用的。

第4章 16位微处理器

4.1 从功能上,8086可以分为哪两个部分?这种逻辑划分对提高CPU的执行速度有什么意义?

答:从功能上看, 8086 CPU分为执行单元(EU)和总线接口单元(BIU)两部分。BIU为EU完 成全部的总线操作,根据EU的命令控制数据在CPU和存储器或I/O接口之间传送。BIU由下面的五种功能单元组成:

(1) 段寄存器(均为16位)CS: 代码段寄存器, 存放程序段地址;DS:数据段寄存器,存放数据段地址;ES:扩展段寄存器,存放辅助数据段地址;SS:堆栈段寄存器,存放堆栈段地址。

(2) 指令指针寄存器 (16位) IP寄存器用于存放程序段的偏移量。

(3) 地址加法器(20位)地址加法器用于根据逻辑地址计算20位物理地址。 (4) 6字节的指令队列:指令队列可存放多条指令, 用于指令预取。

(5) I/O控制电路实现I/O的控制逻辑,产生相应的控制信号。执行单元EU从BIU的指令队列得到指令以后, 完成对指令的译码、执行并回写结果。当EU需要操作数时,便申请BIU访问存储器并向BIU提供段偏移地址。此外它还具有管理寄存器等功能。 EU由以下单元组成:

(1) 通用寄存器(16位)AX:用作累加器;BX:一般用作基址寄存器;CX:常常作为计数器;DX:多用作辅助累加器AX、BX、CX和DX都是16位寄存器,可是它们都可以分别作为2个8位寄存器使用。

(2) 专用寄存器(16位)BP:基数指针寄存器;SP:堆栈指针寄存器;SI:源变址寄存器;DI:目的变址寄存器。

(3) 标志寄存器Flag(16位)。 (4) 算术逻辑单元ALU。

执行单元的控制电路EU和BIU协同工作, 形成指令级的流水线。EU总是从指令队列的队首得到指令。 BIU在EU执行指令的同时,不断从存储器顺序读取一条或多条指令,陆续将指令队列添满。这样,EU就可以连续执行指令,实现指令级的流水作业, 大大提高了CPU的工作效率。

4.6 段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?如果在一个程序开始执行以前(CS)=0A7F0H(当十六进制数的最高位为字母,则应在其前加一个0),(IP)=2B40H,试问该程序的第一个字的物理地址是多少?

答:3017:000A的存储单元物理地址是3017AH,3015:002A的存储单元物理地址是3017AH, 3010:007A的存储单元的物理地址是3017AH。该程序的第一个字的物理地址是0AAA40H。

4.9 中断类型为208的中断向量放在哪几个内存单元?如果它的中断处理程序入口地址是4030:2010,那么这些内存单元的内容是什么? 答:类型号为208的中断所对应的中断向量存放在0000:0340H开始的4字节单元中,0340H是由4×208=832(340H)得到的。在中断向量表里,每个中断向量占4个字节单元。 其中,前两个字节存放中断处理程序入口地址的偏移量IP, 低位在前,高位在后。后2个字节存放中断处理程序入口地址的段地址CS,同样也是低位在前,高位在后。因此0340H、0341H、0342H、 0343H这4个字节中的值分别为10H、20H、30H、40H。

4.15 保存当前栈顶地址的寄存器:(D) A.SI B.DI C.BP D.SP

4.16 INT 29H中断的中断向量所在的向量表单元地址是:(D) A.0:0029H B.CS:0029H C.0:0164H D.0:00A4H 4.17指出下一条将要执行的指令地址的是:(D) A.标号 B.SP C.伪指令 D.IP 4.18指出指令操作结果的标志是:(D)

A.IP B.SP C.ALU D.状态标志 4.19逻辑段的起始地址称为:(A)

A.段地址 B.代码段 C.附加段 D.标号 4.20存放指令的存储区是:(B)

A.堆栈 B.代码段 C.附加段 D.变量 4.21进行算术和逻辑运算的单元是:(C)

A.代码段 B.数据段 C.ALU D.BIU 4.22 8086CPU的可屏蔽中断请求引脚信号是:(B) A.NMI B.INTR C.INTA D.LOCK

4.23 CPU和主存之间的高速缓存Cache的主要作用是:(D) A.提高CPU的工作速率 B.扩大主存容量

C.提高CPU访问外存的速度 D.提高CPU访问主存的等效速 4.24各逻辑段的起始地址保存在( A )寄存器中。

A.段寄存器 B. 通用寄存器 C.指针寄存器 D. 数据寄存器

4.25 8086CPU引脚信号:DEN#=0,DT/R#=1表示数据总路线上的数据的流向是:(A) A. CPU向其它器件 B.其它器件向CPU C.总线高阻 D.存储器向端口 4.26 86CPU引脚信号ALE=1时的操作是:(C)

A.总线收发器断 B.总线收发器接收 C.地址锁存器输入 D. 8288工作

4.27 计算机中用来存储程序、数据等信息的记忆装置是:(D) A.控制器 B. 运算器 C. CPU D.存储器 4.28在计算机中,按先进后出方式工作的存储空间是:(D) A.存储器 B.RAM C.ROM D. 堆栈 4.29 8086最大工作模式是设置引脚为:(D)

A.NMI=1 B.INTR=1 C.MN/MX#=1 D.MN/MX#=0 4.30 8086CPU提供ALE信号的是因为:(C)

A.地址要驱动 B.数据要驱动 C.地址与数据引脚总线复用 D.有20位地址

第5章 86系列微机指令系统

5.1 在实模式下,存储器中每一段最多可有64KB个字节。如果用调试程序Debug的r命令在终端上显示出当前各寄存器的内容如下,请问①当前的栈顶(逻辑)地址?②当前的指令(逻辑)地址?若使用串指令,③问源串(逻辑)首地址?④的串(逻辑)首地址?⑤目串长度(字节)?以及条件标志OF、SF、ZF、CF的值。 C>debug -r

AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0010 DI=0300 DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC

答 :条件标志 OF、SF、ZF、CF的值依次分别为0、0、0、0.

5.7 如TABLE为数据段中5432H字单元地址的符号名,其中存放的内容为4567H,试问以下两条指令执行完后,AX寄存器的内容是什么? (1) MOV AX, TABLE (2) LEA AX, TABLE

答:AX=4567H

AX=5432H

5.11 试编写一个程序求出双字长数的绝对值。双字长数在A和A+2单元中,结果存放在B和B+2单元中。 答:

设A=12345678H,存储 (A)=78H,(A+1)=56H, (A+2) =34H,(A+3) =12H MOV AX, A MOV DX,A+2 TEST DX,800H JZ SRE

NEG DX NEG AX

SBB DX, 0 SRE: MOV B, DX MOV B+2, DX

5.14试分析下面的程序段完成什么功能?

MOV CL, 04 SHL DX, CL MOV BL, AH SHL AX, CL SHR BL, CL OR DL, BL

下面的程序段完成什么功能?

MOV CX,4 KK:SHL AX,1

RCL DX,1 LOOP KK

答:把(DX)(AX)中的双子左移四位(乘以16)。

第6章 微机程序设计 6.6现有下列程序段:

MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL

试问上述程序段运行后,

AX= 5400H 。 BL= 06H 。 DX= 2106H 。 6.7.分析下面程序段:

MOV AL,200 SAR AL ,l MOV BL,AL MOV CL ,2 SAR AL ,CL ADD AL ,BL

试问程序段执行后AL= 11011101B=DDH= -35 , BL= 11100100B=E4H= -28 。

6.8 编写一程序段,将AL中的第7和0位,第6和1位,第5和2位,第4和3位互换。 答:

XOR BL, BL MOV CX,,8 AG: SHL AL ,1 RCR BL, 1

LOOP AG MOV AL,BL

6.10 在2600H开始的数据区有6个单字节有符号数,找出其中的最大数据存入2700H单元。

答:

MOV SI, 2600H MOV AL, [SI] MOV CX, 6-1 LP:INC SI

CMP AL, [SI] JGE NEXT MOV AL, [SI] LOOP LP RET

第7章 汇编语言程序设计 7.5程序段如下: BB DB 84,73, 34, 20,-5,122,46 ?

MOV CX,7 LEA DI,BB NEXT:MOV AL,[DI] INC DI

TEST AL,80H LOOPZ NEXT MOV BL,[DI] ? 请回答程序段运行后:AL= -5,BL=122 。

7.6 STRING1 DB ‘ABC’

STRING2 DB ‘DEFGHI’ …

MOV AH,01;从键盘输入一个1 ~ 9之间的字符 INT 21H

AND AL,0FH SUB AL,4 XOR AH,AH

MOV BX,OFFSET STRING2 ADD BX,AX MOV DL,[BX]

MOV AH,02H ;显示输出

INT 21H ?

试回答:(1) 如从键盘输人字符‘3’,程序段有什么结果? 答:显示‘C’

(2)如从键盘输人字符‘7’,程序段有什么结果? 答:显示‘G’

7.8编一程序程序段,功能是把数0 ~ 9(BCD码)转换为相应的ASCII码,存在ASCI数据区中。

BCDM DB 09H, 05H,06H, 02H,08H,0,03HF, 01H, 07H,04H CUNT=$—BCDM ASCI DB CUNT DUP ( ? )

答:DATA SEGMENT

BCDM DB 09H,05H,06H,02H,08H,0,03HF,01H,07H,04H CUNT=$-BCDM

ASCI DB CUNT DUP ( ? ) DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA MAIN PROC FAR MOV AX,DATA MOV DS,AX LEA SI,BCDM LEA DI,ASCI MOV CX,CUNT LP:MOV AL,[SI] OR AL,30H MOV [DI],AL INC SI INC DI LOOP LP

MOV AX,4C00H INT 21H MAIN ENDP CODE ENDS END MAIN

7.9在STR单元开始定义了一长度为LEN字节的字符串,统计出其中大写字母的个数并存放到LARGE字节单元中。请编一完整的源程序。数据段如下: DATA SEGMENT

STR DB ‘… …’ LEN EQU $- STR LARGE DB ? DATA ENDS .答:DATA SEGMENT

STR DB‘? ?’ LEN EQU $-STR LARGE DB ? DATA ENDS CD EGMENT

ASSUME CS:CD,DS:DATA LARG PROC FAR

MOV AX,DATA

MOV DS,AX LEA SI,STR MOV CX,LEN MOV BL,0

NT:CMP BYTE PTR [SI],‘A’

JB NOLARG CMP BYTE PTR [SI],‘Z’

JA NOLARG INC BL NOLARG:INC SI

LOOP NT

第8章 输入与输出接口

8.4 哪2个8255引脚完成内部I/O端口地址选择?

.答:地址信号A1、A0用于I/O端口地址选择。 通过A1、A0所组合的地址来区分8255A内部A、B、C三个数据端口和一个控制端口的地址。

8.7写出在选通输出操作期间将8255的PC5引脚置为逻辑1的程序(设8255的控制口的地址为083H)。

答: 设8255的控制口的地址为083H,则将8255的PC5引脚置为逻辑1的程序片断 如下:

MOV AL,BFH MOV DX,083H OUT DX,AL MOV AL,0FH OUT DX,AL

8.12什么是波特率?

答:波特率即传输率,就是在通信过程中每秒传输串型数据的位数。

8.13解释下列术语:单工、半双工和全双工

答:单工:接收和发送器之间只有一组传输线连接,只单个方向传送数据。

半双工:收发双方均有收、 发器, 双方之间只有一组传输线连接,双方的发送和接收数据不能同时进行,但可以分时交替进行。通过软件和接口的协调控制,实现数据传输的方向转换。

全双工:收发双方均有收、发器,双方之间有两组传输线连接,分别承担两个不同方向的数据传送,发送数据和接收数据可以同时进行。 8.15如图,

用8255A作接口,CS#由IO地址80H选通,PA0—PA7输出经同相放大器接8个发光二

级管T0—T7;PC0输入开关K的状态。编程实现:当K=1时,8个发光二级管全暗;K=0期间,8个发光二级管可按T0→T1→T2??→T7→T0顺序循环点亮500MS(设有现成延时100MS的子程序D100MS可供调用).

答: 设8255的A1A0分别接系统地址线的A2A1引脚,则PA、PB、PC和控制端口地 址分别为:80H,82H,84H和86H。

MOV AX,10001011B ;设置PA口0方式,输出,PC口输入 OUT 86H,AL

MOV AL,0FFH ;关显示 OUT 80H,AL

AGAIN:IN AL,82H TEST AL,01H JZ LIGHT

MOV AL,0FFH ;关显示 OUT 80H,AL JMP AGAIN

LIGHT:MOV BL,8 ;循环点亮T0~T7 MOV AL,0FEH

NEXT:OUT 80H,AL MOV CX,5

DELAY:CALL D100MS LOOP DELAY ROL AL,1 DEC BL JNZ NEXT JMP AGAIN

第9章 中断、计时/定时、DMA控制器

9.1 微机系统中,控制数据传输的方式有哪些,各有什么优缺点?

答:微处理器和外部设备数据传送的控制方式有三种,即程序控制下的传送方式(PIO)、中断方式与直接存储器访问方式(DMA)。程序控制下的传送方式的实现相对简单,但不足之处在于对外设状态的测试占用了CPU过多的时间。 和程序查询方式相比,中断方式的效率有较大提高,但中断须经请求与响应过程,响应后内存与外设之间的数据要由CPU执行相关程序、经CPU(寄存器)中转传送,仍然需要花费比较多的时间。 直接存储器存取(DMA)的控制方式克服了中断与程序查询方法的弊端,整个控制数据块传送的过程,包括地址(增量)调整、循环计数器(减量)调整的操作,都是由硬件控制完成的,因而大大缩短了数据传送的控制时间。但DMA的硬件实现复杂,成本高。

9.2 中断应答周期,CPU完成哪些操作?

答:在中断应答周期,CPU主要完成如下操作: 取中断类型码,寻址中断程序入口 地址,标志寄存器入堆栈,CS和IP入堆栈,清除IF和TF标志,进入中断处理程序。

9.8 简述ICW和OCW的重要,怎样对8259A进行初始化?

答:8259A 是通过编程初始化命令字和操作命令字来选择定义各种工作方式的。初始

化命令字ICW在8259A工作之前定义, 它规定了8259A的基本操作。操作命令字OCW在正常操作过程中定义,它控制8259A的操作。

系统上电以后,8259A必须写入ICW1、ICW2和ICW4, 如果ICW1将8259A编程为级联方式,那么还必须编程ICW3。其中ICW1定义了8259A的基本操作;ICW2用来编程8259A中断请求的类型号; 当系统工作于级联方式时,ICW3表示从片8259A连接到主片8259A的的哪一个中断请求线上;在基于8086~Pentium系列微处理器的系统当中, 需要编程8259A的ICW4。

9.9 什么是普通EOI,什么是特殊EOI,它们的作用是什么?

答:普通EOI是靠CPU在中断服务程序中向8259A发送的EOI命令,用来清除当前 处于服务中优先级最高的ISR位的。 普通结束中断方式用于全嵌套方式。 特殊EOI是通过CPU发送特殊的EOI命令, 命令指出了要清除的是正在服务的哪一个ISR位。特殊结束主要用于非全嵌套方式。

9.15 8237有哪几种数据传送方式?各种方式的特点是什么?

答:单字节传送、块传送、随机请求传送三种方式。单字节传送方式每次传送完一个

字节,并释放总线至少一个总线周期。然后,继续测试外部设备的DMA请求,如果外设发 出的DREQ有效,8237A循环上述过程,控制下一个字节的传送,直至传送字节计数器减为零。

块传送是DMA的一种典型传送方式,在8237A控制器获得总线权以后,控制数据一个字节、一个字节地传送,直至数据块传送完毕。

随机请求传送综合了块传送和单字节传送的特点。每传送完一个字节,8237A就测试DREQ的状态, 如果DREQ为有效状态,则继续进行DMA传送,直至字节计数器为0。 如果DREO为无效状态,8237A便释放总线,并继续测试DREQ的状态, 只有在DREQ回到有效状态后,8237A才继续控制数据传送。

9.18如果8253某计数器的计数初值为400H,时钟频率为2MHz,求定时时间(微秒)。

答:定时时间T=400H÷2MHz=1024÷2MHz=512μs

9.20用8253作为某数据采集系统的定时器,每隔10ms用中断方式采集一次数据,已知输入时钟频率为10kHz,8259端口地址为20—21H,中断类型号为13H,8253端口地址为40~43H,请为8259和8253编制初始化程序。

答:8253选通道1以方式2定时,时间初值N=10KHz×10ms=100。 8259由于中 断类型号为13H,所以只能通过IR3,初始人为完全嵌套、边沿触发、非缓冲、非自动结束: ;8253初始化:

MOV AL,01110100B OUT 46H,AL

MOV AX,100 OUT 42HAL MOV AL,AH OUT 42H,AL ;8259初始化:

MOV AL,00010011B定 ;ICW1 OUT 20H,AL

MOV AL,13H ;ICW2 OUT 22H,AL

MOV AL,01H ;ICW4 OUT 22H,AL

IN AL,22H ;读原屏蔽字

AND AL,11111011B ;允许IR3中断 OUT 22H,AL

本文来源:https://www.bwwdw.com/article/gij7.html

Top