Interrupciones.docx
-
Upload
lino-rusky-mena -
Category
Documents
-
view
12 -
download
1
Transcript of Interrupciones.docx
![Page 1: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/1.jpg)
INDICE.
Introducción 3
Concepto de Interrupciones 4
Interrupciones por Software 5 Interrupciones por Hardware 6 Conflictos por Hardware 8 Interrupciones Enmascarables 9 Interrupciones No Enmascarables 11
Llamadas a Servicios del Sistema 12
Modos de Direccionamiento 14
De desplazamiento 17 De pila
17 Respecto a un registro base 17 Respecto a un registro índice 18 Respecto al contador de programa 18 Indexado con autoincremento/autodecremento 18 Instrucción de salto con direccionamiento absoluto 19 Instrucción de salto con direccionamiento relativo 19 Direccionamiento paginado y direccionamiento segmentado
20 Conclusión 21
Referencias 22
INTRODUCCIÓN.
16 Indirecto mediante registros 16 De registro 16 Absoluto 16 Indirecto 15 Directo 15 Inmediato 14 Implícito
![Page 2: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/2.jpg)
Lenguajes de Interfaz UNIDAD I
Como sabemos, en la materia de Lenguajes de Interfaz, tenemos como
competencia el obtener los conocimientos para el diseño e implementación de
interfaces hombre-máquina y máquina-máquina para la automatización de sistemas.
De manera que esto es posible gracias a una buena cimentación en temas
como lo son los procesos internos que tienen las computadoras tanto en su
procesador, como en su memoria y sus dispositivos de entrada y salida; así como
también un conocimiento extenso del lenguaje ensamblador, ya que una vez que
nosotros entendemos como una computadora funciona y se comunica internamente,
podremos entender y manejar de mejor manera este complejo lenguaje, ya sea para
lograr mandar órdenes a la máquina de forma más directa y enfocada.
Algunos de estos conocimientos se obtuvieron en materias pasadas, y
algunos se explicaran a continuación, con el fin de extender nuestro conocimiento en
el área de la arquitectura interna tanto del CPU como de la memoria.
En el presente documento se ha recabado de distintas fuentes algunos
conceptos, ejemplos y explicaciones sobre temas como lo son las interrupciones, las
llamadas a servicios del sistema y los modos de direccionamiento.
1.4 EL CONCEPTO DE INTERRUPCIONES
Las interrupciones son un método del que disponen los dispositivos e incluso los
procesos para hacer notar a la CPU la aparición de alguna circunstancia que
requiera su intervención. De este modo, los dispositivos pueden provocar que la
CPU deje por el momento la tarea que estaba realizando y atienda la interrupción.
2
![Page 3: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/3.jpg)
Lenguajes de Interfaz UNIDAD I
Una vez atendida, seguirá con su labor anterior.
Todo ese tiempo que el procesador estaba sondeando el estado de los dispositivos
era tiempo que no se podía dedicar a otros procesos, con lo que significa esto en
cuanto a rendimiento. Por todo ello se, pensó que lo mejor era que existiera una
línea especial entre el procesador y los dispositivos, por la que los dispositivos
indicaban al procesador que ya estaban listos. Cuando al procesador le llega una
interrupción, la atiende inmediatamente dejando de hacer lo que estuviera haciendo.
Para poder atenderla de la forma correcta, debe saber con anterioridad cómo
tratarla. Por ello, las computadoras tienen en un sitio conocido de memoria las
distintas rutinas de tratamiento para las diferentes interrupciones el procesador
reconoce la interrupción de la que se trata y busca en memoria la rutina
correspondiente.
Una vez terminado el tratamiento de la interrupción, es muy importante que el
procesador siga con lo que estaba haciendo. Por eso es muy importante que antes
de tratar la interrupción se guarde de alguna forma el estado del computador, y al
terminar la rutina de tratamiento se restaure el estado.
Interrupciones por Software.
Las interrupciones software son provocadas por los programas usando una función
especial del lenguaje. Tienen como objetivo el que la CPU ejecute algún tipo de
función. Al terminar de ejecutarse esta función, se seguirá ejecutando el programa
que provocó la interrupción. Este tipo de interrupciones son la forma más importante
3
![Page 4: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/4.jpg)
Lenguajes de Interfaz UNIDAD I
que tendrán los programas de ejecutar funciones especiales del DOS (Disk
Operating System) o del BIOS (Basic Input Output System). Estas funciones tienen
un número de interrupción software asociada. Cuando un programa lanza una
interrupción de este tipo, la CPU ejecuta su función de tratamiento asociada.
Las funciones que se ejecutan con cada interrupción software son un estándar en el
mundo PC. En nuestro caso, algunas de las interrupciones que nos van a ser mas
útiles serán:
· Interrupción 14h: Acceso al puerto serie por la BIOS.
· Interrupción 21h: Funciones del DOS.
· Interrupción 17h: Servicios de acceso a la impresora de la BIOS.
Cada interrupción tiene asociadas varias funciones. Para usar cada una de las
funciones de la interrupción que nos interese se debe:
- Escribir en un registro el número de interrupción.
- Escribir en otro registro en número de función deseada.
- Escribir en otro/s registro/s los parámetros asociados con la función.
- Lanzar la interrupción.
Interrupciones por hardware.
Una interrupción se convierte en una interrupción de hardware cuando es solicitada
por uno de los componentes de hardware del equipo. En efecto, existen varios
periféricos en un equipo. Estos periféricos necesitan generalmente utilizar los
recursos del sistema aunque sólo sea para comunicarse con el sistema mismo.
4
![Page 5: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/5.jpg)
Lenguajes de Interfaz UNIDAD I
Cuando un periférico desea acceder a un recurso, envía un pedido de interrupción al
procesador para llamar su atención. Los periféricos cuentan con un número de
interrupción que se denomina IRQ (Peticiones de Interrupción. Es como si cada
periférico tirara de un "hilo" que está atado a una campaña para señalarle al equipo
que desea que le preste atención.
Este "hilo" es, de hecho, una línea física que conecta cada ranura de expansión así
como cada interfaz E/S a la placa madre. Para una ranura ISA de 8 bits, por ejemplo,
hay 8 líneas IRQ que unen ranuras ISA de 8 bits a la placa madre (IRQ0 a IRQ7).
Estos IRQ están controlados por un "controlador de interrupción" que se encarga de
“cederle la palabra” al IRQ que posee la mayor prioridad.
Al aparecer las ranuras de 16 bits, se agregaron IRQ 8 a 15. En consecuencia, fue
necesario agregar un segundo controlador de interrupción. Los dos grupos de
interrupciones están unidos por IRQ 2 el cual se conecta (o "produce una cascada")
a IRQ9. En cierto modo, esta cascada "inserta" IRQ 8 a 15 entre IRQ1 y 3:
Los periféricos regularmente necesitan "pedir prestada memoria" del sistema para
utilizarla como zona búfer, es decir, un área de almacenamiento temporario que
permita que los datos de E/S sean rápidamente guardados. Por lo tanto, el canal de
acceso directo a la memoria, llamado DMA (Acceso Directo a Memoria fue definido
precisamente para esto.
El canal DMA designa un acceso a una de las ranuras (RAM) memoria de acceso
aleatorio del equipo, ubicado por una "dirección de inicio RAM" y una "dirección de
fin". Este método permite a un periférico pedir prestado canales especiales que le
5
![Page 6: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/6.jpg)
Lenguajes de Interfaz UNIDAD I
brindan un acceso directo a la memoria, sin necesidad de intervención, por parte del
microprocesador, para descargar estas tareas.
Una PC tiene 8 canales DMA. Los primeros cuatro canales DMA poseen un ancho
de banda de 8 bits mientras que los DMA 4 a 7 poseen a su vez un ancho de banda
de 16 bits.
Los canales DMA por lo general suelen asignarse de la siguiente manera:
• DMA0: libre
• DMA1: (tarjeta de sonido)/libre
• DMA2: controlador de disquete
• DMA3: puerto paralelo (puerto de la impresora)
• DMA4: controlador de acceso directo a memoria (conectado a DMA0)
• DMA5: (tarjeta de sonido)/libre
• DMA6: (SCSI)/libre
• DMA7: disponible
Conflictos de hardware.
Una interrupción es una línea que une el periférico al procesador. Una interrupción
es una interrupción de hardware cuando es solicitada por uno de los componentes
de hardware de la PC. Por ejemplo, este es el caso al tocar una tecla y que el
teclado llama la atención del procesador sobre este hecho. No obstante, los 6
![Page 7: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/7.jpg)
Lenguajes de Interfaz UNIDAD I
256 interruptores no pueden ser solicitados al mismo tiempo ya que se interrumpe el
hardware y los diferentes periféricos siempre realizan interrupciones muy
específicas.
Por lo tanto, al instalar las tarjetas de expansión, debe asegurarse que, durante la
configuración, el mismo interruptor no se utilice para dos periféricos diferentes. Si
esto sucediera, ocurriría un "conflicto del hardware" y ningún periférico funcionaria.
Verdaderamente, si dos periféricos utilizan el mismo interruptor, el sistema no sabrá
cómo distinguirlos. Un conflicto del hardware no sucede únicamente cuando dos
periféricos poseen el mismo hardware. También puede ocurrir un conflicto cuando
dos periféricos poseen la misma dirección E/S o usan los mismos canales DMA.
Para realizar una transferencia por interrupción simple, ocurren generalmente los
siguientes pasos:
1. Un dispositivo periférico solicita una interrupción.
7
![Page 8: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/8.jpg)
Lenguajes de Interfaz UNIDAD I
2. El microprocesador emite un conocimiento de la interrupción.
3. Se guarda el PC y el programa brinca a una localidad de la memoria que
contiene una rutina para procesar la interrupción.
4. El contenido de los registros internos (de trabajo y estatus) son guardados y la
transferencia de datos es ejecutada bajo control de software.
Las Interrupciones pueden ser enmascarables y no enmascarables.
Interrupciones Enmascarables
Una interrupción enmascarable tiene la característica que si el microprocesador
ejecuta una instrucción de deshabilitar interrupción,(DI), cualquier señal de control en
la línea de interrupción será ignorado o enmascarada (masked out). El procesador
se mantendrá sin hacer caso a la línea de la interrupción enmascarable (EI) sea
ejecutada.
Las Interrupciones ordinarias INT también pueden ser “enmascaradas”
selectivamente por el programador. Haciendo uso de los flip flops IFF1 y IFF2 a “1”
las Interrupciones son autorizadas. Poniéndolas a cero (mascarándolos) se
prevendrá la detección de INT. La instrucción EI es usada para habilitarlas y DI para
deshabilitarlas.
IFF1 y IFF” no son “puestos” en “1” simultáneamente durante la ejecución de las
instrucciones EI y DI, las Interrupciones son deshabilitadas para prevenir cualquier
pérdida de información.
8
![Page 9: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/9.jpg)
Lenguajes de Interfaz UNIDAD I
Para que el microprocesador acepte esta interrupción, deben de cumplirse las
siguientes condiciones:
1. Que las Interrupciones hayan sido habilitadas previamente.
2. Que la entrada Busreq no esté activa.
3. Que la entrada NMI no esté activa.
El Z-80 puede responder a 3 formas de interrupciones enmascarables, dependiendo
de cuál de los modos de interrupción ha sido seleccionado por el programa del
microprocesador.
Modo 0: En este modo el dispositivo que provoca la interrupción coloca una palabra
de 8 bits en bus de datos en lugar de que lo haga la memoria. Esa instrucción es
leída por el Z-80 en el ciclo de respuesta a una interrupción y ejecutada
inmediatamente después.
Modo 1: Es un modo de interrupción no vectorizada. Una interrupción en la línea INT
en este modo, hará brincar a el procesador a una localidad fija ; la 0038h.
Modo 2: Es un modo de interrupción vectorizada que se habilita con la instrucción
IM2. En este modo, la dirección de la rutina de servicio de interrupción es
almacenada en dos bytes del espacio de memoria.
• Interrupciones No Enmascarable.
Este tipo de Interrupciones no puede ser inhibido por el programador. Es por esto
que se dice que es no enmascarable. Siempre será aceptada por el Z80
9
![Page 10: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/10.jpg)
Lenguajes de Interfaz UNIDAD I
hasta que finalice la instrucción en curso, asumiendo que no se ha recibido una
requisición de buses (BUSREQ). Si un NMI se recibe durante un BUSREQ se hará 1
el flip flop interno NMI, y será procesador al finalizar el BUSREQ.
El NMI producirá una colocación push automática del contador del programa en el
STACK, y brinca a la dirección 0066h : Los dos bytes que representan la dirección
0066h será instalado en el contador de programa. Estos representan la dirección de
inicio de la rutina de manejo para el NMI.
Este mecanismo fue diseñado así por rapidez, ya que es usado en casos de
emergencia. Por esto, no ofrece la flexibilidad del modo de interrupción
enmascarable.
1.5 LLAMADAS A SERVICIOS DEL SISTEMA.
En el mundo Windows en general, las llamadas al sistema se denominan API
(Windows application programming interface), es un conjunto de funciones
residentes en bibliotecas (generalmente dinámicas, también llamadas DLL
10
![Page 11: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/11.jpg)
Lenguajes de Interfaz UNIDAD I
por sus siglas en inglés, término usado para referirse a éstas en Windows) que
permiten que una aplicación corra bajo un determinado sistema operativo. Por
ejemplo, Windows proporciona una función denominada FlashWindowEx que
permite que la barra de título de una aplicación alterne entre un sombreado claro y
otro oscuro.
Las funciones API se dividen en varias categorías:
• Depuración y manejo de errores
• E/S de dispositivos
• Varias DLL, procesos e hilos
• Comunicación entre procesos
• Manejo de la memoria
• Monitoreo del desempeño
• Manejo de energía
• Almacenamiento
• Información del sistema
• GDI (interfaz para dispositivos gráficos) de Windows (tales como impresoras)
• Interfaz de usuario de Windows La ventaja de utilizar las API de Windows en el código es que pueden ahorrar tiempo
porque contienen numerosas funciones útiles ya escritas y listas para utilizar. La
desventaja es que puede resultar difícil trabajar con las API de Windows y pueden
ser implacables cuando las cosas van mal.
11
![Page 12: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/12.jpg)
Lenguajes de Interfaz UNIDAD I
Las API de Windows representan una categoría especial de interoperabilidad. Las
API de Windows no utilizan código administrado, no tienen bibliotecas de tipos
integradas y utilizan tipos de datos que son diferentes a los que se utilizan en Visual
Studio. Debido a estas diferencias y a que las API de Windows no son objetos COM,
la interoperabilidad con las API de Windows y .NET Framework se lleva a cabo
mediante la invocación de la plataforma o PInvoke. Invocación de la plataforma es
un servicio que permite al código administrado llamar a funciones no administradas
implementadas en archivos DLL.
Las llamadas a las API de Windows constituían en el pasado un parte importante de
la programación de Visual Basic, pero en Visual Basic 2005 pocas veces resultan
necesarias. Siempre que sea posible, debe utilizar código administrado en .NET
Framework para llevar a cabo tareas en lugar de utilizar llamadas a las API de
Windows.
1.6 MODOS DE DIRECCIONAMIENTO.
Los llamados modos de direccionamiento son las diferentes maneras de
especificar en informática un operando dentro de una instrucción en lenguaje
ensamblador.
12
![Page 13: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/13.jpg)
Lenguajes de Interfaz UNIDAD I
Un modo de direccionamiento especifica la forma de calcular la dirección de
memoria efectiva de un operando mediante el uso de la información contenida en
registros y / o constantes, contenida dentro de una instrucción de la máquina o en
otra parte.
Implícito
En este modo de direccionamiento no es necesario poner ninguna dirección
de forma explícita, ya que en el propio código de operación se conoce la dirección
del (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere
operar.
Supongamos una arquitectura de pila, las operaciones aritméticas no
requieren direccionamiento explícito por lo que se ponen como:
- add
- sub
Ya que cuando se opera con dos datos en esta arquitectura se sabe que son los
dos elementos del tope de la pila:
Para finalizar y dejar este modo de direccionamiento generalizado para las
arquitecturas más usuales, remarcamos que también podemos encontrarlo en la
estos argumentos con los que se opera al
ntop() el siguiente al tope de la pila y son
donde top() representa el tope de la pila y
ntop() es 2
top() es 1
pila 2 3 4 5 6 1
Elementos de una pila
13
![Page 14: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/14.jpg)
Lenguajes de Interfaz UNIDAD I
arquitectura con registros de propósito general, por ejemplo con órdenes como setc,
que pone a 1 el registro c (acarreo).
Inmediato
En este modo el operando es especificado en la instrucción misma. En otras
palabras, una instrucción de modo inmediato tiene un campo de operando en vez de
un campo de dirección. El campo del operando contiene el operando actual que se
debe utilizar en conjunto con la operación especificada en la instrucción. Las
instrucciones de modo inmediato son útiles para inicializar los registros en un valor
constante.
Cuando el campo de dirección especifica un registro del procesador, la
instrucción se dice que está en el modo de registro.
Por ejemplo: MOV A,#17H
Directo
El campo de operando en la instrucción contiene la dirección en memoria
donde se encuentra el operando.
En este modo la dirección efectiva es igual a la parte de dirección de la
instrucción. El operando reside en la memoria y su dirección es dada directamente
por el campo de dirección de la instrucción. En una instrucción de tipo ramificación el
campo de dirección especifica la dirección de la rama actual.
Con este tipo de direccionamiento, la dirección efectiva es contenida en la
misma instrucción, tal como los valores de datos inmediatos que son contenidos en
la instrucción. Un procesador de 16 bits suma la dirección efectiva al contenido del
14
![Page 15: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/15.jpg)
Lenguajes de Interfaz UNIDAD I
segmento de datos previamente desplazado en 4 bits para producir la dirección física
del operando.
Por ejemplo: MOV A,17H
Indirecto
El campo de operando contiene una dirección de memoria, en la que se
encuentra la dirección efectiva del operando.
Por ejemplo: MOV A,@17H
Absoluto
El campo de operando contiene una dirección en memoria, en la que se
encuentra la instrucción.
De registro
Sirve para especificar operandos que están en registros.
Por ejemplo: MOV A,R0
Indirecto mediante registros
El campo de operando de la instrucción contiene un identificador de registro
en el que se encuentra la dirección efectiva del operando.
En este modo el campo de la dirección de la instrucción da la dirección en
donde la dirección efectiva se almacena en la memoria. El control localiza la
instrucción de la memoria y utiliza su parte de dirección para acceder a la memoria
de nuevo para leer una dirección efectiva. Unos pocos modos de direccionamiento
requieren que el campo de dirección de la instrucción sea sumado al control
15
![Page 16: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/16.jpg)
Lenguajes de Interfaz UNIDAD I
de un registro especificado en el procesador. La dirección efectiva en este modo se
obtiene del siguiente cálculo:
Dir. efectiva = Dir. de la parte de la instrucción + Contenido del registro del
procesador...
Por ejemplo: MOV A,@R0
De desplazamiento
Combina el modo directo e indirecto mediante registros
De pila
Se utiliza cuando el operando está en memoria y en la cabecera de la pila.
Este direccionamiento se basa en las estructuras denominadas Pila(tipo LIFO), las
cuales están marcados por el fondo de la pila y el puntero de pila (*SP), El puntero
de pila apunta a la última posición ocupada. Así, como puntero de direccionamiento
usaremos el SP. El desplazamiento más el valor del SP nos dará la dirección del
objeto al que queramos hacer referencia.
Respecto a un registro base
Este modo de direccionamiento es muy usado por los ensambladores cuando
se llaman a las funciones (para acceder a los parámetros apilados en la pila, valga la
redundancia). Consiste, al igual que el indirecto a través de registro, en calcular la
EA (Effective Address) como la suma del contenido del registro base y un cierto
desplazamiento (u offset) que siempre será positivo. Esta técnica permite códigos
reentrantes y acceder de forma fácil y rápida a posiciones cercanas de
16
![Page 17: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/17.jpg)
Lenguajes de Interfaz UNIDAD I
memoria. EA = RB+offset RB = registro base offset = desplazamiento -> RB se
comporta como una dirección de memoria a la que se le sumará el desplazamiento
Respecto a un registro índice
Es similar al anterior, lo único que es el contenido del registro índice el que
indica el desplazamiento que se produce a partir de una dirección de memoria que
se pasa también como argumento a la orden que utiliza este modo de
direccionamiento. Aunque en esencia son dos modos equivalentes. La EA se calcula
como la suma del contenido del registro índice y una dirección de memoria.
Respecto al contador de programa
Consiste en dirección una posición de memoria usando como registro base al
contador de programa (PC), el funcionamiento es análogo al direccionamiento
respecto a registro base con la salvedad de que, en este caso, el offset puede ser
también negativo.
Indexado con autoincremento/autodecremento
Es un modo de direccionamiento análogo al indexado, explicado
anteriormente.
La única diferencia es que permite un incremento o decremento de la
dirección final o el registro índice según los
siguientes casos:
17
![Page 18: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/18.jpg)
Lenguajes de Interfaz UNIDAD I
Indexado con autopreincremento: Incrementa el registro índice primero (se
incrementa un valor, según el tamaño del objeto direccionado) y luego calcula
la EA al igual que el direccionamiento indexado.
Indexado con autoposincremento: Calcula la dirección efectiva y después
incrementa esta.
Indexado con autopredecremento: Decrementa el registro índice y después
calcula la dirección efectiva.
Indexado con autoposdecremento: Calcula la dirección efectiva y después
decrementa esta.
Instrucción de salto con direccionamiento absoluto
Consiste en cargar en el PC el valor que se especifica en la orden de salto,
Por ejemplo: jmp 0xAB Carga 0xAB en PC
Instrucción de salto con direccionamiento relativo
Es parecida a la especificada anteriormente la diferencia es que el salto es
relativo al PC, pongamos un ejemplo:
Supongamos que PC vale = 0x0A, si nosotros interpretamos la instrucción jr
+03, saltaremos tres posiciones posteriores a PC (también podría ser -03 y serían
posiciones anteriores). Pero, ¡cuidado! si esa instrucción estaba en la posición 0x0A
la dirección de PC a incrementar será la inmediatamente posterior (ya que PC se
incrementa automáticamente después de leer la instrucción), por lo que quedaría:
PC = 0x0B ---> nuevo PC = 0x0B+0x03 = 0x0E, con lo que el PC quedaría como
18
![Page 19: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/19.jpg)
Lenguajes de Interfaz UNIDAD I
0x0E.
Direccionamiento paginado y direccionamiento segmentado
Paginado: La memoria se encuentra actualmente dividida en páginas
(bloques de igual longitud).
Para obtener las direcciones necesitamos:
Indicador de página (IP): en un registro específico o de propósito general de la
máquina.
Dirección de la palabra (DP): en el campo CD de la instrucción.
Así, concatenando ambas partes obtenemos la dirección completa.
Segmentado: La memoria se divide en porciones cuyos tamaños son
variables. Así, para acceder a ellos se tiene una tabla de segmentos que
contiene la dirección del comienzo y del final de cada segmento en memoria.
Usar este tipo de direccionamientos tiene como ventajas que se puede definir
segmentos de tamaño arbitrario. Por otro lado, esta misma ventaja, el
fraccionamiento de memoria es uno de sus problemas.
Ambos modos de direccionamiento facilitan la multiprogramación gracias a la
técnica de la memoria virtual que permite que un proceso no tenga que estar
cargado íntegramente en memoria, si no que se cargan distintas páginas del mismo
(o segmentos). Si se intenta cargar una página o segmento que no se encuentra en
la memoria principal se produce una excepción de falta de página o segmento y se
accede a la memoria para cargar la información requerida en la memoria principal.
19
![Page 20: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/20.jpg)
Lenguajes de Interfaz UNIDAD I
CONCLUSIÓN
En general, algunos temas que se pudieron apreciar e identificar fueron los
conceptos que explican las interrupciones, de manera que existe más de un tipo de
interrupción, ya sea de hardware o de software, estas son acciones que se realizan
para ordenar al CPU que suspenda su trabajo debido a un inconveniente o situación
que pudiera entorpecer su proceso. El tema de las llamadas a los servicios del
sistemas es considerado como simple y necesario en cuanto a su comprensión, y
manejo ya que gracias a estas “llamadas” es como se dan en el manejo de las
algunos comando para acciones a realizar por el CPU. Los modos de
direccionamiento son las diferentes maneras de especificar un operando dentro de
una instrucción en lenguaje ensamblador, existen diversos comandos para el
direccionamiento y realmente no todos cuentan con un nombre especifico y algunos
varían según el autor que se consulte.
Como conclusión es importante mencionar que los temas mencionados
anteriormente, son algunas de las bases o fundamentos que la materia Lenguajes de
Interfaz posee; ya que temas como las llamadas a los servicios de sistema y los
modos de direccionamiento, serán a continuación, parte de nuestro lenguaje
cotidiano. Esto se debe a que poseen una amplia relevancia para la comprensión de
temas posteriores en la asignatura.
REFERENCIAS.
20
![Page 21: Interrupciones.docx](https://reader036.fdocuments.es/reader036/viewer/2022073117/55721376497959fc0b925abe/html5/thumbnails/21.jpg)
Lenguajes de Interfaz UNIDAD I
http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/SISTE
MAS%20_OPERATIVOS/UNIDAD7/7.3.htm
http://es.slideshare.net/yesyduc10/comunicacion-interna-de-la-computadora
http://www.fing.edu.uy/tecnoinf/cursos/arqcomp/material/teorico/
arqteorico13.pdf
www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r40732.DOC
http://dac.escet.urjc.es/~lrincon/uned/etc1/ModosDireccionamiento.pdf
21