Professional Documents
Culture Documents
TAPACHULA
CARRERA
INGENIERA EN SISTEMAS
COMPUTACIONALES
ASIGNATURA
ARQUITECTURA DE COMPUTADORAS
DOCENTE
ARQUITECTURAS DE CMPUTO
ESTUDIANTES
U
NIDAD
TAPACHULA, CHIS.
05 DE OCTUBRE DE 2015
CONTENIDO
UNIDAD 1
1
Arquitecturas de cmputo
1.1
1.2
1.2.2.3
Tipos de buses.
Estructura de los buses.
Jerarquas de buses.
2 | 76
1.2.5 Interrupciones.
INDICE
Introduccin
Pgina
1.1
Modelos de arquitecturas de cmputo.
1.1.1 Clsicas.
1.1.2 Segmentadas.
1.1.2.1 Pipe-line
1.1.3 De multiprocesamiento.
1.1.3.1 Clasificacin
5
7
9
11
11
13
1.2
16
1.2.1 CPU.
1.2.1.1 Arquitecturas.
1.2.1.1.1 Arquitectura Cisc.
1.2.1.1.2 Arquitectura Risc.
1.2.1.2 Tipos.
1.2.1.3 Caractersticas.
1.2.1.4 Funcionamiento (ALU, unidad de control, registros y buses internos).
16
18
19
21
23
28
29
1.2.2 Memoria.
1.2.2.1 Conceptos bsicos del manejo de la memoria.
1.2.2.2 Memoria principal semiconductora.
1.2.2.2.1 Tipos de memorias semiconductoras de acceso aleatorio.
1.2.2.2.2 Organizacin.
1.2.2.2.3 Lgica del chip
1.2.2.3 Memoria cach.
1.2.2.3.1 Elementos de diseo de la cache.
38
38
40
40
43
43
44
46
47
48
49
53
55
57
1.2.4 Buses.
1.2.4.1 Tipos de buses.
1.2.4.2 Estructura de los buses.
1.2.4.3 Jerarquas de buses.
58
60
67
70
1.2.5 Interrupciones.
72
Conclusin
3 | 76
Bibliografa
INTRODUCCION
La computadora est diseada para cumplir con las tareas cotidianas que
realizamos en ella, pero conocemos cmo es su funcionamiento interno para que
realice nuestras tareas? En el presente reporte de investigacin se aprender a
ver ms all de la simple vista humana a un computador. Se conocer el trabajo
de cada uno de los componentes que hacen posible la interaccin mquinausuario cumpliendo sus respectivas acciones y trabajos que stos solicitan. Se
observar detalladamente cada una de las operaciones que interceden con sus
respectivos procedimientos y necesidades que surgen al momento del trabajo.
Teniendo como punto de partida desde el aparentemente sencillo uso del teclado
y ratn, y que al parecer todo es muy simple, hasta cada uno de los circuitos que
son necesarios para llevar a cabo un simple clic, hasta algo tan complejo como la
misin tan importante que representa la CPU para el sistema computacional.
4 | 76
1.1
Nombre
Mquina analtica
Hecho por
Babbage
1936
Z1
Zuse
1943
COLOSSUS
Gobierno ingls
1944
Mark l
Aiken
1946
ENIAC l
1949
EDSAC
Eckert/Mauchle
y
Wikes
1951
Whielwind l
M.I.T
1952
IAS
Von Newman
Comentario
Primer intento por construir una
computadora digital
Primera mquina calculadora de
relevadores funcional
Primera computadora electrnica
Primera
computadora
estadounidense de propsito
general
Inicia la historia moderna de la
computacin
Primera
computadora
de
programa almacenado
Primera computada de tiempo
lineal
Casi todas las mquinas actuales
emplean este diseo
5 | 76
1960
1961
1962
1963
PDP-1
1401
7094
B5000
DEC
IBM
IBM
Burroughs
1964
360
IBM
1964
6600
CDC
1965
PDP-8
DEC
1970
1974
PDP-11
8080
DEC
Intel
1974
CRAY-1
Cray
1978
VAX
DEC
1981
IBM PC
IBM
1983
1985
1987
HP150
MIPS
SPARC
Hewlett Packard
MIPS
Sun
1990
1998
RSC6000
iMac
IBM
Apple
2003
Power Mac G5
Apple
2008
2011
Dell
XPS
13
Developer Edition Dell
con Ubuntu
Macbook Air
Apple
Chromebook
Google
2015
HP Sprout
2007
Hewlett Packard
Primera minicomputadora
Mquina pequea para negocios
Domin la computacin cientfica
Primera mquina diseada para
un lenguaje de alto nivel
Primera lnea de productos
diseada como familia
Primera
supercomputadora
cientfica
Primera minicomputadora con
mercado masivo
Domin las minicomputadoras
Primera
computadora
de
propsito general de 8 bits en un
chip
Primera
supercomputadora
vectorial
Primera
superminicomputadora
de 32 bits
Inici la era de la computadora
personal moderna
Primera computadora tctil
Primera mquina RISC comercial
Primera estacin de trabajo RISC
basada en SPARC
Primera mquina superescalar
Primera fuera del legado de las
PC con un puerto USB sin disco
floppy
En
su
momento
fue
la
computadora personal ms rpida
del mercado
Primera laptop con sistema
operativo
Ubuntu
Linux
preinstalado
La laptop ms delgada
Primera laptop con Chrome OS
Cuenta con un proyector que
hace que la superficie se
convierta
en
una
segunda
pantalla y un sistema de cmaras
3D
que
permiten
capturar
cualquier objeto del mundo
real que
pongas
en
esta
6 | 76
Clsicas
7 | 76
8 | 76
Ambos buses son totalmente independientes lo que permite que la CPU pueda
acceder de forma independiente y simultnea a la memoria de datos y a la de
instrucciones. Como los buses son independientes stos pueden tener distintos
contenidos en la misma direccin y tambin distinta longitud. Tambin la longitud
de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la
memoria en general.
El hecho de tener un bus separado para el programa y otro para los datos permite
que se lea el cdigo de operacin de una instruccin, al mismo tiempo se lee de la
memoria de datos los operados de la instruccin previa. As se evita el problema
del cuello de botella de von Newman y se obtiene un mejor desempeo.
En la actualidad la mayora de los procesadores modernos se conectan al exterior
de manera similar a la arquitectura von Newman, con un banco de memoria
masivo nico, pero internamente incluyen varios niveles de memoria cach con
bancos separados en cach de programa y cach de datos, buscando un mejor
desempeo sin perder la versatilidad.
1.1.2
Segmentadas
cauce, las dos etapas se realizaran de manera secuencial para cada una de las
instrucciones, como lo muestra la siguiente figura.
1.1.3
De Multiprocesamiento3
11 | 76
1.1.3.1 Clasificacin.
12 | 76
13 | 76
14 | 76
15 | 76
1.2
CPU
1.2.1.1
Arquitecturas
18 | 76
Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total de
ejecucin de un programa.
Existen secuencias de instrucciones simples que obtienen el mismo
resultado que secuencias complejas predeterminadas, pero requieren
tiempos de ejecucin ms cortos.
I: Capacitacin de instruccin.
E: Ejecucin. Realiza una operacin de la ALU con registros como entrada
y salida.
I: Capacitacin de instruccin.
E: Ejecucin. Calcula una direccin de memoria.
D: Memoria. Operacin registro a memoria o memoria a registro.
20 | 76
21 | 76
1.2.1.2
Tipos
Intel6
En septiembre de 1969 una compaa japonesa, Busicom, se acerc a Intel para
pedirle que fabricara 12 chips. El ingeniero de Intel asignado a este proyecto, Ted
Hoff, examin el plan y se percat de que poda poner una CPU de 4 bits de
propsito general en un solo chip. Fue as como en 1970 naci la primera CPU en
un solo chip, la 4004 de 2300 transistores.
Cuando Intel decidi que valdra la pena hacer el intento de usar la 4004 en otros
proyectos, comenz a trabajar en una nueva versin de ocho bits del chip, el 8008,
introducido en 1972. Este diseo dio como resultado el 8080, una CPU pequea,
de propsito general, introducido en 1974.
En 1978 lleg el 8086, una verdadera CPU de 16 bits en un solo chip. Al 8086
sigui el 8088, que tena la misma arquitectura que el 8086 y ejecutaba los
mismos programas pero tena un bus de 8 bits en lugar de uno de 16 bits.
Ni el 8088 ni el 8086 podan direccionar ms de un megabyte de memoria. Para
principios de los ochentas esto se convirti en un problema cada vez ms grave,
por lo que Intel dise el 80286, una versin del 8086 compatible hacia arriba.
El siguiente paso lgico era una verdadera CPU de 32 bits en un chip, el 80386,
que sali al mercado en 1985. Cuatro aos ms tarde sali el 80486. ste era
22 | 76
bsicamente en una versin ms rpida del 80386 que adems tena una unidad
de punto flotante y 8KB de memoria cach en el chip.
En 1993 Intel introdujo el Pentium, tena dos filas de procesamiento, lo que le
ayudaba a ser dos veces ms rpido que el 80486. Apareci la siguiente
generacin con el nombre de Pentium Pro, en lugar de tener dos o ms filas de
procesamiento, ste tena una organizacin interna muy distinta y poda ejecutar
hasta cinco instrucciones a la vez. Incorpora una memoria cach de dos niveles.
El mismo chip procesador tena 8KB de memoria para retener las instrucciones de
uso comn, y 8 KB de memoria para retener datos de uso comn.
El siguiente procesador Intel fue el Pentium II, que era bsicamente un Pentium
Pro con la adicin de extensiones multimedia especiales (llamadas MMX).
Los primeros integrantes de la familia Intel se muestran en la siguiente figura 7.
En
la
23 | 76
24 | 76
25 | 76
1.2.1.3
Caractersticas
1.2.1.4 Funcionamiento
La CPU8 (Unidad Central de Procesamiento) es el lugar en donde se manipulan
los datos, se conoce como el cerebro de la computadora, la CPU contiene un
pequeo chip llamado microprocesador. Cada CPU est formada por al menos de
dos partes bsicas: la unidad de control y la unidad lgica-aritmtica.
Unidad de control
La unidad de control es el centro lgico de la computadora ya que los recursos de
una computadora son administrados en la unidad de control, es esta unidad es la
que se encarga de dirigir el flujo de datos.
Las instrucciones de la CPU se encuentran incorporadas en la unidad de control,
estas instrucciones o conjunto de instrucciones enumeran todas las operaciones
que una CPU puede realizar. Cada instruccin es expresada en microcdigo.
Antes de que un programa sea ejecutado, cada comando debe desglosarse en
instrucciones que correspondan a las que estn en las instrucciones de la CPU. Al
momento de ejecutar el programa, la CPU lleva a cabo las instrucciones en orden
convirtindolas en micro cdigo. A pesar de la complejidad que resulta del
proceso, la computadora puede realizar este proceso a una velocidad increble.
Cuando una CPU es desarrollada, el conjunto de instrucciones tiene los mismos
comandos que su predecesora, aparte de incluirle algunos nuevos. Esto permite
que el software escrito para una CPU trabaje con computadoras con procesadores
8 Miles, J. Murdocca VPH. Principios de arquitecturas de computadoras p. 104
27 | 76
Operaciones lgicas
(comparaciones de nmeros)
= , Igual a, no igual a
> , > Mayor que, no mayor que
< , < Menor que, no menor que
> , > Mayor que o igual a, no mayor
que ni igual a
< , < Menor que o igual a, no menor
que ni igual a
28 | 76
Para poder hacer esto, la CPU necesita almacenar algunos datos temporalmente.
Debe recordar la posicin de ltima instruccin de forma que sepa dnde ir a
buscar la siguiente. Necesita almacenar instrucciones y datos temporalmente
mientras una instruccin est siendo ejecutada. En otras palabras, la CPU
necesita una pequea memoria interna.
REGISTROS
Dentro de la CPU hay un conjunto de registros que funciona como nivel de la
jerarqua de memoria por encima de la memoria principal y de la cache. Los
registros de la CPU son de dos tipos:
-
30 | 76
Uso general
Datos
Direcciones
Cdigos de accin
Los registros de uso general pueden ser asignados por el programador a diversas
funciones. A vece, su uso dentro del repertorio de instrucciones es ortogonal a la
operacin. Es decir, cualquier registro de uso general puede contener el operando
para cualquier cdigo de operacin. Esto proporciona una utilizacin de registros
de autntico uso general. Con frecuencia, sin embargo, existen restricciones. Por
ejemplo, puede haber registros especficos para operaciones en punto flotante.
En algunos casos los registros de uso general pueden ser utilizados para
funciones de direccionamiento. En otros casos hay una separacin clara o parcial
entre registros de datos y registros de direcciones. Los registros de datos pueden
ser usados nicamente para contener datos y no se pueden emplear en el clculo
de una direccin de operando. Los registros de direccin pueden ser en si
registros de uso ms o menos general, o pueden estar dedicados a un modo de
direccionamiento particular.
Registros de control y de estado
Hay diversos registros de la CPU que se pueden emplear para controlar su
funcionamiento. La mayor parte de las maquinas, no son visibles al usuario.
Algunos de ellos pueden ser visibles a instrucciones maquina ejecutadas en un
modo de control o de sistema operativo.
Naturalmente, maquinas diferentes tendrn diferentes organizaciones de registros
y usaran distinta terminologa. Se enumera aqu una lista razonablemente
completa de tipos de registros, con una breve descripcin.
Son esenciales cuatro registros para la ejecucin de una instruccin:
-
32 | 76
Aclaraciones:
1.- Los registros sombreados slo existen en los microprocesadores del 80386
hasta el Pentium 4.
2.- Los registros FS y GS no tienen nombres especiales.
De propsito general
Algunos registros son de propsito general (o registros multipropsito), mientras
que otros tienen propsitos especiales. A continuacin se describen los registros
multipropsito.
60 Registro
EAX (Acumulador)
Caractersticas33
Se define como un registro de 32 bits
(EAX), como un registro de 16 bits
(AX) o como uno de dos registros de
8 bits (AH y AL). Si se direcciona un
registro de 8 o de 16 bits, slo
cambia esa porcin del registro de 32
bits sin afectar a los bits restantes. El
acumulador
se
emplea
para
instrucciones como multiplicacin,
divisin
y
algunas
de
las
instrucciones
de
ajuste.
En
procesadores 80386 y superiores, el
registro EAX puede almacenar
tambin
la
direccin
de
desplazamiento de una posicin e en
el sistema de memoria.
ste puede direccionarse como EBX,
BX, BH o BL. Algunas veces guarda
la direccin de desplazamiento de
33 | 76
ECX (Conteo)
EDX (Datos)
De segmento de memoria
34 | 76
DS (Datos)
ES (extra)
SS (pila)
Caractersticas
Es una seccin de la memoria que
almacena el cdigo (procedimientos
y programas) utilizado por el
microprocesador. As mismo define la
direccin inicial de la seccin de
memoria que guarda el cdigo. En la
operacin en modo real, define el
inicio de una seccin de 64 Kbytes
de memoria. El segmento de cdigo
est limitado a 64 Kbytes en los
microprocesadores del 8088 y al
80286, y a 4 Gbytes en los
microprocesadores
80386
y
superiores cuando stos operan en
modo protegido.
Es una seccin de memoria que
contiene la mayor parte de los datos
utilizados por un programa. Se
accede a los datos en el segmento
de datos mediante una direccin de
desplazamiento o el contenido de
otros registros que guardan la
direccin de desplazamiento. La
longitud est limitada a 64 Kbytes en
los microprocesadores del 8086 al
80286, y a 4 Gbytes en los
microprocesadores
80386
y
superiores.
Es un segmento de datos adicional
utilizado por algunas de las
instrucciones de
cadena
para
guardar datos de destino.
Define el rea de memoria utilizada
para la pila. El punto de entrada de la
pila se determina mediante los
registros segmento de pila y
apuntador de pila. El registro BP
tambin direcciona datos dentro del
segmento de pila.
35 | 76
FS y GS
Son
registros
de
segmento
suplementario, disponibles en los
microprocesadores del 80386 al
Pentium 4 para que los programas
puedan acceder a dos segmentos de
memoria adicionales. Windows utiliza
estos segmentos para operaciones
internas, no existe una definicin
disponible de su uso.
De instrucciones10
EIP (apuntador de instrucciones). EIP direcciona la siguiente instruccin en una
seccin de memoria definida como segmento de cdigo. Este registro es IP (16
bits) cuando el microprocesador opera en modo real y EIP (32 bits) cuando el
80386 y superiores operan en modo protegido. Los procesadores 8086, 8088 y
80286 no contienen un registro EIP, por lo que slo el 80286 y superiores operan
en modo protegido. El apuntador de instrucciones, que apunta a la siguiente
instruccin en un programa, se utiliza por el microprocesador para encontrar la
siguiente instruccin secuencial en un programa ubicado dentro del segmento de
cdigo. El apuntador de instrucciones puede modificarse mediante un salto (jump)
o una instruccin de llamada (call).
1.2.2 Memoria
La memoria de una computadora consiste en un conjunto de registros numerados
(direccionados) en forma consecutiva, cada uno de los cuales normalmente
almacena un byte de informacin. Un byte es un conjunto de ocho bits. Cada
registro tiene una direccin, a la que se suele designar como locacin de memoria.
La denominacin nibble se refiere a un conjunto de cuatro bits. Normalmente, hay
acuerdo acerca de los significados de los trminos bit, byte y nibble, pero no
as sobre el concepto de palabra, el que depende de la arquitectura particular de
cada procesador.
1.2.2.1 Conceptos bsicos del manejo de la memoria 11
Un concepto relacionado en la unidad de transferencia. Para memorias internas, la
unidad de transferencia es igual al nmero de lneas de entrada/salida de datos
del mdulo de memoria. A menudo es igual a la longitud de palabra, pero puede
no serlo. Para aclararlo consideremos tres conceptos relacionados con la memoria
interna:
10 Ibdem., p. 52.
11 Organizacin y Arquitectura de Computadoras. 4ta Edicin p.99
36 | 76
que finalicen las transiciones en las lneas de seal o para regenerar los
datos en el caso de lecturas destructivas.
Velocidad de transferencia: es la velocidad a la que se pueden transferir
datos a, o desde, una unidad de memoria. Para memorias de acceso
aleatorio coinciden con el inverso del tiempo de ciclo. Para memorias de
acceso aleatorio coinciden con el inverso del tiempo de ciclo. Para otras
memorias se utiliza la siguiente relacin:
TN= TA + N/R
Donde:
TN=Tiempo medio de escritura o de lectura de N bits
TA=Tiempo de acceso medio
N= Numero de bits
R=Velocidad de transferencia, en bits por segundo (bps)
1.2.2.2 Memoria principal semiconductora.12
En computadores antiguos, la forma ms comn de almacenamiento de acceso
aleatorio para a memora principal consista en una matriz de pequeos anillos
ferromagnticos denominados ncleos. Es por esto que la memoria principal
reciba a menudo el nombre de ncleo, un trmino que perdura en la actualidad. El
advenimiento de la microelectrnica y sus ventajas, acabo con las memorias de
ncleos. Hoy en da es casi universal el uso de memorias semiconductoras para la
memoria principal.
1.2.2.2.1 Tipos de memorias semiconductoras de acceso aleatorio
Todos los tipos de memorias que se exploran en esta seccin son de acceso
aleatorio. Es decir, las palabras individuales de la memoria son accedidas
directamente mediante lgica de direccionamiento cableada interna.
La siguiente tabla lista los principales tipos de memoria semiconductoras. La ms
comn es la denominada Memoria de Acceso Aleatorio (RAM, Random Access
Menor). Una caracterstica distintiva de las RAMs es que es posible tanto leer
datos como escribir rpidamente nuevos datos en ellas. Tanto lectura como la
escritura se ejecutan mediante seales elctricas.
38 | 76
Tablas de funciones
Cuando se necesitan solo una pocas ROMs con un contenido particular, una
alternativa ms barata es la ROM programable (PROM). Al igual que las ROMs,
las PROMs son no voltiles y pueden grabarse solo una vez. Para la PROM, el
proceso de escritura se lleva a cabo elctricamente y pueden realizarlo el
suministrador o el cliente con posterioridad a la fabricacin del chip original. Se
requiere un equipo especial para el proceso de escritura o programacin. Las
PROMs proporcionan flexibilidad y comodidad.
Otra variante de memoria de solo lectura es la memoria de sobre todo lectura,
que es til para aplicaciones en la que las operaciones de lectura son bastante
ms frecuentes que las de escritura, pero para las que se requiere un
almacenamiento no voltil. Hay tres formas comunes de memorias de sobre todo
lectura: EPROM, EEPROM, Y memorias FLASH.
La memoria de solo lectura programable y borrable pticamente (EPROM,
Erasable Programmable Read-Only Menor) se lee y escribe elctricamente como
la PROM. Sin embargo, antes de la operacin de escritura, todas las celdas de
almacenamiento deben primeramente borrarse a la vez, mediante exposicin del
chip encapsulado a radiacin ultravioleta. Este proceso de borrado puede
realizarse repetidas veces; cada borrado completo puede durar hasta 20 minutos.
As pues, las EPROM pueden modificarse mltiples veces y, al igual que las ROM
y las PROM, retiene su contenido, en teora indefinidamente. Para una capacidad
similar, una EPROM es ms cara que una PROM, pero tiene como ventaja
adicional la posibilidad de actualizar mltiples veces su contenido.
La forma ms nueva de memoria semiconductora es la memoria flash
(denominada as por la velocidad con la que puede reprogramarse). Al igual que
las EEPROM, las flash utilizan una tecnologa de borrado elctrico. Una memoria
flash puede borrarse entera en uno o unos cuantos segundos, mucho ms rpido
que las EPROM. Adems, es posibles borrar solo bloques concretos de memoria
en lugar de todo el chip. Sin embargo, las memorias flash no permiten borrar a
40 | 76
nivel byte. Al igual que las EPROM, las flash utilizan solo un transistor por bit,
consiguindose las altas densidades (comparadas con las EEPROMs) de las
EPROMs.
1.2.2.2.2 Organizacin13
El elemento bsico de una memoria semiconductora es la celda de memoria.
Aunque se utilizan diversas tecnologas electrnicas, todas las celdas de memoria
comparten ciertas propiedades:
-
41 | 76
42 | 76
43 | 76
Correspondencia Directa
La tcnica ms simple consiste en hacer corresponder cada bloque de memoria
principal a solo una lnea posible de cache.
Correspondencia Asociativa
La correspondencia asociativa supera la desventaja de la directa permitiendo que
cada bloque de memoria principal pueda cargarse en cualquier lnea de la cache.
En este caso, la lgica de control de la cache interpreta una direccin de memoria
simplemente como una etiqueta y un campo de palabra.
Correspondencia Asociativa por Conjuntos
Es una solucin de compromiso que recoge lo positivo de las correspondencias
directas y asociativas, sin presentar sus desventajas.
Algoritmos de sustitucin
Cuando se introduce un nuevo bloque en la cache, debe sustituirse uno de los
bloques existentes. Para el caso de correspondencia directa, solo hay una posible
lnea para cada bloque particular y no hay eleccin posible. Para las tcnicas
asociativas se requieren algoritmos de sustitucin. Para conseguir alta velocidad,
tales algoritmos deben implementarse en hardware y cuatro de los ms comunes
son:
-
Poltica de escritura
Antes de que pueda ser reemplazado un bloque que esta en la cache, es
necesario considerar si ha sido o no alterado en cache pero no en memoria
principal. Si no lo ha sido, puede escribirse sobre el bloque antiguo de cache. Si
ha sido modificado, esto significa que se ha realizado al menos una operacin de
escritura sobre una palabra de la lnea correspondiente de la cache, y la memoria
principal debe actualizarse de acuerdo con ello.
1.2.3 Manejo de la Entrada/Salida
Un computador no sirve de nada sin algn medio para realizar las entradas y las
salidas. Las operaciones de E/S se realizan a travs de una amplia gama de
dispositivos que proporcionan una forma de intercambiar datos entre el exterior y
el computador. Un dispositivo externo se conecta al computador mediante un
enlace a un mdulo de E/S (se aprecia en la siguiente figura). El enlace se utiliza
para intercambiar seales de control, estado, y datos entre el mdulo de E/S y el
45 | 76
Control y temporizacin
Comunicacin con la CPU
Comunicacin con los dispositivos
Almacenamiento temporal de datos
Deteccin de errores
Considrese la lectura de un bloque desde el disco. En la tcnica de entradasalida programada, la CPU interroga a cada dispositivo para ver si requiere
servicio. Si se considera una analoga con un restaurante, el caso sera el del
camarero que se acerca al comensal para ver si est listo para hacer un pedido.
Las operaciones que se realizan cuando se administra la entrada-salida por medio
de un programa se ilustran en el diagrama de flujo que se observa en la siguiente
figura. La CPU verifica primero el estado del disco por medio de la lectura de un
registro especial al que puede acceder en el espacio de memoria o por medio de
la lectura de un registro especial al que puede acceder en el espacio de memoria
o por medio de la lectura de un registro especial de entrada-salida, si esta fuera la
solucin adoptada por la arquitectura del procesador para la implementacin del
manejo de entrada-salida. Si el disco no estuviese listo para ser ledo o escrito, el
proceso queda en un lazo cerrado verificando el estado en forma continua hasta
tanto el disco est listo, en un proceso de espera por dispositivo ocupado. Cuando
el disco finalmente se encuentre disponible, se producir la transferencia de datos
entre el disco y la CPU.15
48 | 76
49 | 76
50 | 76
Desde el punto de vista de la CPU, las acciones para una entrada son las que
siguen. La CPU enva una orden READ de lectura. Entonces pasa a realizar otro
trabajo(es decir, la CPU puede estar ejecutando programas distintos al mismo
tiempo). Al final de cada ciclo de instrucciones, la CPU comprueba las
interrupciones. Cuando se pide la interrupcin desde el mdulo de E/S, la CPU
guarda el contexto(es decir, el contador de programa y los registros de la CPU) del
programa en curso y procesa la interrupcin. En este caso, la CPU lee la palabra
de datos del mdulo de E/S y la almacena en memoria. Despus recupera el
contexto del programa que estaba ejecutando (o de otro programa) y contina su
ejecucin. La E/S con interrupciones es ms eficiente que la E/S programada por
que elimina las esperas innecesarias. No obstante, las E/S con interrupciones
consumen gran cantidad de tiempo de la CPU puesto que cada palabra de datos
que va desde la memoria al mdulo de E/S o viceversa debe pasar a travs de la
CPU.
En la siguiente figura se muestra procesamiento simplificado de una interrupcin.
52 | 76
Cuestiones de diseo
En la implementacin de las E/S mediante de las interrupciones aparecen dos
cuestiones. Primero, puesto que casi invariable habr mltiples mdulos de E/S, y
segundo, si se han producido varias interrupciones.
1.2.3.4 Acceso directo a memoria
Cuando hay que transferir grandes volmenes de datos, se requiere una tcnica
ms eficiente: el acceso a memoria (DMA).
El DMA (Direct Memory Access) es un procesador/controlador especializado en
transferencias muy grandes desde perifricos a memoria y viceversa. Es
programable. La CPU no realiza ninguna tarea (salvo programar el DMA) ya que la
inicializacin y transferencia son gobernadas por el perifrico.
Para programar el DMA hay que enviarle al menos los siguientes datos:
A diferencia del mecanismo por interrupcin convencional, una orden DMA puede
transferir muchsimos datos de una sola vez. Por lo tanto, el nmero de
interrupciones por byte transferido es mucho menor que con las interrupciones
convencionales: se gana en rapidez. El procesador no se encarga de la
transferencia de datos.
El mecanismo de DMA puede configurarse de diversas formas: Todos los mdulos
comparten el mismo bus del sistema. El mdulo de DMA, actuando como un CPU
suplementaria, utiliza E/S programada para intercambiar datos entre la memoria y
un mdulo de E/S a travs del mdulo de DMA. Esta configuracin, si bien es la
ms econmica, es claramente ineficiente. Igual que con E/S programada
controlada por la CPU, la transferencia de cada palabra consume dos ciclos de
bus.
El nmero de ciclos de bus necesarios puede reducirse sustancialmente si se
integran las funciones de DMA y de E/S. Esto indica que existe un camino entre el
mdulo de DMA y uno o ms de E/S que no incluye al bus del sistema. La lgica
de DMA puede ser parte de un mdulo de E/S, o puede ser un mdulo separado
que controla a uno o ms mdulos de E/S. este concepto se puede llevar algo ms
lejos conectando los mdulos de E/S a un mdulo de DMA mediante un bus de
E/S. Esto reduce a uno el nmero de interfaces de E/S en el mdulo de DMA y
permite una configuracin fcilmente ampliable. En todos estos casos, el bus del
sistema, que el mdulo de DMA comparte con la CPU y la memoria, es usado por
el mdulo de DMA solo para intercambiar datos con la memoria. El intercambio de
datos entre los mdulos de DMA y E/S se produce fuera del bus del sistema.
Inconvenientes de la E/S programada y con interrupciones.
La E/S con interrupciones, aunque ms eficiente que la sencilla E/S programada,
tambin requiere la intervencin activa de la CPU para transferir datos entre la
memoria y el mdulo de E/S, y cualquier transferencia de datos debe seguir un
camino a travs de la CPU. Por tanto, ambas formas de E/S presentan dos
inconvenientes inherentes:
1. La velocidad de transferencia de E/S est limitada por la velocidad a la cual la
CPU puede comprobar y dar servicio a un dispositivo.
2. La CPU debe dedicarse a la gestin de las transferencias de E/S; se debe
ejecutar cierto nmero de instrucciones por cada transferencia de E/S.
54 | 76
Controla varios dispositivos de alta velocidad y uno por vez, por lo tanto el
canal se dedica para la trasferencia de datos de esos tipos dispositivo.
El canal selecciona un dispositivo y efecta la transferencia.
Los dispositivos son manejados por un controlador o mdulo de E/S.
55 | 76
Multiplexor:
1.2.4 Buses
Qu es un bus?
56 | 76
Bus de direccin
Identifica la fuente o destino de un dato, cuando el procesador desea leer una
palabra de una determinada parte en la memoria. El ancho del bus de direcciones
determina la mxima capacidad de memoria posible en el sistema. MSX88 tiene
un bus de direccin de 16 bits, lo que define un espacio para direcciones de 64K
lugares.
Bus de control
Transmite informacin de seales de control y temporizacin por ejemplo:
Los sistemas operativos grfico-orientados como son Windows y OS/2 han creado
un cuello de botella entre el procesador y sus perifricos para visualizacin en
PCs con arquitecturas I/O estndar. Acercando las funciones perifricas con
mayores requerimientos de ancho de banda al bus del microprocesador del
sistema puede eliminarse este atascamiento. Cuando un diseo tipo Local Bus
es utilizado, pueden obtenerse ganancias sustanciales en performance con
interfaces grficas para el usuario (GUIs, graphical User Interfaces) y otras
funciones de gran ancho de banda (full motion video, SCSI, LANs, etc.) Las
ventajas ofrecidas por un diseo de bus local han motivado varias versiones,
implementadas en distintas formas. Los beneficios de establecer un estndar
abierto para buses I/O han sido claramente demostrados en la industria de la PC.
Es importante que un nuevo estndar para buses locales se establezca para
simplificar diseos, reducir costos e Incrementar la seleccin de componentes
Local Bus y placas de expansin.
1.2.4.1 Tipos de buses
Dedicados: usa lneas separadas para direcciones y datos en la siguiente forma:
A continuacin se analizara cada uno de los buses del sistema, las ranuras de
expansin, los conectores a la placa base, los puertos de conexin con los
distintos dispositivos externos y los cables de conexin. En la siguiente imagen
puede verse la placa base con cada uno de los elementos de los que vamos a
tratar.
Adems de un rendimiento pobre, otra de las desventajas del bus ISA es la falta
de inteligencia en el control del bus. Otra desventaja adicional radica en la
configuracin de los dispositivos, que debe realizarse manualmente, aunque
algunos ms recientes son compatibles con PaP (no todos).
59 | 76
DIN o AT
Era la conexin primaria para el teclado, es ms grande que su repuesto actual, el
PS/2. Tiene 5 pines. Actualmente est en desuso, pero existen adaptadores para
poder conectar un teclado con este conector a un puerto PS/2 (Vase la siguiente
figura).
Puerto Paralelo
Los puertos paralelos, al igual que los puertos serie, reciben su nombre debido a
la forma en que envan y reciben la informacin. En este caso, la informacin se
enva mediante ocho bits en lugar de utilizar un bit. Esto hace que el puerto
paralelo sea ms rpido que el puerto serie, ya que se envan ms datos
simultneamente. El puerto paralelo est asociado con la conexin de la
61 | 76
USB
El Bus Serie Universal o USB (Universal Serial Bus) es un tipo de interfaz que
soporta dispositivos perifricos de baja velocidad, como teclados o ratones, y
dispositivos de una velocidad mayor, como las cmaras digitales, impresoras,
adaptadores de red, sintonizadores de TV, discos removibles, etc. Se espera que
en un futuro termine reemplazando a los puertos serie y paralelo de los
ordenadores personales.
El USB es un puerto serie y, al igual que el puerto serie normal, transmite los datos
de bit en bit; sin embargo, los transmite ms rpidamente.
El puerto USB, en su versin inicial, USB 1.1, alcanzaba velocidades de
transferencia de datos de 12 Mb/s (megabits por segundo). La versin ms
reciente, USB 2.0, apodado USB de alta velocidad, soporta velocidades de
transferencia de datos de 480 Mb/s (= 60 MB/s, megabytes por segundo). Esta
versin es compatible con los dispositivos USB 1.1.
Las caractersticas que ofrece un puerto USB son las siguientes:
Proporciona al ordenador capacidades Plug and Play para los dispositivos
externos.
Se puede conectar dispositivos USB al ordenador sin necesidad de reiniciarlo
(conexin en caliente); el sistema operativo, por ejemplo Windows XP, los
reconoce automticamente e instala los controladores; o bien el sistema operativo
62 | 76
Puerto Tipo B. Se encuentra en los dispositivos USB. Los puertos Tipo B son
ms cuadrados y de tipo hembra. A estos puertos se conecta un conector macho
de Tipo B (vase Figura en la siguiente figura).
Buses dedicados
Son buses de propsito especfico destinados al dilogo con un tipo concreto de
dispositivos.
Puertos FireWire
El estndar IEEE 1394, ms conocido como FireWire, define las especificaciones
de un bus serie de alta velocidad para dispositivos que realmente funcionan a alta
velocidad, como, por ejemplo, las cmaras de vdeo o fotogrficas digitales.
63 | 76
El IEEE 1394 no necesita el ordenador para poder funcionar. As, una cmara de
video digital se puede conectar con un equipo de vdeo VCR a travs de este
puerto. Actualmente muchos ordenadores no tienen integrado este conector, pero
existen tarjetas de expansin que s lo proporcionan.
AGP
El bus AGP (puerto acelerador de grficos) se utiliza slo para un tipo de tarjeta
de expansin: la tarjeta de vdeo. Slo admite una. Se desarroll principalmente
para mejorar las aplicaciones de grficos en 3D.
La principal ventaja es que el chipset al que se conecta el bus AGP ofrece a la
tarjeta AGP un acceso rpido a la memoria principal.
La velocidad del bus AGP es superior a la del bus PCI. Hay cuatro velocidades
diferentes:
AGP IX: transfiere datos a 266 MB/s.
AGP 2X: transfiere datos a 532 MB/s.
AGP 4X: transfiere datos a 1 GB/s.
AGP 8X: transfiere datos a 2 GB/s.
La ranura AGP es de color caf y algo ms corta que la ranura PCI. No debemos
desconectar nunca una tarjeta AGP de la placa base con el ordenador encendido,
ya que esto puede daarla.
Actualmente existen dos estndares de AGP, denominados AGP 2.0 y AGP 3.0 (no
tengo ni idea de lo que ha pasado con la versin 1).
La razn por la que tienes que saber todo esto es que las ranuras en las placas
base y en los conectores de la tarjeta de vdeo AGP varan segn la versin y el
modelo y no son todas compatibles. Algunas tarjetas AGP 3.0 se pueden enchufar
64 | 76
papeles de master y slave son dinmicos, de manera que una misma unidad
puede realizar ambas funciones en transferencias diferentes. Por ejemplo, una
unidad de DMA hace de slave en la inicializacin que realiza el master, la CPU,
para una operacin de E/S. Sin embargo, cuando comienza la operacin, la
unidad de DMA juega el papel de master frente a la memoria, que en esta ocasin
hace de slave.
Para garantizar el acceso ordenado al bus, existe un sistema de arbitraje,
centralizado o distribuido, que establece las prioridades cuando dos o ms
unidades pretenden acceder al mismo tiempo al bus, es decir, garantiza que en
cada momento slo exista un master.
Para establecer el tiempo de duracin de las transferencias y que sea conocido
tanto por el master como por el slave, un bus debe disponer de los medios
necesarios para la sincronizacin master-slave (Vase la siguiente figura).
65 | 76
Lneas
Las lneas de un bus podemos clasificarlas en grupos, atendiendo al papel que
cumplen en las transferencias.
Lneas de informacin bsica.
Las utiliza el master para definir los dos elementos principales de una
transferencia, el slave y los datos. Se dividen, pues, en dos grupos: direcciones y
datos.
Lneas de Direcciones
Determinan la unidad que hace de slave en la transferencia
Lneas de Datos Transportan los datos de la transferencia. Existen buses con
lneas independientes para cada uno de los anteriores tipos de informacin. En
cambio en otros se utilizan las mismas lneas multiplexadas en el tiempo.
Lneas de control
Transmiten las rdenes que determinan la operacin de transferencia a realizar
por las lneas de datos y direcciones, y marcan el ordenamiento temporal de las
seales que circulan por el bus. Las primeras son las lneas de control
propiamente dichas, de las que las ms importantes son:
Escritura en memoria
Lectura de memoria
Operacin de salida
Operacin de entrada
Las segundas son las lneas de sincronismo, entre las que cabe citar las
siguientes:
Reconocimiento de transferencia
Reloj
Reset.
Lneas de arbitraje
Establecen la prioridad entre diferentes peticiones de acceso al bus. Por ejemplo:
66 | 76
Direccionalidad de buses
Las lneas de un bus podemos tambin clasificarlas en funcin de su
direccionalidad:
Lneas unidireccionales
Lneas bidireccionales
Desde el punto de vista fsico un bus es un conjunto de conductores elctricos
paralelos dispuestos sobre una tarjeta de circuito impreso. Los dispositivos del
sistema se conectan a travs de conectores (slots) dispuestas a intervalos
regulares a lo largo del bus (Vase la siguiente figura).
67 | 76
Buses locales
68 | 76
69 | 76
1.2.5. Interrupciones
Una interrupcin es un suceso, ms o menos esperado pero que no se conoce el
momento exacto en que se va a producir. La interrupcin se produce bien como
consecuencia de un evento externo a la CPU (por los dispositivos de E/S), o bien
por la propia CPU como consecuencia de la ejecucin o intento de ejecucin de
una instruccin. Por cualquiera de estos motivos, una interrupcin debe
entenderse como un suceso que se produce por sorpresa, pero que hay que
tratarlo inmediatamente.
Cuando se produce una interrupcin, lo normal es:
1) abandonar el flujo secuencial de ejecucin actual.
2) dar control a una Rutina de Tratamiento de la Interrupcin (RTI) producida.
3) ejecutar la RTI y, por ltimo,
4) reanudar el flujo normal de ejecucin en el punto donde se interrumpi.
(Vase la siguiente figura).
70 | 76
Teniendo en cuenta que las TRI forman parte del sistema operativo instalado, esta
opcin forzara mucho su construccin, pues en cada caso ocupara un tamao
distinto y en distinta direccin.
En su lugar, lo que suele hacer es saltar a las rutinas de tratamiento mediante
indireccin.
Normalmente, en la parte la parte baja de la memoria se dispone de una Tabla de
Vectores de Interrupcin, denominada as porque cada elemento o entrada de la
tabla contiene un Vector de manera que el primer elemento de esta tabla
contiene la direccin de la rutina de tratamiento de la interrupcin 0; la segunda
entrada, la direccin de la RTI 1, y as sucesivamente. (En Motorola, esta tabla a
la que tambin se le conoce como Vector de Interrupciones, est en la direccin 0;
en el Pentium, la direccin es configurable; en el PowerPC se puede optar entre
1F4 y FFF001F4 como direcciones de comienzo).
El sistema operativo debe encargarse, en su proceso de inicializacin, de
establecer las direcciones de sus rutinas de tratamiento de interrupciones en los
vectores de interrupcin correspondientes.
Tipos de interrupciones
Teniendo en cuenta que una interrupcin la puede producir un dispositivo externo
a la CPU o la ejecucin de una interrupcin en la propia CPU, nos encontramos
con los siguientes tipos de interrupciones que se muestran en la imagen.
Las interrupciones externas las producen los dispositivos de E/S o sensores que
son perifrico de la CPU. Estas interrupciones son asncronas, pues nunca se
sabe con exactitud cundo van a producirse.
Las interrupciones internas se pueden producir por dos motivos:
74 | 76
CONCLUSIN
A lo largo de este reporte, se comprendi el correcto funcionamiento de una
computadora. Despus de ver la evolucin que sta ha sufrido se puede decir, que la
compactacin de las mquinas e introduccin de una CPU, memorias, circuitos
integrados y dispositivos de E/S en ella, ha dado un plus a su funcionamiento. Esto la
hace cada vez, conforme avanza el tiempo, ms rpida y porttil. Cumpliendo
progresivamente con innovaciones que mejoran su desempeo en las reas ms
sobresalientes como la memoria RAM, discos duros, tarjetas grficas, conectividad y
dispositivos de E/S. Los programadores y tcnicos que se ocupan de desarrollar como
de dar mantenimiento deben mantenerse en constante actualizacin sin descuidar la
base de todo lo que en la actualidad existe tal y como se ha aprendido.
La importancia de una computadora no solo est en la marca del fabricante o precio
en el mercado, en realidad, su importancia radica en los componentes que sta
contiene en su interior, conforme avanza el tiempo, los usuarios demandan de
componentes de alto nivel para sus mquinas, llmese memoria RAM o disco duro, lo
cual ha obligado a los desarrolladores estar innovando en estos sectores, y
comprender que sin la organizacin interna correcta de una computadora, stas no
seran capaces de realizar todas sus actividades demandantes.
75 | 76
BIBLIOGRAFIA
https://www.uclm.es/profesorado/licesio/Docencia/ETC/13_CBasEstructuraComputador_itis.pdf
http://rvazquez.org/Misitio/Arquitectura_de_Computadoras_files/buses1.pdf
http://www.geocities.ws/er_manu_dky/er_manu_dkytipodebuse.pdf
Arquitectura de Computadoras - Morris Mano.
Organizacin y Arquitectura de Computadoras. 4ta Edicin ed. Madrid,
Espaa.: Editorial Prentice hall; 1997.
Tanenbaum, Andrew S. Organizacin de computadoras un enfoque
estructurado. Cuarta edicin. Estado de Mxico, Mxico 2000.
76 | 76