0% encontró este documento útil (0 votos)
390 vistas30 páginas

Arquitectura de Computadoras

Este documento describe diferentes aspectos de la arquitectura de computadoras. Explica los modelos de arquitectura clásicos, segmentados y de multiprocesamiento. Analiza los principales componentes de una computadora como la CPU, memoria y manejo de entrada/salida. Describe características de la CPU como su arquitectura, tipos y funcionamiento. Explica conceptos básicos del manejo de memoria y componentes relacionados como la memoria cache.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
390 vistas30 páginas

Arquitectura de Computadoras

Este documento describe diferentes aspectos de la arquitectura de computadoras. Explica los modelos de arquitectura clásicos, segmentados y de multiprocesamiento. Analiza los principales componentes de una computadora como la CPU, memoria y manejo de entrada/salida. Describe características de la CPU como su arquitectura, tipos y funcionamiento. Explica conceptos básicos del manejo de memoria y componentes relacionados como la memoria cache.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Arquitectura de Computadoras

INSTITUTO TECNOLÓGICO SUPERIOR DE URUAPAN


Arquitectura de Computadoras

ING. RAÚL PAZ ÁLVAREA


DIRECTOR GENERAL

M.E. GABRIEL MANCERA HUANTE


DIRECTOR ACADÉMICO

ING. J. JESÚS TREJO CEJA


SUBDIRECTOR ACADÉMICO

ING. JUAN MIGUEL ANDRADE PADILLA


COORDINACIÓN ACADÉMICA EN LÍNEA

LDG. ALEJANDRO MADRIGAL


DISEÑO GRÁFICO

NOMBRE QUIEN REVISA


REVISIÓN

CONTENIDO:
ING. RAFAEL VEGA HERNANDEZ

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 2
Arquitectura de Computadoras

ÍNDICE

Contenido
ÍNDICE ............................................................................................................ 3

1.-ARQUITECTURAS DE COMPUTO ........................................................... 5

1.1.- MODELOS DE ARQUITECTURAS DE COMPUTO ............................... 5

1.1.1.- CLASICAS ........................................................................................... 7

1.1.1.- SEGMENTADAS ................................................................................. 7

1.1.3.- DE MULTIPROCESAMIENTO ............................................................. 7

1.2.- ANALISIS DE LOS COMPONENTES .................................................... 9

1.2.1.- CPU ..................................................................................................... 9

1.2.1.1.- ARQUITECTURAS ........................................................................... 9

1.2.1.2.- TIPOS ............................................................................................. 11

1.2.1.3.- CARACTERISTICAS ...................................................................... 11

1.2.1.4.- FUNCIONAMIENTO ....................................................................... 12

1.2.2.- MEMORIA.......................................................................................... 16

1.2.2.1.- CONCEPTOS BASICOS DEL MANEJO DE LA MEMORIA ........... 16

1.2.2.2.- MEMORIA PRINCIPAL SEMICONDUCTORA ............................... 18

1.2.2.3.- MEMORIA CACHE ......................................................................... 19

1.2.3.- MANEJO DE LA ENTRADA/SALIDA ................................................. 19

1.2.3.1.- MODULOS DE ENTRADA/SALIDA ................................................ 20

1.2.3.2.- ENTRADA/SALIDA PROGRAMADA .............................................. 21

1.2.3.3.- ENTRADA/SALIDA MEDIANTE INTERRUPCIONES..................... 21

1.2.3.4.- ACCESO DIRECTO A MEMORIA .................................................. 22

1.2.3.5.- CANALES Y PROCESADORES DE ENTRADA/SALIDA ............... 22

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 3
Arquitectura de Computadoras

1.2.4.- BUSES............................................................................................... 23

1.2.4.1.- TIPOS DE BUSES ......................................................................... 23

1.2.4.2.- ESTRUCTURA DE LOS BUSES .................................................... 24

1.2.4.3.- JERARQUIAS DE LOS BUSES ...................................................... 24

1.2.5.- INTERRUPCIONES ........................................................................... 26

BIBLIOGRAFÍA ............................................................................................. 30

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 4
Arquitectura de Computadoras

UNIDAD 1

ARQUITECTURAS DE COMPUTADORA
¿Qué es una computadora?
Es una maquina electrónica capaz de almacenar información y tratarla automáticamente
mediante operaciones matemáticas y lógicas controladas por programas informáticos.

¿Qué es una arquitectura?


La arquitectura de una computadora representa un sistema que integra diferentes
componentes organizados en diferentes niveles independientes unos de otros en cuanto a
estructura, pero conservando la interdependencia desde el nivel más alto hasta el nivel más
bajo en torno a su funcionamiento.

MODELOS DE ARQUITECTURAS DE CÓMPUTO


Arquitectura Von Newmann

Esta arquitectura fue usada en la computadora ENIAC, consiste en una unidad


central de proceso que se comunica a través de un solo bus con un banco de
memoria en donde se almacenan tanto los códigos de instrucción del
programa, como los datos que serán procesados por este.

Esta arquitectura es la más empleada en la actualidad ya que es muy versátil,


ejemplo de esto es el funcionamiento de los compiladores, los cuales son
programas que toman como entrada un archivo de texto conteniendo código
fuente y generan como datos de salida, el código máquina que corresponde a
dicho código fuente. Estos datos de salida pueden ejecutarse como un
INGENIERÍA EN SISTEMAS
COMPUTACIONALES 5
Arquitectura de Computadoras

programa posteriormente ya que se usa la misma memoria para datos y para


el código del programa.

Ventajas

 Aparece por primera vez el concepto de programa almacenado


 Se asigna un código numérico a cada instrucción
 El CPU se subdivide en ALU y unidad de control

Desventajas

 Bus de datos y direcciones único – Cuello de botella de Von Newmann


 Todos los accesos son secuenciales
 Se limita el grado de paralelismo

Arquitectura Harvard

Esta arquitectura surgió en la universidad que lleva su mismo nombre, poco


después de que la arquitectura Von Newmann apareciera por la universidad
de Princeton. Al igual que en la arquitectura Von Newmann, el programa se
almacena como un código numérico en la memoria, pero no en el mismo
espacio de memoria ni en el mismo formato que los datos.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 6
Arquitectura de Computadoras

CLASICAS
Estas arquitecturas se desarrollan en las primeras computadoras
electromecánicas y de tubos de vacío (bulbos). Aun son usadas en
procesadores empotrados de gama baja y son la base de la mayoría de las
arquitecturas modernas.

SEGMENTADAS
Aparecieron a mediados de los años 60’s como una manera de aumentar el
rendimiento sin implicar un nivel masivo de paralelismo, durante los 80’s fueron
una de las ideas centrales de los procesadores RISC, buscando alcanzar el
objetivo de que se ejecutara una instrucción cada ciclo de máquina.

En ingles se conocen como PIPELINED PROCESSORS y consiste en dedicar


unidades específicas del procesador a cada una las partes del ciclo de
instrucción y ejecutarlas paralelamente, lo cual mejora drásticamente el
rendimiento debido a que en los procesadores modernos tienen hasta 14
etapas en el ciclo de instrucción.

DE MULTIPROCESAMIENTO
Cuando se desea incrementar el desempeño más allá de lo que permite la
técnica de pipeline (limite teórico de una instrucción por ciclo de reloj), se
requiere utilizar más de un procesador para la ejecución del programa de
aplicación.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 7
Arquitectura de Computadoras

Los CPU’s de multiprocesamiento se clasifican de la siguiente manera:

 SISO
 SIMO
 MISO
 MIMO

Procesadores vectoriales

Son computadoras pensadas para aplicar un mismo algoritmo numérico a una


serie de datos matriciales, en especial en la simulación de sistemas físicos
complejos, tales como simuladores para predecir el clima, explosiones
atómicas, reacciones químicas complejas, etc., donde los datos son
representados como grandes números de datos de forma matricial sobre los
que se deben aplicar el mismo algoritmo numérico.

Sistemas SMP (procesadores simétricos)

En los sistemas SMP varios procesadores comparten la misma memoria


principal y periféricos de Entrada/Salida, normalmente conectados por un bus
común.

Se conocen como simétricos, ya que ningún procesador toma el papel de


maestro y los demás de esclavos, sino que todos tienen derechos similares en
cuanto al acceso a la memoria y periféricos, donde ambos son administradores
por el sistema operativo.

Clusters

Son un conjunto de computadoras independientes conectadas en una red de


área local o por un bus de interconexión y que trabajan cooperativamente para
resolver un problema. Es clave para su funcionamiento contar con un S.O. y
programas de aplicación capaces de distribuir el trabajo entre las
computadoras de la red.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 8
Arquitectura de Computadoras

ANALISIS DE LOS COMPONENTES

CPU

ARQUITECTURAS
Además de las arquitecturas clásicas antes mencionadas, en la actualidad han
aparecido arquitecturas hibridas entre la Von Newmann y la Harvard,
buscando conservar la flexibilidad, pero mejorando el rendimiento.

El cambio más importante de los últimos años en diseño de las computadoras


se dio en los años 80’s, con la aparición de la corriente de diseño conocida
como computadoras de conjunto reducido de instrucciones (RISC).

Esta escuela pretende aplicar un enfoque totalmente distinto al tradicional


hasta entonces, que pasó a conocerse como computadoras de conjuntos
complejos de instrucciones (CISC) para diferenciarla de la nueva tendencia.
La tendencia tradicional, representada por las arquitecturas CISC (Complex
Instruction Set Computing), se caracteriza por tener un número amplio de
instrucciones y modos de direccionamiento.

Se implementan instrucciones especiales que realizan funciones complejas,


de manera que un programador puede encontrar con seguridad, una
instrucción especial que realiza en hardware la función que el necesita.

El número de registros del CPU es limitado, ya que las compuertas lógicas del
circuito integrado se emplean para implementar las secuencias de control de
estas instrucciones especiales.

Los compiladores de lenguajes de alto nivel no hacían uso de las instrucciones


especiales implementadas en los procesadores CISC, por lo que resultaba un
desperdicio de recursos emplear las compuertas del circuito de esta forma, por

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 9
Arquitectura de Computadoras

lo que se decidió que era mejor emplear estos recursos en hacer que las pocas
instrucciones que realmente empleaban los compiladores se ejecutaran lo más
rápido posible.

Así surgió la escuela de RISC (Reduced Instruction Set Computing) donde solo
se cuenta con unas pocas instrucciones y modos de direccionamiento, pero se
busca implementarlos de forma muy eficiente y que todas las instrucciones
trabajen con todos los modos de direccionamiento, además se observó que
una de las tareas que tomaban más tiempo en ejecutarse en lenguajes de alto
nivel, era el pasar los parámetros a las subrutinas a través de la pila.

Como la forma más rápida de hacer este paso es por medio de registros del
CPU, se buscó dotarlo con un amplio número de registros, a través de los
cuales se pueden pasar dichos parámetros.

CISC vs RISC

Considere los siguientes fragmentos de programas:

CISC RISC

Mov ax,10 Mov ax,0


Mov bx,5 Mov bx,10
Mul bx,ax Mov cx,5
Begin add ax,bx
Loop Begin

Total de ciclos de reloj

(2 mov * 1 ciclo) (3 mov * 1 ciclo)


+ (1 mul * 30 ciclos) + (5 add * 1 ciclo)
= 32 cliclos + (5 loops * 1 ciclo)
= 13 ciclos

Resumen
CISC RISC

Unas cuantas instrucciones simples Muchas instrucciones más complejas

Instrucciones de longitud fija Instrucciones de longitud variable

Complejidad en el compilador Complejidad en el microcodigo

Acceso a la memoria solo con instrucciones Muchas instrucciones pueden accesar la memoria
load/store
INGENIERÍA EN SISTEMAS
COMPUTACIONALES 10
Arquitectura de Computadoras

Muy pocos modos de direccionamiento Muchos modos de direccionamiento

La diferencia entre CISC y RISC empieza a ser evidente por medio de la


ecuación básica de la eficiencia en cómputo.

TIPOS
Los CPU pueden clasificarse de acuerdo a varias características, tales como
el tamaño de la ALU o del BUS de conexión al exterior (8, 16, 32 y 64 bits), si
tienen cauce pipeline, si son tipo CISC o RISC, Von Newmann y Harvard y si
solo tienen instrucciones enteras o implementan también instrucciones de
punto flotante.

CARACTERISTICAS
Las características más importantes a considerar al escoger al CPU para
usarlo en una aplicación son:

 Modelo del programador (conjunto de registros que el programador puede utilizar),


forman el modelo mental del CPU que el programador utiliza al programar en
ensamblador.
 Conjunto de instrucciones que puede ejecutar el CPU.
 Modos de direccionamiento que pueden usarse para obtener los operandos de las
instrucciones.
 Ciclo de instrucción (el conjunto de pasos que realiza el CPU para procesar cada
instrucción).
 Buses de interconexión, usados para que el CPU lea y escriba a la memoria y a los
dispositivos de entrada y salida.

¿EN QUE CASOS SE DEBE SELECCIONAR UN CPU?

Acciones directas

 Integrar un nuevo sistema de cómputo


 Reemplazar un CPU dañado
 Actualizar un sistema de cómputo

Acciones indirectas

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 11
Arquitectura de Computadoras

 Comprar equipo de cómputo nuevo


 Construir un equipo de control – Microcontrolador

ESTRUCTURA INTERNA

FUNCIONAMIENTO (ALU, UNIDAD DE CONTROL,


REGISTROS Y BUSES INTERNOS)
Todos los CPU tienen como función principal la ejecución de un programa
acorde a la aplicación del mismo. Un programa es un conjunto de instrucciones
almacenadas de acuerdo al orden en que deben ejecutarse, por lo tanto, una
computadora debe ser capaz de procesar las instrucciones de su programa en
un ciclo de instrucción, consistente en un número de etapas que varía con
cada CPU, pero que tradicionalmente han sido tres.

Búsqueda del código de instrucción

Consiste en leer de la memoria cual será la siguiente instrucción a ejecutar, la


cual esta almacenada en forma de un código numérico que indica cual de
todas las operaciones que puede realizar el CPU será la siguiente y con que
operandos se ejecutara.

Decodificación

Consiste en tomar el código numérico e identificar a cuál de las operaciones


que puede realizar el CPU corresponde a dicho código. Esta etapa usualmente
se realiza con un decodificador binario.
INGENIERÍA EN SISTEMAS
COMPUTACIONALES 12
Arquitectura de Computadoras

Ejecución

En esta etapa se lleva a cabo la operación sobre los datos que se vayan a
procesar, en general la Unidad de Control (UC) genera las señales de control
necesarias para llevar los datos a las entradas por la Unidad Aritmético Lógica
(ALU), la cual efectuara las operaciones matemáticas y lógicas.

Posteriormente, la UC generara las señales de control necesarias para


transferir la salida de la ALU al registro donde serán almacenados los
resultados para su uso posterior.

CICLO DE INSTRUCCIÓN

Es importante recordar que cada instrucción del programa se almacena en


memoria como un número binario. Este número se conoce como código de
instrucción y usualmente se divide en al menos en dos campos: un código de
operación (opcode) y un número que representa el operando u operandos de
la instrucción.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 13
Arquitectura de Computadoras

Cada instrucción se almacena en una de las 4096 palabras de memoria de 16


bits cada una.

Se utiliza un formato de un solo operando, con un segundo operando en el


acumulador cuando es necesario.

Los cuatro bits más significativos de los 16 bits de la palabra se dedican a


almacenar el código de operación.

Los doce bits menos significativos se dedican a almacenar la dirección del


operando.

La siguiente tabla nos resume los códigos de operación de la computadora.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 14
Arquitectura de Computadoras

ACC

Acumulador, se usara para almacenar uno de los operandos y el resultado de


varias de las instrucciones.

MAR

(Memory Address Register) Registro de Dirección de Memoria, selecciona a


qué localidad de memoria se va a leer o a escribir.

MBR

(Memory Bus Register) Registro de Bus de Memoria, a través de él se lee y se


escriben datos.

PC

(Program Counter) Contador de Programa, almacena la dirección de la


siguiente instrucción a buscar. Por esta razón también es conocido como
apuntador de instrucciones.

IR

Registro de Instrucción, guarda el código de la instrucción que se está


ejecutando.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 15
Arquitectura de Computadoras

Flags

Registro de banderas, agrupa a todas las banderas de la ALU en un registro.

DIAGRAMA A BLOQUES DEL CPU

MEMORIA

CONCEPTOS BASICOS DE MEMORIA


 Una memoria es un dispositivo que puede mantenerse en por lo menos dos estados
estables por un cierto periodo de tiempo.
 Cada uno de estos estados estables puede utilizarse para representar un bit.
 A un dispositivo con la capacidad de almacenar por lo menos un bit se le conoce como
celda básica de memoria.
 Un dispositivo de memoria completo se forma de varias celdas básicas y los circuitos
asociados para poder leer y escribir dichas celdas básicas, agrupadas como
localidades de memoria que permitan almacenar un grupo de N bits.
 El número de bits que puede almacenar cada localidad de memoria es conocido como
el ancho de palabra de la memoria.
 Coincide con el ancho del bus de datos.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 16
Arquitectura de Computadoras

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 17
Arquitectura de Computadoras

MEMORIA PRINCIPAL SEMICONDUCTORA


Existen dos categorías principales:

ROM (Read Only Memory)

Es aquella memoria de almacenamiento que permite solo la lectura de la


información y no su destrucción, independientemente de la presencia o no de
una fuente de energía que la alimente.

Los datos se almacenan de forma permanente o semipermanente, son


memorias no volátiles.

RAM (Random Access Memory)

Se tarda lo mismo en acceder a cualquier dirección de memoria, capacidad de


lectura y escritura, son memorias volátiles y existen dos tipos de memoria RAM
que son:

SRAM (Estáticas)

 Utiliza flip-flops para almacenar celdas.


 Rapidez de acceso a los datos.
 Tecnología con la que se implementan las memorias cache.
 Dos tipos: síncronas y asíncronas de ráfaga, la diferencia consiste en el uso de la señal
de reloj del sistema para sincronizar todas las entradas.
 Modo ráfaga en las SRAM síncronas, lee o escribe en varias posiciones de memoria
(hasta 4) utilizando una única dirección. También está presente en las DRAM.

DRAM (Dinámicas)

 Memorias más lentas que las SRAM, bajo costo y mayor capacidad de
almacenamiento.
 Requiere refrescar de manera periódica ya que el condensador se descarga.
 Tiempo de ciclo es mayor al tiempo de acceso
 Multiplexación de direcciones, ahorro de pines en los chips de memoria.
 Asíncronas y síncronas, intercambio de señales entre la memoria y el procesador o
utilización de una señal de reloj.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 18
Arquitectura de Computadoras

MEMORIA CACHE
Básicamente es un tipo de memoria volátil (tipo RAM), pero de una gran
velocidad, que está integrada en el procesador, existen muchas memorias
cache (de disco, de sistema, de datos, etc.) y está diseñada para servir el
apropiado y organizado almacenamiento de información de una computadora,
su función es mantener de manera temporal y accesible aquellos datos que
son requeridos para realizar determinadas funciones o tareas. Esta
disponibilidad permite que cada programa o archivo tenga acceso inmediato a
la información necesaria.

TIPOS DE MEMORIA CACHE

 Cache de 1er nivel (L1).- Está integrada en el núcleo del procesador trabajando a la
misma velocidad que este y la cantidad de memoria cache de este nivel va desde los
64 Kb y los 256 Kb, esta memoria a su vez se divide en dos partes dedicadas, una para
instrucciones y otra para datos.
 Cache de 2do nivel (L2).- Está integrada en el procesador aunque no directamente en
el núcleo, tiene las mismas ventajas que la L1 aunque es más lenta, suele ser mayor
pudiendo llegar a superar los 2 Mb, no está dividida y su utilización esta mas
encaminada a programas que al sistema.
 Cache de 3er nivel (L3).- Es más lenta que la L2, muy poco utilizada en la actualidad,
en un principio estaba incorporada en la placa base no en el procesador y su velocidad
de acceso es bastante más lenta que la L1 y L2 ya que si bien sigue siendo una
memoria de gran rapidez (muy superior a la RAM) depende de la comunicación que
existe entre el procesador y la placa base.

MANEJO DE LA ENTRADA SALIDA


Una computadora no puede estar formada solamente por CPU y Memoria,
para darle utilidad debe comunicarse con el exterior a través del subsistema
de Entrada/Salida (I/O – Input/Output), donde la misión del subsistema de E/S
es adaptar los dispositivos externos antes de conectarlos al bus del sistema.

Existen 2 formas de implementar la E/S en una computadora:

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 19
Arquitectura de Computadoras

 Construir a medida el subsistema utilizando elementos básicos.


 Incorporar y programar dispositivos estándares más complejos y genéricos.

FUNCIONES

DIRECCIONAMIENTO.- Selección del dispositivo correspondiente de entre los


dispositivos disponibles del sistema.

SINCRONIZACION.- Posibilita que la CPU y la memoria (Alta velocidad) se


puedan comunicar con los dispositivos de E/S (baja velocidad), sincronizando
los envíos de datos entre ambos.

TRANSFERENCIA.- El sistema de E/S debe tener toda la circuitería y señales


de comunicación apropiadas para llevar a cabo la comunicación con cada uno
de los dispositivos del sistema.

MODULOS DE ENTRADA/SALIDA
La E/S se implementa mediante dispositivos periféricos. Un periférico se puede
definir como:

 Un elemento que permite la transferencia de información entre la CPU y el mundo


exterior.
 Interfaz que traduce la información asíncrona y analógica del mundo exterior a la
información síncrona y codificada de la computadora.
 Dos partes: Modulo de E/S y dispositivo externo.

El módulo de E/S coordina el correcto flujo de información entre uno o varios


dispositivos externos (impresora, monitor, etc.) e internos (memoria,
procesador, etc.) y entre las funciones que realiza se dan las siguientes:

 Reconoce la dirección de la CPU que identifica al dispositivo externo.


 Transfiere datos entre la CPU y el dispositivo externo.
 Recibe comandos desde la CPU.
 Mantiene información de estado del periférico y mantiene el protocolo de
comunicaciones con el periférico.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 20
Arquitectura de Computadoras

Un módulo de E/S puede controlar varios dispositivos externos, almacena


datos temporalmente, debido a las diferencias de velocidad entre los
periféricos y la CPU o la memoria, dispone de un mecanismo de detección de
errores tales como el uso del bit de paridad.

ENTRADA/SALIDA PROGRAMADA
La CPU tiene el control absoluto de la operación de E/S (inicia y lleva a cabo
la transferencia) y está dedicándose por completo a realizar tanto la
comprobación de estado como la transferencia e inicialización.

ENTRADA/SALIDA MEDIANTE INTERRUPCIONES


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

FUNCIONAMIENTO

1. El procesador ejecuta instrucciones de un programa, al finalizar cada instrucción


comprueba si se ha producido una interrupción.
2. En caso afirmativo se salva el estado actual del programa (contador del programa y
registros) y se salta a ejecutar la rutina de servicio correspondiente.
3. La rutina de servicio efectúa las operaciones apropiadas de E/S para realizar la
transferencia de datos solicitada.
4. Al finalizar la rutina de servicio se recupera el estado de la CPU y se continúa
ejecutando el programa que se estaba ejecutando antes de la interrupción.

Las interrupciones pueden ser enmascarables (se pueden atender por medio
de software) o no enmascarables (siempre atendidas) y existen dos maneras
de conocer la dirección/posición (vector) donde se encuentra la rutina de
servicio de la interrupción que es el vector de interrupciones siempre fijo o que
el periférico suministra el vector de interrupción.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 21
Arquitectura de Computadoras

Generalmente existen varios periféricos que pueden realizar interrupciones lo


cual obliga a establecer prioridades y decidir cómo se conectan al CPU,
también es necesario determinar para cada periférico su vector de
interrupción.

ACCESO DIRECTO A MEMORIA


El DMA (Direct Memory Access) es un procesador/controlador especializado
en transferencias muy grandes desde periféricos a memoria y viceversa, es
programable, lo que significa que la CPU no realiza ninguna tarea (solo
programar el DMA) ya que la inicialización y transferencia son gobernadas por
el periférico. Para programar el DMA hay que enviar algunos datos como:

 Dirección/Puerto periférico E/S


 Posición/Dirección en memoria principal
 Tamaño (número de bytes a transferir)
 Tipo transferencia ya sea lectura o escritura.

Al finalizar el DMA avisa mediante una interrupción, esta interrupción al igual


que el resto son normalmente atendidas al final de cada instrucción, la rutina
de servicio asociada comprobara el estado del DMA para ver si se han
producido errores al ejecutar la transferencia que se le ha encomendado.

A diferencia del mecanismo por interrupción convencional, una orden DMA


puede transferir muchos datos en una sola ocasión, por lo tanto el número de
interrupciones por byte transferido es mucho menor que con las interrupciones
convencionales. Cabe mencionar que el procesador no se encarga de la
transferencia de datos.

CANALES Y PROCESADORES DE ENTRADA/SALIDA


Para reducir la necesidad de interrumpir al procesador y ocuparlo en el manejo
de interrupciones de E/S, se pueden diseñar los módulos de E/S de forma que
INGENIERÍA EN SISTEMAS
COMPUTACIONALES 22
Arquitectura de Computadoras

exista un procesador en el módulo que ejecute instrucciones especiales para


realizar operaciones de E/S. al módulo se le llama canal de E/S.

La CPU construye en memoria un programa de E/S, también llamado


programa de canal, donde la transferencia se inicia indicando al canal que
ejecute el programa, el canal sigue estas instrucciones y contrala la
transferencia. Si además del procesador el módulo de E/S contiene memoria
local, se le llama procesador de E/S que se implementan con procesadores
normales de propósito general.

BUSES
Los componentes de una computadora (CPU, Memoria, E/S) se conectan
entre sí mediante un conjunto de líneas que transmiten señales con funciones
específicas.

TIPOS DE BUSES
Existen tres tipos de buses que constituyen un bus: direcciones (Memoria o
E/S), datos y control.

 Serie y paralelo.- Los primeros transmiten bit a bit y los segundos varios bits a la vez.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 23
Arquitectura de Computadoras

 Multiplexados y no multiplexados o dedicados.- Los multiplexados realizan diferentes


funciones en función de las necesidades del momento.
 Centralizados y distribuidos.- Necesidad de determinar que elemento transmite y cual
recibe. Generalmente existe administración centralizada por la CPU o procesador.
 Síncronos y Asíncronos (temporizador).- Como ocurren los diferentes eventos (comienzo,
fin,…) implicados en la transmisión de información. Utilización de una señal de reloj
(comunicación síncrona) o unas líneas de protocolo (comunicación asíncrona).

ESTRUCTURA DE LOS BUSES


Los buses se componen de líneas eléctricas que transmiten un “0” (cero
voltios) o un “1” (más de cero voltios).

 Líneas/bus de datos: camino para transferir datos entre el resto de componentes de


un equipo de cómputo, su anchura (número de líneas eléctricas) suele ser una
potencia de dos (8=23, 16=24, 32=25, 64=26,…)
 Líneas/bus de direcciones: designan la posición/dirección de los datos. Son salidas de
la CPU/procesador y determinan capacidad de direccionamiento.
 Líneas/bus de control: controlan el acceso y uso de las líneas/buses anteriores.

JERARQUIA DE LOS BUSES


Compatibilidad entre buses

Solo si son eléctricamente idénticos. Las características de los diferentes


tipos de buses deben estar normalizadas. Ejemplo: bus PIC, AGP, USB,
FireWire, etc.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 24
Arquitectura de Computadoras

Antiguamente solo existía un bus principal que lo conectaba todo, bus de


sistema.

Actualmente existe un conjunto de buses conectados entre sí y formando


una jerarquía.

Facilita la mejora del rendimiento de todo el computador al agrupar dentro de


los diferentes tipos de buses aquellos componentes del ordenador que tienen
aproximadamente la misma velocidad de transmisión de la información.

Mientras más lejos del CPU, buses más lentos y normalmente de menos
líneas de datos.

Varios tipos de buses en función de su posición dentro de la jerarquía:

 Bus de CPU o bus local del procesador, elementos más rápidos tales como la
memoria cache.
 Bus local o bus del sistema (front side bus), conecta elementos tales como la
memoria principal o dispositivos rápidos (por ejemplo AGP).
 Bus de expansión y o E/S: PCI, USB, ATA, SCSI, etc.

Esquema típico de jerarquía de buses en una computadora. Los buses de


arriba son los más rápidos y el bus de expansión el más lento.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 25
Arquitectura de Computadoras

Esquema de conexión de componentes en una PC. El chip “puente sur” agrupa los
buses más lentos y el “puente norte” los más rápidos.

INTERRUPCIONES
Una interrupción es un mecanismo que permite ejecutar un bloque de
instrucciones interrumpiendo la ejecución de un programa, y luego restablecer
la ejecución del mismo sin afectarlo directamente. De este modo un programa
puede ser interrumpido temporalmente para atender alguna necesidad urgente
de la computadora y luego continuar su ejecución de manera normal y como
si nada hubiera pasado. 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. Una vez atendida seguirá con su
labor anterior. Cuando no existían interrupciones, era el procesador el que
tenía que estar continuamente comprobando el estado del dispositivo cuando
lo necesitaba. Todo ese tiempo que el procesador estaba sondeando el estado
de los dispositivos era tiempo que no se podía dedicar a otros procesos, lo que
significa una afectación en el rendimiento. Por todo ello se pensó que lo mejor

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 26
Arquitectura de Computadoras

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.

Se pueden distinguir dos tipos de interrupción:

 Interrupciones de software.- Son producidas por medio de la ejecución de una


operación especial que se conoce como “llamada al sistema” (system call) o por
errores producidos dentro de un proceso, también conocidas como excepciones.
 Interrupciones de hardware.- Son producidas por un dispositivo y viajan por el mismo
bus del sistema.

INTERRUPCIONES DE ENTRADA/SALIDA

Con el fin de iniciar una operación de E/S la CPU carga los registros
apropiados dentro del controlador del dispositivo, el controlador a su vez
examina el contenido de estos registros para determinar qué acción debes
realizar, por ejemplo, si se encuentra una solicitud de lectura, el controlador
iniciara la transferencia de datos del dispositivo a su buffer local, cuando haya
terminado de hacer esto el controlador informara al CPU que ha completado
su operación, esta comunicación se genera por una interrupción.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 27
Arquitectura de Computadoras

INTERRUPCIONES DE PROGRAMA

Este tipo de interrupciones es la forma más importante que tendrán los


programas de ejecutar funciones especiales del DOS (Disk Operation System)
o del BIOS (Basic Input Output System), estas funciones tienen un numero de
interrupción software asociada, cuando un programa lanza una interrupción de
este tipo, la CPU ejecuta su función de tratamiento asociada, por lo que se
debe saber qué es lo que hace cada interrupción para conseguir el efecto
deseado. Las interrupciones de DOS son más fáciles pero también son más
lentas ya que hacen uso de la BIOS para lograr su funcionamiento, las
interrupciones de la BIOS son más rápidas pero la desventaja es que son muy
específicas y pueden variar dependiendo incluso de la marca del fabricante del
circuito.

INTERRUPCIONES EXTERNAS

El uso de las interrupciones nos ayuda en la creación de programas,


utilizándolas nuestros programas se vuelven más cortos, es más fácil
entenderlos y usualmente tienen un mejor desempeño debido en gran parte a
su menor tamaño. Estas interrupciones externas son generadas por los
dispositivos periféricos, como el teclado, impresoras, tarjetas de

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 28
Arquitectura de Computadoras

comunicaciones y por los coprocesadores. Estas interrupciones no son


enviadas directamente a la CPU, sino que se mandan a un circuito integrado
cuya función es exclusivamente manejar este tipo de interrupciones.

Por ejemplo en un circuito (PIC16F84A) si es controlado por la CPU utiliza los


puertos si hace referencia a:

Interrupción Propósito Sintaxis Explicación


10H Llama a diversas Int 10H Esta interrupción tiene
funciones de video diversas funciones, todas
del BIOS. ellas sirven para controlar la
02H Selección de E/S de video, la forma de
posición del cursor. acceso a cada una de las
09H Escribe atributo y opciones es por medio del
carácter en el registro AH
cursor.
0AH Escribe carácter en
la posición del
cursor.
0EH Escritura de
caracteres en modo
alfanumérico.
16H Maneja la E/S del Int 16H Cuando se utiliza esta
teclado interrupción se detiene la
00H Imprime un carácter ejecución del programa
ASCII hasta que se introduzca un
01H Inicializa la carácter desde el teclado, si
impresora la tecla presionada es de
02H Proporciona el carácter ASCII su valor será
estado de la guardado en el registro AH,
impresora de lo contrario el código de
barrido será guardado en AL
y AH contendrá el valor 00H

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 29
Arquitectura de Computadoras

BIBLIO GRAFÍA
1. Barry, B. brey. Microprocesadores intel. Pearson 7ª Edición 2006
2. Abel P. Lenguaje Ensamblador y programación para PC IBM y compatibles.
Estado de México, México. : Prentice Hall; 1996.
3. Martínez, Jaime Garza JAOR. Organización y arquitectura de
Computadoras. Estado de México, México.: Pretince Hall; 2000.
4. Mano, Morris M. Arquitectura de Computadoras. Ed. Prentice Hall.
5. García, María Isabel, RMC, Cordova Cabeza, María. Estructura de
Computadores Problemas y soluciones. Distrito Federal, México.:
Alfaomega; 2000.
6. Miles, J. Mordocca VPH. Principios de arquitectura de computadoras.
Buenos Aires, Rep. Argentina.: Pretince Hall; 2002.
7. Stallings, W. Organización y Arquitectura de Computadoras. 4ta Edición ed.
Madrid, España.: Editorial Prentice Hall; 1997.
8. Tanenbaum, AS. Organización de computadoras un enfoque estructurado.
Estado de México, México.2000.

INGENIERÍA EN SISTEMAS
COMPUTACIONALES 30

También podría gustarte