Clase 17 y 18 - IO en Arquitectura x86 - Pontificia...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Pontificia Universidad Cat´olica de Chile Escuela de Ingenier´ ıa Departamento de Ciencia de la Computaci´on IIC2343 Arquitectura de Computadores Segundo Semestre 2010 Clase 17 y 18: I/O en arquitectura x86 c circlecopyrt Alejandro Echeverr´ ıa 1. Motivaci´on Las nocines habituales de I/O est´ an muy asociadas a los dispositivos que se conecta a los computadores personales. La arquitectura x86 es la predominante hasta el d´ ıa de hoy en los com- putadores personales, y por tanto es relevante analizar en profundidad como se realiza el manejo de I/O en esta arquitectura. 2. Comunicaci´on CPU-I/O-Memoria en la arquitectura x86 2.1. I/O b´ asico La arquitectura x86 soporta acceso a I/O tanto mediante mapeo a memoria, como con el uso de instrucciones especiales (Port I/O). En un comienzo, cuando los registros eran de tama˜nos peque˜nos, el uso de Memory Mapped I/O afectaba considerablemente en el espacion de memoria direccionable del computador, por lo que el uso de Port I/O era relevante. Con el aumento de tama˜no de los registros, este problema ha ido desapareciendo, tendiendo cada vez m´ as a ocuparse mapeo a memoria para acceder a los I/O en la arquitectura x86. 2.1.1. Port I/O Para utilizar Port I/O en la arquitectura x86, existe un espacio direccionable de 16 bits, per- mitiendo acceder a 65536 puertos, que van desde la direcci´ on 0000h hasta la FFFFh . Existen dos instrucciones especializadas para acceder a los puertos: IN y OUT . Ambas instrucciones trabajan con dos par´ ametros: el n´umero (direcci´ on) del puerto al cual se quiere acceder y el registro AX o AL , que se ocupar´ a para recibir o enviar datos al dispositivo. El formato de ambas instrucciones es el siguiente: IN Reg, Port donde Reg es AX o AL y Port es un n´umero que va desde 0 hasta 65535. OUT Port, Reg donde Reg es AX o AL y Port es un n´umero que va desde 0 hasta 65535. A continuaci´ on se muestra un ejemplo ocupando uno de los dipositivos I/O de prueba asociados al software emu8086, el cual simula el control de un robot. El controlador del robot tiene los siguientes registros: registro de comandos (asociado al puerto 9), registro de datos (asociado al 1 puerto 10) y registro de estado (asociado al puerto 11). Los detalles de los valores asociados a cada registros se encuentran en: http://www.itipacinotti.it/pagine/sistemi2008/documentation emulator/index.html #start=robot.exe# org 100h start: CALL waitcommand MOV AL, 1 ; move forward. OUT 9, AL ; CALL waitcommand MOV AL, 4 ; examine. OUT 9, AL ; CALL waitdata IN AL , 10 CMP AL, 0 JE start CALL TURN JMP start RET waitcommand: loop1: IN AL , 11 AND AL, 10b JNE loop1 RET waitdata: loop2: IN AL , 11 AND AL, 01b JE loop2 RET turn: CALL waitcommand MOV AL, 3 ; turn right....
View Full Document

This note was uploaded on 03/09/2011 for the course INGENIERIA 111 taught by Professor Jorgevera during the Spring '10 term at Pontificia Universidad Católica de Chile.

Page1 / 11

Clase 17 y 18 - IO en Arquitectura x86 - Pontificia...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online