Arquitectura Exa

21
1.1 Modelos de Arquitecturas de Cómputo. 1.1.1 Modelo Clásico Se le atribuye a Von Neuman en el año de 1945. Su característica principal es que todos los datos se almacenan primero en la memoria para poder ser ejecutados. Consta de 5 partes: ALU. MEMORIA. UNIDAD DE CONTROL (CU). DISPOSITIVOS DE E/S. BUS. DIAGRAMA DE VON NEUMAN. Una computadora con modelo Von Neuman realiza las siguientes funciones: 1.- Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador del programa y la guarda en el registro de instrucción. 2.- Aumenta el contador del programa en la longitud de la instrucción para apuntar a la siguiente. 3.- Decodifica la instrucción mediante la unidad de control. 4.- Se ejecuta la instrucción. Esta puede cambiar el valor del controlador, permitiendo así, operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda tomar decisiones que pueden alcanzar cualquier grado de complejidad. 1.1.2 Modelo segmentado Consiste en segmentar el procesador, descomponiendo en etapas para poder procesar una instrucción diferente en cada una de ellas y trabajar con varios a la vez.

description

1.4 concepto de interrupciones

Transcript of Arquitectura Exa

Page 1: Arquitectura Exa

1.1 Modelos de Arquitecturas de Cómputo.

1.1.1 Modelo Clásico

Se le atribuye a Von Neuman en el año de 1945. Su característica principal es que todos los datos se almacenan primero en la memoria para poder ser ejecutados. Consta de 5 partes:

ALU.MEMORIA.UNIDAD DE CONTROL (CU).DISPOSITIVOS DE E/S.BUS.

DIAGRAMA DE VON NEUMAN. Una computadora con modelo Von Neuman realiza las siguientes

funciones:1.- Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador del programa y la guarda en el registro de instrucción. 2.- Aumenta el contador del programa en la longitud de la instrucción para apuntar a la siguiente.3.- Decodifica la instrucción mediante la unidad de control.4.- Se ejecuta la instrucción. Esta puede cambiar el valor del controlador, permitiendo así, operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda tomar decisiones que pueden alcanzar cualquier grado de complejidad.

1.1.2 Modelo segmentado

Consiste en segmentar el procesador, descomponiendo en etapas para poder procesar una instrucción diferente en cada una de ellas y trabajar con varios a la vez.

Equivale a la composición de funciones matemáticas.

Se aplica en dos lugares de la maquina: CPU y ALU.

Es conocida como pipe- line.

Consta de 5 etapas:

Búsqueda: se encarga de buscar la instrucción de la memoria y la coloca en el buffer, hasta que se necesita.

Page 2: Arquitectura Exa

Decodificación: Está decodifica la instrucción determinando de que tipo es y qué operación necesita.

Ejecución: Está ejecuta la instrucción.

Direccionamiento: Localiza y busca las operaciones, ya sea de registro o de memoria.

Almacenamiento de resultados: escribe el resultado en el registro apropiado.

1.2 Análisis de Componentes

1.2.1 CPU

1.2.1.1 Arquitecturas.

El procesador (CPU, Central Processing Unit o unidad central de proceso), es un circuito microscópico que interpreta y ejecuta instrucciones. Se ocupa del control y proceso de datos e las computadoras. Generalmente, la CPU es un microprocesador fabricado en un chip, un único trozo de silicio que contiene millones de componentes electrónicos.

Unidad de Control y Unidad aritmético-lógica. Estos dos bloques forman la Unidad Central de Proceso (CPU o UCP).

Unidad de MemoriaLos dispositivos electrónicos o electromagnéticos en donde se almacena la

información recibida del exterior antes de ser procesada, y la ya procesada, constituye la MEMORIA. En la memoria residen el programa que será procesado, los datos para el proceso y los resultados del proceso.ALULa información se procesa matemáticamente y se compara lógicamente dentro de la Unidad Aritmético-Lógica, conocida como ALU.Unidad de ControlSe encarga de que las operaciones se realicen en las secuencias que correspondan (por ejemplo no calcular antes de recibir los datos, no comunicar información al exterior mientras no se terminen los cálculos, etc.).

Page 3: Arquitectura Exa

1.2.1.2 Tipos

La característica distintiva de cualquier sistema de computación es su tamaño, no su tamaño físico, sino su capacidad de cómputo.El tamaño o capacidad de cómputo es la cantidad de procesamiento que un sistema de computación puede realizar por unidad de tiempo.

Macrocomputador: Máquina de enormes dimensiones, que usan las grandes organizaciones y que tienden a ser invisibles para le público en general, ya que están escondidas en salas con clima controlado. Son capaces de comunicarse simultáneamente con varios usuarios por la técnica de tiempo compartido; éste también permite que los usuarios con diversas necesidades computacionales compartan costosos equipos de computación.

Minicomputador: También es una máquina multiusuario (es decir que usa la técnica detiempo compartido). Es más pequeño y económico que un macrocomputador, pero mayor y más potente que una computadora personal.

Estación de trabajo: Computador de escritorio que tiene el poder de un minicomputador, pero a una fracción del costo. Es de uso muy común entre personas cuyas tareas requieren gran cantidad de cálculos (científicos, analistas bursátiles, ingenieros). Aunque muchas estaciones de trabajo son capaces de dar servicio a varios usuarios al mismo tiempo, en la práctica a menudo son usadas por una sola persona a la vez.

Microcomputadora o Computador personal: PC (Personal computer). Computador habitualmente monousuario (aunque puede configurarse para usuarios múltiples) de propósito general. En una micro se monta el microprocesador, los circuitos electrónicos para manejar los dispositivos periféricos y los chips de memoria en un solo tablero de circuitos, el tablero de sistema o tablero madre (mother board). El microprocesador y los otros chips se montan en una portadora antes de fijarlos al tablero madre. Las portadoras tienen conectores de agujas de tamaño estándar que permiten que se conecten los chips en el tablero de sistema. La mother board es lo que distingue a una computadora de otra. La PC puede ser de escritorio o portátil. Dentro de los computadores portátiles encontramos:

Laptop: alimentado por baterías, con pantalla plana y que pueden cargarse como un portafolios.

Notebook: Más livianas que las anteriores y que pueden transportarse dentro de un portafolios.

Page 4: Arquitectura Exa

Palmtop: o computador manual, o PC de bolsillo. Tan pequeñas que caben en un bolsillo. Atiende las necesidades de usuarios para los cuales la movilidad es más valiosa que un teclado o una pantalla de tamaño usual.

1.2.1.3 Características.

Multiprocesamiento o multiproceso es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso.

El multiproceso para tareas generales es bastante difícil de conseguir debido a que puede haber varios programas manejando datos internos (conocido como estado o contexto) a la vez. Los programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de técnicas de programación incluyendo semáforos y otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de forma exclusiva ciertos valores.

1.2.1.4 Funcionamiento (ALU, unidad de control, Registros y buses internos)

(Conocida por sus siglas en inglés, CPU), es un circuito microscópico que interpreta y ejecuta instrucciones. La CPU se ocupa del control y el proceso de datos en las computadoras. Generalmente, la CPU es un microprocesador fabricado en un chip, un único trozo de silicio que contiene millones de componentes electrónicos. El microprocesador de la CPU está formado por una unidad aritmético-lógica que realiza cálculos y comparaciones, y toma decisiones lógicas (determina si una afirmación es cierta o falsa mediante las reglas del álgebra de Boole); por una serie de registros donde se almacena información temporalmente, y por una unidad de control que interpreta y ejecuta las instrucciones. Para aceptar órdenes del usuario, acceder a los datos y presentar los resultados, la CPU se comunica a través de un conjunto de circuitos o conexiones llamado bus. El bus conecta la CPU a los dispositivos de

Page 5: Arquitectura Exa

almacenamiento (por ejemplo, un disco duro), los dispositivos de entrada (por ejemplo, un teclado o un mouse) y los dispositivos de salida (por ejemplo, un monitor o una impresora).

Funcionamiento de la CPU Cuando se ejecuta un programa, el registro de la CPU, llamado contador de programa, lleva la cuenta de la siguiente instrucción, para garantizar que las instrucciones se ejecuten en la secuencia adecuada. La unidad de control de la CPU coordina y temporiza las funciones de la CPU, tras lo cual recupera la siguiente instrucción desde la memoria. En una secuencia típica, la CPU localiza la instrucción en el dispositivo de almacenamiento correspondiente.

La instrucción viaja por el bus desde la memoria hasta la CPU, donde se almacena en el registro de instrucción. Entretanto, el contador de programa se incrementa en uno para prepararse para la siguiente instrucción. A continuación, la instrucción actual es analizada por un descodificador, que determina lo que hará la instrucción. Cualquier dato requerido por la instrucción es recuperado desde el dispositivo de almacenamiento correspondiente y se almacena en el registro de datos de la CPU. A continuación, la CPU ejecuta la instrucción, y los resultados se almacenan en otro registro o se copian en una dirección de memoria determinada.

Gabinete: El gabinete es la parte externa de la computadora y hay dos tipos principales, torre y de escritorio. En la clase de torre, las hay mini torre, media torre y torre completa que son los que se utiliza para servidores. Dentro del gabinete se encuentran todos los dispositivos principales. Fuente de poder, microprocesador, memorias, tarjeta de video, tarjeta de sonido, motherboard, ventiladores. Hoy día encontramos gabinetes mucho más elaborados en donde no sólo se toma en cuenta el diseño futurístico fuera del gabinete sino mucho mas importante, el diseño por dentro, el cual permite mejor flujo de aire y distribución correcta de los dispositivos internos.

Los elementos básicos son: El Procesador, la Tarjeta Madre, Las unidades de disco, El Disco Duro, La Memoria y la Fuente de Poder. No obstante, los principios del diseño y operación de una CPU son independientes de su posición en un sistema de computadora. Este trabajo estará dedicado a la organización del hardware que permite a una CPU realizar su función principal: traer instrucciones desde la memoria y ejecutarlas.

Page 6: Arquitectura Exa

1.2.2 Memoria

1.2.2.1 Conceptos Básicos del Manejo de la Memoria.

Unidad de memoria

Corresponde a un conjunto de registros direccionales a través del bus de direcciones.

Cada registro de memoria está constituido por un determinado número de unidades básicas, bit, que constituyen la celda de memoria. El tamaño de la celda es constante para un procesador determinado.

Los tamaños típicos son 4, 8, 16, 32 y mas bits por celda.

La memoria tiene dos usos principales:

Almacenar programas

Almacenar datos o resultados.

El almacenamiento de programas esta asociado a la naturaleza de los mismos. Si son de uso permanente se almacenan en memoria ROM (read only memory), caso de los programas BIOS (basic input output system).

Si son de uso esporádico y afectos a cambios se almacenan RAM (ramdom access memory) caso de los programas de aplicación.

Las memorias del tipo ROM corresponden a tecnología de memorias, electrónicas, de estado solida no volátil, esto significa que no requieren de energía para mantener los valores que almacenan.

Las memorias RAM necesitan energía para mantener la información almacenada, se reconocen dos grandes familias:

Las SRAM o ram estáticas, rápidas, caras, de alto consumo útiles como memorias cache L2

Las DRAM o ram dinámicas, lentas, baratas, de bajo consumo se usan como memoria principal

Operación de la memoria

Page 7: Arquitectura Exa

La forma de trabajo de un ciclo de memoria con el envió de una dirección por el BUS de DIRECCION, AB (address bus), dicha direccion se almacena en un registro de direcciones de memoria, MAR (memory address register)

La operación de memoria puede ser de lectura o escritura.

Lectura: el contenido de la celda direccionada por el MAR se transfiere a un registro de datos de memoria MDR (memory data register) el que transfiere su contenido al bus de datos DB (data bus), de alli al registro del procesador que corresponda.

Escritura: una vez seleccionado el MAR, se transfiere el contenido del DB al MDR, desde donde se lleva a la celda seleccionada, completando el proceso de escritura.

Papel del bus de control: a través de este bus, la unidad de control activa el MAR el MDR y los demás registros involucrados en los procesos de lectura-escritura. Sincroniza el momento en que se activan AB y DB, esto corresponde a un conjunto de micro operaciones necesarias para producir una lectura o escritura en memoria.

1.2.2.2 Memoria Principal Semiconductora

La memoria de semiconductor usa circuitos integrados basados en semiconductores para almacenar información. Un chip de memoria de semiconductor puede contener millones de minúsculos transistores o condensadores. Existen memorias de semiconductor de ambos tipos: volátiles y no volátiles. En las computadoras modernas, la memoria principal consiste casi exclusivamente en memoria de semiconductor volátil y dinámica, también conocida como memoria dinámica de acceso aleatorio o más comúnmente RAM, su acrónimo inglés. Con el cambio de siglo, ha habido un crecimiento constante en el uso de un nuevo tipo de memoria de semiconductor no volátil llamado memoria flash. Dicho crecimiento se ha dado, principalmente en el campo de las memorias fuera de línea en computadoras domésticas. Las memorias de semiconductor no volátiles se están usando también como memorias secundarias en varios dispositivos de electrónica avanzada y computadoras especializadas y no especializadas.

Page 8: Arquitectura Exa

1.2.2.3 Memoria Cache

En informática, el caché de CPU, es un caché1 (/ˈkæʃ/ o /kaʃ/) usado por la unidad central de procesamiento de una computadora para reducir el tiempo de acceso a la memoria. El caché es una memoria más diminuta y rápida, la cual almacena copias de datos ubicados en la memoria principal que se utilizan con más frecuencia.

Es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos de acceder, normalmente en tiempo, respecto a la copia en el caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.

Cuando el procesador necesita leer o escribir en una ubicación en memoria principal, primero verifica si una copia de los datos está en el caché. Si es así, el procesador de inmediato lee o escribe en la memoria caché, que es mucho más rápido que de la lectura o la escritura a la memoria principal

1.2.3 Manejo de la Entrada/Salida

1.2.3.1 Módulos de Entrada/Salida.

Los módulos de entrada/salida (E/S) tienen las siguientes funciones básicas:

• Conectar con la CPU y memoria vía bus del sistema.

• Conectar con los periféricos mediante conexiones de datos particularizadas.

Las funciones o requerimientos principales de los módulos de E/S se agrupan en las siguientes categorías:

• Control y temporización.

• Comunicación con la CPU.

• Comunicación con los periféricos.

• Buffer de datos.

• Detección de errores.

Page 9: Arquitectura Exa

Los recursos internos del sistema, tales como memoria o bus, están compartidos por distintas actividades, entre las que está E/S. Por ello, los módulos E/S tienen requerimientos de control y temporización. Por ejemplo, el control de transferencia de datos entre un periférico y la CPU debe seguir la siguiente secuencia:

1. La CPU pide al módulo E/S el estado del periférico deseado.

2. El módulo E/S proporciona el estado.

3. Si el periférico está listo, la CPU solicita la transferencia de datos por medio de un comando al módulo E/S.

4. El módulo E/S obtiene el dato del periférico.

5. El dato se transfiere desde el módulo a la CPU.

Si el sistema emplea un bus, cada interacción entre CPU y E/S implica uno o más arbitrajes de bus.

Una tarea esencial del módulo E/S es servir de buffer de datos. Mientras la transferencia es muy rápida entre éste y la CPU, con los periféricos es mucho más lenta. El

E/S realiza así la conversión de velocidades de transmisión.

1.2.3.2 Entrada/Salida Programada.

Los dispositivos, inventado por Thomes Artonson, de E/S están formados por una parte mecánica y una parte electrónica, esta última se denomina controlador de dispositivo y generalmente la interfaz entre ambas partes es de bajo nivel. DISPOSITIVOS DE ENTRADA: son aquellos dispositivos externos de hardware que tienen componentes situados fuera de la computadora, a la que pueden dar información y/o instrucciones. DISPOSITIVOS DE SALIDA: son aquellos dispositivos que permiten ver resultados del proceso de datos que realice la computadora (salida de datos). El más común es la pantalla o monitor, aunque también están las impresoras (imprimen los resultados en papel), los trazadores gráficos o plotters, las bocinas, etc.

Por ejemplo el controlador de un disco duro convierte el flujo de bits recibido a los bloques necesarios para la operación a realizar.

Para diferenciar los dispositivos tenemos dos enfoques posibles, el primero de ellos se centra en el modo de almacenar la información (clasificando los

Page 10: Arquitectura Exa

dispositivos como de bloque o de carácter)1 y el segundo enfoque se centra en el destinatario de la comunicación (usuario, maquina, comunicadores)

Un dispositivo de bloque almacena la información en bloques de tamaño fijo. Al ser el bloque la unidad básica de almacenamiento, todas las escrituras o lecturas se realizan mediante múltiplos de un bloque. Es decir escribe 3 o 4 bloques, pero nunca 3,5 bloques. El tamaño de los bloques suele variar entre 512 Bytes hasta 32.768 Bytes. Un disco duro entraría dentro de esta definición. A diferencia de un dispositivo de bloque un dispositivo de carácter, no maneja bloques fijos de información sino que envía o recibe un flujo de caracteres. Dentro de esta clase podemos encontrar impresoras o interfaces de red.

1.2.3.3 Entrada/Salida Mediante Interrupciones

La E/S le indica a la CPU cuando está preparada para transferir datos (genera una interrupción a la CPU), activando una línea especial conectada a la CPU (línea de interrupción).

Interrupción (también conocida como interrupción de hardware o petición de interrupción) es una señal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

Una interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecución del programa.

Las interrupciones surgen de las necesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear (polling) los dispositivos cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consumía tiempo en realizar todas las instrucciones de sondeo.

Page 11: Arquitectura Exa

El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta problemática, y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo necesitara. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de información, una condición de error, etc.).

1.2.3.4 Acceso Directo a Memoria

El acceso directo a memoria (DMA, del inglés direct memory access) permite a cierto tipo de componentes de una computadora acceder a la memoria del sistema para leer o escribir independientemente de la unidad central de procesamiento (CPU) principal. Muchos sistemas hardware utilizan DMA, incluyendo controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido. DMA es una característica esencial en todos los ordenadores modernos, ya que permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a una carga masiva de interrupciones.

Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el controlador DMA. Un ejemplo típico es mover un bloque de memoria desde una memoria externa a una interna más rápida. Tal operación no ocupa al procesador y, por ende, éste puede efectuar otras tareas. Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran muchos recursos.

Cabe destacar que aunque no se necesite a la CPU para la transacción de datos, sí se necesita el bus del sistema (tanto bus de datos como bus de direcciones), por lo que existen diferentes estrategias para regular su uso, permitiendo así que no quede totalmente acaparado por el controlador DMA.

1.2.3.5 Canales y Procesadores de Entrada/Salida

El canal de E/S es una extensión del concepto de DMA. Un canal de E/S tiene la capacidad de ejecutar instrucciones de E/S, lo que da un control total sobre las operaciones de E/S. 

Las instrucciones de E/S se almacenan en la memoria principal y serán ejecutadas por un procesador de propósito específico en el mismo canal de E/S. 

Page 12: Arquitectura Exa

Hay dos tipos comunes de canales de E/S, como se ilustra en la figura: 

A medida que los computadores han evolucionado, la complejidad y

Page 13: Arquitectura Exa

sofisticación de sus componentes se ha incrementado. Se puede resumir en las siguientes etapas esta evolución:

… La CPU controla directamente al periférico

… Se añade un controlador o módulo de E/S. La CPU utiliza la E/S programada sin interrupciones.

1.2.4 Buses

1.2.4.1 Tipos de Buses

En arquitectura de computadores, el bus (o canal) es un sistema digital que transfiere datos entre los componentes de una computadora o entre computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además decircuitos integrados.

En los primeros computadores electrónicos, todos los buses eran de tipo paralelo, de manera que la comunicación entre las partes del computador se hacía por medio de cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una función fija y la conexión es sencilla requiriendo únicamente puertos de entrada y de salida para cada dispositivo.

La tendencia en los últimos años se hacía uso de buses seriales como el USB, Firewire para comunicaciones con periféricos reemplazando los buses paralelos, incluyendo el caso como el del microprocesador con el chipset en la placa base. Esto a pesar de que el bus serial posee una lógica compleja (requiriendo mayor poder de cómputo que el bus paralelo) a cambio de velocidades y eficacias mayores.

Existen diversas especificaciones de que un bus se define en un conjunto de características mecánicas como conectores, cables y tarjetas, además de protocolos eléctricos y de señales.

Page 14: Arquitectura Exa

1.2.4.2 Estructura de los Buses

La Estructura de conexión hace referencia a la interconexión de las unidades funcionales de un ordenador mediante una determinada organización. Para la interconexión existen diferentes posibilidades. Cabe destacar dos variantes que se detallan a continuación.

Interconexión con un bus específico para conexión procesador/memoria

La primera de ellas dispone de un bus específico de interconexión procesador/memoria, de forma que todo el tráfico de información entre periféricos y memoria obligatoriamente ha de hacerse a través del procesador.

Interconexión mediante una estructura de bus único

La segunda configuración es más sencilla que la anterior. Utiliza un único bus de forma que su estructura es denominada unibus. Todas las unidades se conectan a este bus correspondientemente, cuyo nombre es bus del sistema. Dado que en un instante determinado solo se puede transmitir una única información a través del bus, solo una unidad (el procesador), puede tener el control del bus del sistema. La ventaja principal de esta estructura es su bajo coste y su flexibilidad para conectar periféricos.

El esquema unibus tiene a su vez el gran inconveniente de que, en toda transferencia a través del bus, el elemento más lento es precisamente el que impone la velocidad de transmisión. Para reducir los efectos entre las diferencias que surgen en las velocidades entre el procesador y los periféricos, cada uno de

Page 15: Arquitectura Exa

ellos contiene una memoria intermedia (buffer) que almacena la información durante la transferencia. El procesador puede cargar el buffer a alta velocidad, y el periférico a su ritmo realizar su tarea concreta como puede ser la de grabar, imprimir,… la información existente en el propio buffer. Otro tipo de soluciones a las diferencias entre velocidades son el uso de controladores de E/S (entrada/salida) y de controladores de acceso directo a memoria.

1.2.4.3 Jerarquías de Buses

Si en un computador actual conectáramos todos los dispositivos a un mismo bus, tendríamos dos problemas: o Disminución el rendimiento global del sistema: 9 El bus debe ser largo y esto aumenta los retardos de propagación de las señales.

El bus se convierte en el cuello de botella del sistema porque los dispositivos tendrán que esperar largos tiempos para transmitir.

Hay que adaptarse a la velocidad de los dispositivos más lentos. o Incompatibilidad de los distintos dispositivos con el bus (cada fabricante diseña sus propios buses e interfaces optimizados para la función que tengan que cumplir).

La solución a todos estos problemas es utilizar una jerarquía de buses en lugar de un único bus.

1.2.5. InterrupcionesInterrupción (también conocida como interrupción de hardware o petición de

interrupción) es una señal recibida por el procesador de un ordenador, indicando

Page 16: Arquitectura Exa

que debe "interrumpir" el curso de ejecución actual y pasar a ejecutar código específico para tratar esta situación.

interrupción es una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecución del programa.

Las interrupciones surgen de las necesidades que tienen los dispositivos periféricos de enviar información al procesador principal de un sistema de computación. La primera técnica que se empleó fue que el propio procesador se encargara de sondear (polling) los dispositivos cada cierto tiempo para averiguar si tenía pendiente alguna comunicación para él. Este método presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consumía tiempo en realizar todas las instrucciones de sondeo.

El mecanismo de interrupciones fue la solución que permitió al procesador desentenderse de esta problemática, y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo necesitara. El procesador, en este caso, no sondea a ningún dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de información, una condición de error, etc.).