当前位置:文档之家› 微机原理作业答案

微机原理作业答案

《微机原理》作业答案第一章1.2.什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内地址)组成。

段基址表示一个段的起始地址的高16位。

偏移地址表示段内的一个单元距离段开始位置的距离。

访问存储器的实际地址称为物理地址,用20位二进制表示。

将两个16位二进制表示的逻辑地址错位相加,可以得到20位的物理地址:物理地址=段基址×16 + 偏移地址1.5. 按照传输方向和电气特性划分,CPU引脚信号有几种类型?各适用于什么场合?CPU引脚传输的信号按照传输方向划分,有以下几种类型:输出:信号从CPU向外部传送;输入:信号从外部送入CPU;双向:信号有时从外部送入CPU,有时从CPU向外部传送。

双向信号主要用于数据信号的传输;输出信号用于传输地址信号和一些控制信号;输入信号主要用于传输外部的状态信号(例如READY)和请求(中断、DMA)信号。

三态信号:除了高电平、低电平两种状态之外,CPU内部还可以通过一个大的电阻阻断内外信号的传送,CPU内部的状态与外部相互隔离,也称为“悬浮态”。

CPU放弃总线控制权,允许其他设备使用总线时,将相关信号置为“悬浮态”。

1.9. 什么是时钟周期、总线周期、指令周期?它们的时间长短取决于哪些因素?时钟周期:CPU连接的系统主时钟CLK一个周期的时间。

CLK信号频率越高,时钟周期越短。

总线周期:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程称为总线周期。

8086CPU总线周期一般由四个时钟周期组成,存储器/IO设备(接口)速度不能满足CPU要求时,可以增加一个或多个时钟周期。

指令周期:CPU执行一条指令的时间(包括取指令和执行该指令所需的全部时间)称为指令周期。

指令周期的时间主要取决于主时钟的频率和指令的复杂程度,它也受到存储器或IO设备接口工作速度的影响。

10. 在一次最小模式总线读周期中,8086CPU先后发出了哪些信号?各有什么用处?T1状态:指出CPU是从内存(1)还是从IO端口(0)读取数据。

随后CPU从地址/状态复用线(A19/S6~A16/S3)和地址/数据复用线(AD15~AD0)上发出读取存储器的20位地址,对IO端口访问时从AD15~AD0上发出16位地址。

为了锁存地址,CPU在T1状态从ALE引脚输出一个正脉冲作为地址锁存信号。

如果需要读取高8位数据线上的数据(奇地址/读取一个字),= 0。

为了控制总线收发器8286数据传输方向,= 0。

T2状态:读信号开始变为低电平(有效),=0,用来开放总线收发器8286。

T3状态: CPU检测READY引脚信号。

若READY为高电平(有效),表示存储器或I/O端口已经准备好数据,进入T4状态;若READY为低电平(无效),表示存储器或I/O1EH30H41H42H43H0FFH00H0CAH0FFH00H0FEH0FFH44H43H 0020H002EH X Y端口尚未准备好数据,插入一个或多个TW状态,直到READY变为高电平。

T4状态:在T3(TW)和T4状态交界的下降沿处,CPU对数据总线上的数据进行采样,完成读取数据的操作。

第二章2.3. 已知一个SRAM芯片的容量为8K×8b,该芯片有一个片选信号引脚和一个读/写控制引脚,问该芯片至少有多少个引脚?地址线多少条?数据线多少条?根据存储芯片地址线数量计算公式,k=log2(1024*8)= log2(213)=13,即总计有13根地址线。

另有8根数据线、2根电源线。

所以该芯片至少有25(=13+8+1+1+2)根引脚。

第三章3.3. 用8位补码完成下列运算,用二进制“真值”的格式给出运算结果,并指出运算后CF、OF、ZF、SF、PF标志位的状态。

(2)126-127解:(2)126-127[126]补=0111 1110,[-127]补=1000 0001,[126-127]补=1111 1111,[126-127]=-000 0001COZSP=100113.5某数据段内有如下数据定义:X db 30, 30H, ‘ABC’, 2-3, ?, 11001010Bdw 0FFH,-2, “CD”Y dd 20 dup(15, 3 dup(?), 0)Z db 3 dup(?)W dw Z-X假设变量X的偏移地址为20H。

(1)写出变量X各数据在内存中的具体位置和相关内存单元的值。

(2)写出变量Y,Z的偏移地址。

(3)写出变量W的值答:(1)变量X各数据在内存中的具体位置和相关内存单元的值如右图。

变量Y的偏移地址为002EH;变量Z的偏移地址为002EH+4×5×20=01BEH变量W的值等于变量Z和X偏移地址之差01BEH-0020H=019EH它等于变量X、Y所占用内存单元的字节数。

3.9. 下面两条指令的功能有什么区别?MOV AX, BXMOV AX, [BX]答:指令“MOV AX, BX”把BX寄存器的内容装入到AX中。

指令“MOV AX, [BX]”把内存储器一个字的内容装入AX寄存器。

该字的段基址在DS中,偏移地址在BX中。

3.13. 编写循环结构程序,进行下列计算,结果存入RESULT内存单元(1)1+2+3+4+5+6+ ……+100解:(1)CODE SEGMENTASSUME CS: CODERESULT DW ?START:XOR AX, AXMOV CX, 100AGAIN: ADD AX, CXLOOP AGAINMOV RESULT, AXMOV AX, 4C00HINT 21HCODE ENDSEND START 另解:DATA SEGMENTRESULT DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,100MOV BX,1MOV AX,0ONE: ADD AX,BXINC BXLOOP ONEMOV RESULT,AXMOV AX,4C00HINT 21HCODE ENDSEND START3.15. 变量X, Y, Z均为一字节压缩BCD码表示的十进制数,写出指令序列,求它们的和(用2字节压缩BCD码表示)。

解:DATA SEGMENTX DB 45HY DB 67HZ DB 89HSUM DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATAMOV DS,AXMOV AH,0MOV AL,XADD AL,YDAAADC AH,0ADD AL,ZDAAADC AH,0MOV SUM,AXMOV AX,4C00HINT 21H CODE ENDSEND START4.3. 指令“JMP DI”和“JMP WORD PTR [DI]”作用有什么不同?请说明。

答:上述两条指令都是段内近转移指令,但是偏移地址的来源不同。

指令“JMP DI”执行时,新的偏移地址在DI寄存器内,“JMP WORD PTR [DI]”时,目的偏移地址在存储单元中,该存储单元的地址在DS: DI中。

4.4. 已知(AX)= 836BH,X分别取下列值,执行“CMP AX, X”后,标志位ZF、CF、OF、SF各是什么?(1)X=3000H答:上述指令执行后,标志位ZF、CF、OF、SF 的状态分别是:(1)ZCOS=00104.5. 已知(AX)= 836BH,X分别取下列值,执行“TEST AX, X”后,标志位ZF、CF、OF、SF各是什么?(1)X=0001H答:上述指令执行后,标志位ZF、CF、OF、SF 的状态分别是:(1)ZCOS=00004.8编写指令序列,将AX和BX中较大的绝对值存入AX,较小的绝对值存入BX。

答:CMP AX, 0JGE SKIP1NEG AXSKIP1: CMP BX, 0JGE SKIP2NEG BXSKIP2: CMP AX, BXJGE SKIP3XCHG AX, BXSKIP3: MOV AX,4C00HINT 21H4.9编写指令序列,比较AX、BX中的数的绝对值,绝对值较大的数存入AX,绝对值较小的数存入BX。

答:PUSH AXPUSH BXCMP AX, 0JGE SKIP1NEG AX SKIP1: CMP BX, 0JGE SKIP2NEG BX SKIP2: CMP AX, BXPOP BXPOP AXJGE SKIP3XCHG AX, BX SKIP3: MOV AX,4C00HINT 21H5.3 I/O端口的编址有哪几种方法?各有什么利弊?80X86系列CPU采用哪种方法?I/O端口的编址有两种不同的方式。

I/O端口与内存统一编址:把内存的一部分地址分配给I/O端口,一个8位端口占用一个内存单元地址。

已经用于I/O端口的地址,存储器不能再使用。

I/O端口与内存统一编址后,访问内存储器单元和I/O端口使用相同的指令,这有助于降低CPU电路的复杂性,并给使用者提供方便。

但是,I/O端口占用内存地址,相对减少了内存可用范围。

而且,由于难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性。

I/O端口与内存独立编址:这种编址方法中,内存储器和I/O端口各自有自己独立的地址空间。

访问I/O端口需要专门的I/O指令。

80x86 CPU采用I/O端口独立编址方式。

5.6外部设备数据传送有哪几种控制方式?从外部设备的角度,比较不同方式对外部设备的响应速度。

外部设备数据传送有以下四种控制方式。

直接传送方式(也称为无条件传送方式、同步传送方式):这种情况下,外部端口完全被动地等待CPU的访问,没有确定的响应速度,响应时间取决于CPU忙碌的程度以及程序对外部设备控制采取的策略。

查询方式:如果CPU在某一时刻只对一个外设采用查询方式进行数据传输,CPU的响应延迟约为3~10个指令周期。

响应速度快于中断方式,慢于DMA方式。

中断方式:CPU的响应延迟平均为几十个指令周期,慢于查询方式,但是这种方式可以同时管理多个外部设备。

DMA方式:外部端口的传输请求由DMA控制器响应,由于DMAC是一个专用于传输控制的电路,任务单一,不发生DMA传输竞争时,响应延迟仅为1~2个DMAC使用的时钟周期,远快于中断方式和查询方式。

第六章6.3有哪几种确定中断优先级的方法?说明每一种方法各自的优劣之处。

确定中断优先权有四种可选的方法。

(1) 软件查询法:采用程序查询的方法确定中断服务的顺序。

这种方法中断逻辑最简单(基本上不需要外部中断逻辑),优先级可以灵活设置,但中断响应所需时间最长。

相关主题