剑圣能打到什么段位:I/O编址与访问
来源:百度文库 编辑:中财网 时间:2024/05/08 07:50:55
一. I/O端口
1. I/O接口:CPU与I/O设备间的硬件连接和软件控制的总称。
I/O端口:指接口电路中能被CPU直接访问的寄存器。
2. I/O端口地址:对接口中寄存器(端口)的编码。
1)一个接口可以有多个端口,如数据口、状态口、控制口等,又称数据寄存器、状态寄存器、控制(命令)寄存器。
2)对于端口的操作,端口可以只读、只写或可读可写。
3)端口地址的个数与接口中寄存器的个数不一定相等。可以一个寄存器拥有一个端口地址,也可以若干个寄存器拥有一个端口地址。
4)一个端口可以写入或读出多种信息。例如,写入某端口时,是命令字,而读出该端口时,读出的是状态。也可以在写入时,以某些特征位不同而区分出写入的是什么信息。
5)接口中的命令口、状态口和数据口均为I/O端口。
3. I/O操作:指对I/O端口的操作,即所谓CPU访问I/O设备,是指CPU访问I/O接口中的寄存器即端口。
CPU通过I/O端口地址区分不同的接口。
二. I/O端口编址方法
1.I/O统一编址
这种编址的出发点是把每一个端口视为一个存储单元,并赋予相应的存储器地址。
优点:
1)指令系统中不设置专用的I/O指令,用功能很强的访存指令来访问I/O端口,通过地址来区分访问的是存储器还是I/O端口。
2)外设数目或I/O寄存器数几乎不受限制。
3)微机的读写控制逻辑较为简单。
缺点:
1)I/O端口占用部分主存空间,可用主存空间减小;
2)访存指令较长,执行速度较慢;
3)I/O端口地址译码电路复杂,译码时间较长。
2.I/O独立编址
这种编址方式是将I/O端口单独编址而不是和存储空间合在一起。处理器对I/O端口和存储器的不同寻址是通过不同的读/写控制信号MEMR#,MEMW#来实现的。采用这种编址方式,CPU访问I/O端口必须采专专用I/O指令,所以也叫专用I/O指令方式。
优点:
1)I/O端口地址不占用存储器地址空间;
2)I/O端口数量不多,占用地址线少,地址译码简单,速度较快;
3)使用专用I/O命令(IN/OUT),指令短,执行速度快,可读性强。
缺点:
1)专用I/O指令增加指令系统复杂性,且I/O指令类型少,程序设计灵活性较差;
2)要求处理器提供MEMR/MEMW和IOR/IOW两组控制信号,增加了控制逻辑的复杂性。
三. PC系列微机I/O端口访问
1. I/O端口地址空间
I/O端口地址空间:64K(A0-A15)个8位端口空间。
I/O端口地址信号:由地址线信号和IOW/IOR信号线组成。
2. I/O端口地址寻址方式
I/O端口支持直接寻址和间接寻址方式。
OUT 60H,AL;直接寻址,端口地址为8 位(0~255)
IN AL,21H
OUT DX,34H;间接寻址,端口地址为16 位(0~65535)
IN AX,DX ;端口为16位的数据
3. I/O端口与累加器间I/O指令
格式:IN、OUT。
4. I/O端口与存储器间I/O指令
格式:INSB(W、D)、OUTSB(W、D)。
参数:用DX指定I/O端口地址,输入/输出时的目的/源RAM地址用ES:DI(EDI)/DS:SI(ESI)指定。
结果:通过前缀REP连续传送。
例:
MOV DX,Port
LES DI,Buffer_in
INSB;将DX所指向的端口地址内的数据输入到由ES: DI所指向的内存单元,传送一个8位的数据
INSW;同上,传送一个16位的数据
例:
MOV DX,Port
LDS SI,Buffer_out
OUTSB;将由DS:SI所指向的内存单元内的数据输出到DX所指向的端口地址,传送一个8位的数据
OUTSW;同上,传送一个16位的数据
5. I/O端口与存储器端口访问的区别
命令类型:IN/OUT与MOV
控制信号线:IOW/IOR与MEMW/MEMR
地址信号线:A0-A15与A0-A31
四. IA-32的I/O保护
1. I/O接口:CPU与I/O设备间的硬件连接和软件控制的总称。
I/O端口:指接口电路中能被CPU直接访问的寄存器。
2. I/O端口地址:对接口中寄存器(端口)的编码。
1)一个接口可以有多个端口,如数据口、状态口、控制口等,又称数据寄存器、状态寄存器、控制(命令)寄存器。
2)对于端口的操作,端口可以只读、只写或可读可写。
3)端口地址的个数与接口中寄存器的个数不一定相等。可以一个寄存器拥有一个端口地址,也可以若干个寄存器拥有一个端口地址。
4)一个端口可以写入或读出多种信息。例如,写入某端口时,是命令字,而读出该端口时,读出的是状态。也可以在写入时,以某些特征位不同而区分出写入的是什么信息。
5)接口中的命令口、状态口和数据口均为I/O端口。
3. I/O操作:指对I/O端口的操作,即所谓CPU访问I/O设备,是指CPU访问I/O接口中的寄存器即端口。
CPU通过I/O端口地址区分不同的接口。
二. I/O端口编址方法
1.I/O统一编址
这种编址的出发点是把每一个端口视为一个存储单元,并赋予相应的存储器地址。
优点:
1)指令系统中不设置专用的I/O指令,用功能很强的访存指令来访问I/O端口,通过地址来区分访问的是存储器还是I/O端口。
2)外设数目或I/O寄存器数几乎不受限制。
3)微机的读写控制逻辑较为简单。
缺点:
1)I/O端口占用部分主存空间,可用主存空间减小;
2)访存指令较长,执行速度较慢;
3)I/O端口地址译码电路复杂,译码时间较长。
2.I/O独立编址
这种编址方式是将I/O端口单独编址而不是和存储空间合在一起。处理器对I/O端口和存储器的不同寻址是通过不同的读/写控制信号MEMR#,MEMW#来实现的。采用这种编址方式,CPU访问I/O端口必须采专专用I/O指令,所以也叫专用I/O指令方式。
优点:
1)I/O端口地址不占用存储器地址空间;
2)I/O端口数量不多,占用地址线少,地址译码简单,速度较快;
3)使用专用I/O命令(IN/OUT),指令短,执行速度快,可读性强。
缺点:
1)专用I/O指令增加指令系统复杂性,且I/O指令类型少,程序设计灵活性较差;
2)要求处理器提供MEMR/MEMW和IOR/IOW两组控制信号,增加了控制逻辑的复杂性。
三. PC系列微机I/O端口访问
1. I/O端口地址空间
I/O端口地址空间:64K(A0-A15)个8位端口空间。
I/O端口地址信号:由地址线信号和IOW/IOR信号线组成。
2. I/O端口地址寻址方式
I/O端口支持直接寻址和间接寻址方式。
OUT 60H,AL;直接寻址,端口地址为8 位(0~255)
IN AL,21H
OUT DX,34H;间接寻址,端口地址为16 位(0~65535)
IN AX,DX ;端口为16位的数据
3. I/O端口与累加器间I/O指令
格式:IN、OUT。
4. I/O端口与存储器间I/O指令
格式:INSB(W、D)、OUTSB(W、D)。
参数:用DX指定I/O端口地址,输入/输出时的目的/源RAM地址用ES:DI(EDI)/DS:SI(ESI)指定。
结果:通过前缀REP连续传送。
例:
MOV DX,Port
LES DI,Buffer_in
INSB;将DX所指向的端口地址内的数据输入到由ES: DI所指向的内存单元,传送一个8位的数据
INSW;同上,传送一个16位的数据
例:
MOV DX,Port
LDS SI,Buffer_out
OUTSB;将由DS:SI所指向的内存单元内的数据输出到DX所指向的端口地址,传送一个8位的数据
OUTSW;同上,传送一个16位的数据
5. I/O端口与存储器端口访问的区别
命令类型:IN/OUT与MOV
控制信号线:IOW/IOR与MEMW/MEMR
地址信号线:A0-A15与A0-A31
四. IA-32的I/O保护
I/O保护在保护模式下有效,在实地址模式下无效。
1. I/O特权级IOPL保护
保护通过比较当前任务的特权级CPL和标志寄存器的IOPL字段实现的。
即:若CPL≤IOPL,可执行IN、OUT、INS、OUTS、CLI、STI等敏感指令(对IOPL敏感);否则不行。
每个任务都有自己的IOPL,0级特权的过程可通过POPF和IRET指令修改任务的IOPL。
2. I/O允许位映象保护
I/O允许位映象用来修正IOPL对I/O敏感指令的影响,允许低特权的程序访问某些I/O端口。
(1)I/O允许位映象是一个位向量,每位对应一个端口的操作权限(0表示允许)。
(2)在保护模式下,当CPU遇到一条对I/O敏感指令时,它首先检测CPL ≤ IOPL是否成立,若成立,则可以执行I/O操作,否则CPU检查该端口的I/O允许位映象:为0可以执行I/O操作,否则不行。
(3)在V86模式下,当CPU遇到一条I/O指令时, CPU检查I/O允许位映象,而不考虑IOPL。
(4)操作系统可通过改变任务TSS中的I/O允许映象来为某任务分配端口。
1. 简述I/O端口与存储器统一编址和单独编址各自有什么优缺点。
I.O.I.O..
CPU可以直接访问I/O设备么?
i.o.i.o.是什么意思?
什么是I.O.I.O?
I/O与CPU、存储器的关系
cpu的控制器怎么进行内存访问,协调I/O等指令操作的啊。
进入系统后,访问D、E分驱时,显示I/O 错误
无发访问G盘 由于I/O设备错误怎么办?
硬盘不能访问(120G),提示I/O错误,函数不正确。
有关unix系统编程中,怎么样提高I/O的访问效率??
i.o.i.o的英语版伴奏
微机与并行打印机连接信号线应接在计算机的_上。A并行I/O接口B串行I/O接口C扩展I/O接口D二串一并I/O接口
I/O是什么
I/O是什么意思?
I/O 设备
I/O错误。
什么是I/O
I/O error131
PCI 的I/O 读、写操作,与LPC 和 南桥,北桥的I/O 读、写操作有什么区别和联系????
用高级语言编程时如何与I/O设备打交道
CPU与I/O设备间传送的信号是什么?
电脑与MP3问题,一操作系统就提示“出现I/O错误”
【难住三个大学生的题】单片机I/O接口与哪个寄存器相连?