Está en la página 1de 174

Arquitectura de Computadores y Sistema Operativo

1
Basado principalmente en los libros
Organización y Arquitectura de Computadores,
William Stallings.
Arquitectura de Microcontroladores, José María
Usategui, José Luis Gutiérrez Temiño, Ignacio
Angulo Martínez
Microcontroladores, José M. Angulo, Ignacio Angulo

Arquitectura de Computadores y Sistema Operativo

2
Sitios Recomendados
http://www.zator.com/Hardware/H2_3.htm
http://wwwdi.ujaen.es/~lina/TemasSO/glosario/GLOSARIO.htm#DMA
http://www.intel.com/espanol/products/server/processors/server/itanium2/
http://www.tau.org.ar/base/lara.pue.udlap.mx/sistoper/capitulo6.html
http://usuarios.lycos.es/cursosimm/capitulo5.htm
http://www.intec.edu.do/~yberges/ocurre7.htm
http://html.rincondelvago.com/arquitecturas-avanzadas.html
http://atc2.aut.uah.es/~frutos/arqINF/tema6.pdf
http://www.micropic.arrakis.es/marcos.htm

Arquitectura de Computadores y Sistema Operativo

3
Sitios Recomendados
http://www.duiops.net/hardware/micros/micros.htm
http://www.duiops.net/hardware/articulo/64bitscpu.htm
http://www.pc.com.mx/Procesadores/procesadores.html
http://www.zator.com
http://www.isde-ing.com/Qedom.htm
http://users.erols.com/chare/sockets.htm
http://www.amd.com/la-es/Processors/ProductInformation/0,,30_118_8826_8805,00.html
http://www.mastermagazine.info/informes/amd_intel_2004_f.htm
http://www.pc.com.mx/Procesadores/procesadores.html
ttp://dc.inictel.gob.pe/telecom/Pap/ProgAplic_PicMicrochip/pap_curso_11.htm

Arquitectura de Computadores y Sistema Operativo

4
Lecturas Recomendadas

Implementación de un sistema de desarrollo utilizando los


microcontroladores PIC Microchip Technology,
Manuel Fernando Campos Cerda
Ramiro Castañeda Pérez
Arturo César Contreras Torres
Ingeniería en Comunicaciones y Electrónica.

Arquitectura de Computadores y Sistema Operativo

5
1. Historia y Evolución de los
Computadores

Arquitectura de Computadores y Sistema Operativo

6
1.Historia y Evolución de
los Computadores
• Eras
9 Era Pre-electrónica.

Ábaco.

Máquina de Pascal.

Arquitectura de Computadores y Sistema Operativo

La historia se inicia en la antigüedad con el ábaco inventado por los


chinos.
En 1642 Blaise Pascal inventó un sistema mecánico que sumaba y
restaba. Esta calculadora estaba basada en una serie de engranajes y ruedas
dentadas. La base de las operaciones consistía en contar los dientes de un
engranaje, al igual que un cuentakilómetros.

7
1.Historia y Evolución de
los Computadores
9 Era Pre-electrónica.

Máquina diferencial de Babbage.

Arquitectura de Computadores y Sistema Operativo

En 1822 Charles Babbage ideó una máquina capaz de hacer


operaciones mediante tarjetas perforadas. Esta máquina se proyectó con los tres
componentes básicos de un ordenador actual:
Una memoria
Una unidad de cálculo
Una unidad de control de las operaciones a través de tarjetas
perforadas.
Era capaz de realizar cualquier cálculo y de almacenar programas, pero la máquina
quedó incompleta debido a la tecnología de la época.

8
1.Historia y Evolución de
los Computadores
9 Era Pre-electrónica.

Calculadora de Leibniz.

Arquitectura de Computadores y Sistema Operativo

La aparición de la tecnología eléctrica permite la incorporación de


relés, que son interruptores binarios con dos posiciones, encendido y apagado.
¿Cómo es posible representar los números si los interruptores sólo tienen dos
posiciones? En china antiguamente ya se había utilizado un sistema binario de
numeración que fue descrito por Leibniz en el siglo XVII.
Este sistema consiste en utilizar dos dígitos para representar las
cifras, comúnmente 1 y 0.
Así 0 = Cero, 1= Uno, 10= dos, 11= Tres, 100= Cuatro, 101= Cinco.
Es aquí importante destacar la aportación de la Lógica Algebraica de
Boole, que reduce la lógica, y en consecuencia las operaciones matemáticas, a
combinaciones de elementos binarios (Boole utiliza Verdadero y Falso, que
corresponden a 1 y 0).

9
1.Historia y Evolución de
los Computadores
9 Era Electrónica.
Primera Generación (1946-1957) Tubos de Vacío

Segunda Generación (1958-1964) Transistores

Tercera Generación (1965-1971) Circuitos Integrados


(Pequeña y Media Integración)

Últimas Generaciones (1972-) Circuitos Integrados


(Gran y Alta integración)

Arquitectura de Computadores y Sistema Operativo

• La utilización de Tubos de Vacío define la Primera Generación.


Hacia 1946 aparecieron las computadoras electrónicas utilizando válvulas o tubos al
vacío (dispositivo que hizo posible la radio, la telefonía, telegrafía inalámbrica y que impulsó el desarrollo
comercial e industrial de la electrónica). La primera computadora de propósito general fue llamada ENIAC.
• El uso del Transistor define la Segunda Generación.
El primer cambio importante en los computadores electrónicos vino con la sustitución de
los tubos de vacío por transistores. El transistor, inventado en los laboratorios Bell Telephone en el año
1947, es más pequeño, barato, disipa menos calor y fue usado a nivel comercial e industrial a partir de
1950 con aplicaciones en todo tipo de sistemas de radio, sonido, televisión, comunicaciones,
computadoras y en la industria militar, espacial. Sin embargo es importante señalar que los computadores
completamente transistorizados no estuvieron disponibles comercialmente hasta fines de los 50.
También en la Segunda Generación se introdujeron unidades lógicas y aritméticas y
unidades de control más complejas, lenguajes de programación de alto nivel y se proporcionó un software
del sistema con el computador.
Aunque IBM no fue la primera en lanzar la nueva tecnología pronto siguió con la serie
7000.
• En 1958 la invención del Circuito Integrado define la Tercera Generación.
Los circuitos integrados, utilizaron el hecho de que componentes tales como
transistores, resistencias y conductores podían ser fabricados a partir de un semiconductor como el silicio.
Este logro, reunir en una sola pastilla semiconductora o chip varios transistores, inauguró la era de la
microelectrónica. En un comienzo sólo podían encapsularse juntas con fiabilidad unas pocas
componentes, con el paso del tiempo fue posible encapsular más y más en un mismo chip. Gordon Moore
(cofundador de Intel) observó que el número de transistores que se podrían integrar en un solo chip se
duplicaba cada año y se predecía, que esto continuaría en un futuro cercano.
•Últimas Generaciones.
La cuarta y quinta generación están basadas en los avances de la tecnología de los
circuitos integrados con respecto a la integración a gran escala en la que podía haber más de 1000
componentes en un chip de circuito y la integración a muy gran escala en la que se logra más de 10.000
componentes por chip. Los chips actuales pueden contener más de 100.000.
Con el gran avance de la tecnología, rápida introducción de nuevos productos, la
importancia del software, las comunicaciones y hardware, la clasificación en generaciones se vuelve cada
vez menos clara y menos significativa.

10
1.Historia y Evolución de
los Computadores

E.N.I.A.C.

Arquitectura de Computadores y Sistema Operativo

ENIAC era de gran tamaño, usaba un alto número de tubos por lo


cual requería todo un sistema de aire acondicionado. Era capaz de efectuar 5.000
sumas por segundo. Era una máquina decimal, no era binaria. Uno de sus mayores
inconvenientes era que debía ser programada manualmente mediante
conmutadores y conectando y desconectando cables, operación que podía durar
varios días de trabajo.
Como la tarea de cargar y modificar programas para el ENIAC era
tediosa, el húngaro John von Neumann, asesor del proyecto ENIAC junto a sus
colegas, ideó una forma de facilitar el proceso. Resultó tan fundamentales para el
desarrollo posterior que es considerado el padre de las computadoras.

11
1.Historia y Evolución de
los Computadores

Unidad
Aritmético-Lógica

Memoria Equipos de
Principal E/S

Unidad
de
Control de Programa

Estructura del computador IAS.

Arquitectura de Computadores y Sistema Operativo

La idea fundamental de Neumann fue permitir que en la memoria


coexistieran datos con instrucciones, para que la computadora pudiera ser
programada a través de esos datos y no por medio de alambre que eléctricamente
programaban las operaciones de la computadora. Esta idea fue conocida como
Concepto del Programa-Almacenado. La primera publicación de la idea para un
nuevo computador, el EDVAC, fue en 1945. En 1946 Neumann y sus colegas
comenzaron el diseño de un nuevo computador de programa-almacenado, el IAS.
La figura muestra la estructura general del computador IAS. Que
consta de:
•Una Memoria Principal, que almacena datos e instrucciones.
•Una Unidad Aritmético-Lógica (ALU) capaz de hacer operaciones con datos
binarios.
•Una Unidad de Control, que interpreta las instrucciones en memoriay provoca su
ejecución.
•Un Equipo de Entrada-Salida (E/S) dirigido por la unidad de control.

Salvo excepciones, todos los computadores de hoy en día tienen la


misma estructura general y funcionamiento que la indicada en las máquinas de von
Neumann.

12
1.Historia y Evolución de
los Computadores
9 Ley de Moore

Arquitectura de Computadores y Sistema Operativo

Las consecuencias de la ley de Moore son profundas:


•El precio de un chip ha permanecido invariable a través de este periodo de rápido
crecimiento en densidad. Lo que significa que el costo de la lógica del computador
y de la circuitería de la memoria han caído a una velocidad drástica.
•Ya que los elementos de la lógica y la memoria están más próximos en chips más
densamente encapsulados, la longitud de las interconexiones eléctricas ha
disminuido, incrementándose así la velocidad operativa.
•El computador es ahora más pequeño, lo que lo hace más adecuado para más
entornos.
•Hay una reducción de las necesidades de potencia y refrigeración.
•Las interconexiones de los circuitos integrados son mucho más fiables que las
conexiones soldadas. Con más circuitos en cada chip, hay menos conexiones entre
chips.

13
1.Historia y Evolución de
los Computadores
9 Memoria.
9 Microprocesadores (4004).
Fue el primer chip que contenía todos los
componentes de la CPU en un solo chip.

Arquitectura de Computadores y Sistema Operativo

•Memoria:
La tecnología de los circuitos integrados también sirvió para construir memorias. En los 50 y 60, la
mayoría de las memorias de los computadores se hacían con pequeños anillos de material ferromagnético dispuestos de tal
forma que se magnetizaban en un sentido para representar un 0 y en el otro sentido para representar un 1. Si bien eran
memorias rápidas, eran caras, voluminosas y usaba lectura destructiva.
En 1970, Fairchild produjo la primera memoria semiconductora, chip que podía tener 256 bits de
memoria. No era destructiva.
La tendencia ha sido desde 1974 de disminución del precio de la memoria acompañado de un
correspondiente aumento de la densidad de memoria. A partir de 1970 , la memoria semiconductora ha tenido ocho
generaciones:
1K, 4K, 16K, 64K, 256K, 1M, 4M, ahora 16M bits en un solo chip.

•Microprocesadores:
Igual que la densidad de elementos en los chips de memoria ha continuado creciendo, también lo ha
hecho la densidad de elementos de procesamiento. La evolución se puede ver más fácilmente considerando el número
de bits que el procesador trata a la vez. No hay una medida clara de esto, pero la mejor medida es la anchura del bus
de datos: el número de bits de un dato que puede venir o ir al procesador a la vez.
En 1969, Silicon Valley, en el estado de California (EEUU) era el centro de la industria de los
semiconductores. Por ello, gente de la empresa Busicom, una joven empresa japonesa, fue a la compañía Intel
(fundada el año anterior) para que hicieran un conjunto de doce chips para el corazón de su nueva calculadora de mesa
de bajo costo. En 1971 Intel desarrolló el 4004 que fue el primer chip que contenía todos los componentes de la CPU en
un solo chip.
Podía sumar dos números de 4 bits y multiplicar sólo con sumas sucesivas. Primitivo, pero con él se
marcó el comienzo de la evolución continua en capacidad y potencia de los microprocesadores.
Posteriormente se diseñó el 8008, microprocesador de 8 bits (en la anchura del bus), dos veces más
complejo que el 4004.

14
1.Historia y Evolución de
los Computadores
9 Dos familias de computadores de las que
se tratarán ejemplos son:

PENTIUM

POWERPC

Arquitectura de Computadores y Sistema Operativo

•Pentium: incorpora los sofisticado principios de diseño que se encontraban en ordenadores grandes
y supercomputadoras, la tecnología CISC.
CISC: es una abreviación de "Complex Instrution set computer". Se refiere a los microprocesadores
tradicionales que operan con grupos grandes de instrucciones de procesador (lenguaje de máquina).
Todos los microprocesadores de la serie X86 de Intel y sus clones como los K5, K6 de AMD y el
6x86 (M-II) de Cyrix, están construidos bajo esta tecnología. Los procesadores CISC tienen un Set
de instrucciones complejas por naturaleza que requieren varios a muchos ciclos para completarse.

•PowerPC: es descendiente directo del primer sistema RISC, el IBM 801, que es uno de los
sistemas más potentes y mejor diseñados del mercado.
RISC: es una abreviación de "Reduced Instruction Set Code", a diferencia de los CISC, los
procesadores RISC tienen un pequeño conjunto de instrucciones básicas requiriendo unos o pocos
ciclos de ejecución. Estas instrucciones pueden ser utilizadas más eficientemente que la de los
procesadores CISC con el diseño de software apropiado, resultando en operaciones más rápidas en
funciones intensivas en tiempo como son las gráficas, el video, sonido.

15
1.Historia y Evolución de
Computador
los Computadores
Computador Familia 386 Familia 486
tipo tipo
PC-XT PC-AT

Microprocesa- 8088 de Intel o 80286 de Intel y i386 de Intel y i486 de Intel, y


dor usado de otras otras marcas clones de AMD, clones de AMD,
empresas con autorizadas Cyrix, C&T, etc. Cyrix, IBM, ST,
licencia UMC y TI
Bus interno / 16 bits / 8 bits 16 bits / 16 bits 32 bits / 32 bits 32 bits / 32 bits
externo

RAM Típica Hasta 640 KB Alrededor de 1-2 Entre 2 y 4 MB Entre 8 y 16 MB


instalada MB

Dispositivo de 1ó 2 unidades HD de 40 MB HD de 120 y 300 HD de entre 528


Almac. de de disquetes de unidad de MB, unidad de y 1GB, lector de
datos 360 kB (5 1/4) disquete de 5 disquete de 3 ½ y CD-ROM
(capacidad) HD opcional de 1/4 y 1.2 MB 1.44 MB
10 MB de capacidad
Arquitectura de Computadores y Sistema Operativo

16
1.Historia y Evolución de
los Computadores
Quinta Generación Sexta Generación Séptima Generación

Microprocesa- Pentium y Pentium Pentium Pro, Pentium Athlon y Duron de


dor usado MMX de Intel; K5 y K6 II, Pentium-III y AMD, Pentium-4 y
de AMD, 6x86 y M-II Celeron de Intel; K6-II Celeron de Intel
de Cyrix e IBM y K6-III de AMD
Bus interno / 32 bits / 64 bits 32 bits / 64 bits 32 bits / 64 bits
externo

RAM Típica Entre 32 y 64 MB Entre 64 y 128 MB Entre 128 y 512 MB


instalada

Dispositivo de HD de 2-4 GB de HD de entre 8 y 15 HD de entre 20 y 60


Almac. de capacidad, unidades GB; grabador de CDs GB, lector de DVD-
datos removibles tipo ZIP y ROM, grabador de DVD
(capacidad) JAZ

Arquitectura de Computadores y Sistema Operativo

17
1.Historia y Evolución de
Computador
los Computadores
Computador tipo Familia 386 Familia 486
tipo PC-AT
PC-XT
Tipo de TTL CGA manejaba VGA con 256 SVGA de
Monitor monocromático gráficos sencillos, colores 800x600 pixeles
(letras, 4 colores máximo (resolución de y hasta 64.000
números, o EGA con 16 640x480 pixeles) colores
símbolos) colores
Sistema DOS 1.0 a DOS DOS 4.0 DOS 5.0 + DOS 6.22 +
Operativo 3.3 Windows 3.1, Windows 3.11
típico Aparece Linux Workstation

Accesorios Módems Aparecen las Se populariza el Módems de


primitivos de primeras tarjetas ratón y el sonido, 14.400 bps,
300 bps, de sonido e impresoras láser, comienza a
impresora incluso ratón módems de 9600 populari-zarse
matriz de punto bps Internet
Más Ancestro más Se fijan muchos Se habla de Bocinas
Información remoto de las de los estándares Internet, pero es externas y lector
PC que se siguen sólo dominio de de CD-ROM
respetando expertos equipo estándar
Arquitectura de Computadores y Sistema Operativo

18
1.Historia y Evolución de
los Computadores
Quinta Generación Sexta Generación Séptima Generación

Tipo de Monitor UVGA de 1024x768 XGA de 1200x1024 Se popularizan las


pixeles con 16 millones pixeles, 16 millones pantallas planas tipo
de colores de colores, primeras LCD o de plasma
pantallas planas

Sistema Operati- Windows 95 ó Windows 98, Windows ME,


vo típico Windows 98 Windows 2000 y Windows 2000,
Windows ME Windows XP

Accesorios Escáner, impresoras Módem de 56 kbps, Hardware para


de inyección de tinta. cámara digital. captura y edición de
Módems de 33.6 kbps video

Más Información Masificación de Internet es parte de la El PC es centro de


Internet, correo vida, el correo entretención, tv,
electrónico electrónico y chat. equipo de sonido, etc.

Arquitectura de Computadores y Sistema Operativo

19
1.Historia y Evolución de
los Computadores
8080: primer microprocesador de propósito general. Tenía 8 bits, más
rápido, mayor capacidad de direccionamiento.
8086: microprocesador de 16 bits de propósito general, más potente. Tenía un
caché de instrucción, o cola, que precaptaba algunas instrucciones antes de ser
ejecutadas.
80286: permitía direccionar una memoria de 16MBytes.
80386: primera máquina Intel con 32 bits.
80486: introduce el uso de tecnología de caché mucho más sofisticada y potente.
80486 DX: posee el doble de la velocidad que el 80386 y mantiene la
compatibilidad con los procesadores precedentes.
80486 SX: es una solución de menor coste que no incluye coprocesador
matemático.
80486 DX2: posee duplicador de frecuencia interno, y el procesador funciona al
doble de velocidad.
80486 SL: reduce la tensión de trabajo del procesador para conseguir un ahorro
de energía.

Arquitectura de Computadores y Sistema Operativo

20
1.Historia y Evolución de
los Computadores

80486 DX4: triplica la frecuencia de reloj y aumenta el tamaño de la memoria


caché interna a 16 Kbytes.
Pentium: con éste Intel introduce técnicas que permiten que varias instrucciones
se ejecuten en paralelo.
Pentium Pro: variante del pentium con mejoras en velocidad y paralelismo.
Pentium MMX: incluyó un juego de instrucciones especializadas, llamadas MMX.
Pentium II: contiene todos los últimos avances de la familia de microprocesadores
de Intel con la potencia del Pentium Pro, más la tecnología Intel MMX, para
procesar datos de video, audio y gráficos.
Pentium III: incorpora instrucciones para procesar software 3D, para transmisión
más rápida de sonido y video de alta calidad.

Arquitectura de Computadores y Sistema Operativo

En el año 1992 la empresa Intel anunció la próxima generación de su línea de


procesadores que se llamaría Pentium en vez de 586 u 80586. De esta manera
pudo diferenciar el nombre de su procesadores de los de sus competidores. Dentro
de los pentium aparecieron distintas versionescon características mejoradas:
Pentium, Pentium Pro, Pentium MMX, Pentium II, Pentium III y Pentium IV.

21
1.Historia y Evolución de
los Computadores
Pentium IV: ofrece una nueva generación de recursos para procesar y ejecutar
con mayor rapidez muchas aplicaciones populares de imágenes, música, vídeo y
juegos digitales, optimizando el rendimiento para las tecnologías modernas de
Internet y visualización de gráficos en tres dimensiones.
Pentium IV HT: la Tecnología Hyper-Threading (HT) es una tecnología
innovadora que permite al procesador pentium 4 ejecutar encadenamientos de
instrucciones en paralelo, y permite que los usuarios hagan más en menos
tiempo.
Itanium2: este es el primer procesador con arquitectura completa de 64 bits. Está
basado en la arquitectura EPIC, que le permite ejecutar hasta 6 instrucciones en
paralelo por ciclo de reloj. Permite trabajar con Aplicaciones de servidor y
multiprocesador enfocadas a las bases de datos, inteligencia empresarial (BI),
gestión de la cadena de suministros (SCM), planificación de recursos
empresariales (ERP) e informática de alto rendimiento (HPC).

Arquitectura de Computadores y Sistema Operativo

Hasta el momento hay dos procesadores de 64 bits conocidos Itanium y AMD64.


Itanium2: Este procesador es arquitectura EPIC, explicit parallel instruccion
computing o proceso de intrucciones explicitamente paralelo, arquitectura a la que
no se está acostumbrado como usuarios finales pues no está orientado al mercado
doméstico.
Básicamente se distingue de la arquitectura CICS (la que usan los sistemas de
sobremesa actuales), en que sus instrucciones ensambladoras son mucho más
elementales, tienen decenas de registros de propósito general y particulares. El
código a ejecutar, su optimización, se basa en lo optimizado que esté el
compilador. Extraordinariamente rápidos, pero difícil de ajustar los compiladores
para un rendimiento óptimo.
El Itanium tiene memoria caché de tres niveles (L1, L2 dentro del procesador y L3
de 2 o 4 MB en el propio encapsulado)
El Itanium e Itanium 2 están pensados para servidores. Existe un XP Profesional de
64 bits para ellos. Los procesadores Itanium 2 son compatibles sistema de
soluciones de 64 bits, altamente escalables y de estándares abiertos, de más de 40
fabricantes de software líderes, más de cinco sistemas operativos, que incluyen
Windows* Server 2003, HP-UX y Linux-64, y centenares de aplicaciones y
herramientas.

22
2. Funcionamiento y
Organización del Computador

Arquitectura de Computadores y Sistema Operativo

23
2. Funcionamiento y
Organización del Computador
• Las funciones básicas que un computador
puede realizar
9 Procesamiento de Datos.
9 Almacenamiento de Datos.
9 Transferencia de Datos.
9 Control.

Arquitectura de Computadores y Sistema Operativo

•Procesamiento de Datos: El computador debe ser capaz de procesar datos, que


pueden ser de una gran variedad de formas.
•Almacenamiento de Datos: También debe ser capaz de almacenar datos, incluso
si el computador está procesando datos al vuelo (si los datos se introducen y
procesan, y los resultados se obtienen inmediatamente), el computador tiene que
guardar temporalmente, al menos aquellos datos con los que está trabajando en un
momento dado. Esto es una función de almacenamiento de a corto plazo. También
el computador almacena ficheros de datos para que se recuperen y actualicen en
un futuro. Esto es una función de almacenamiento de datos a largo plazo.
•Transferencia de Datos: El computador, debe ser capaz de transferir datos entre él
mismo y el mundo exterior. El entorno de operación del computador se compone de
dispositivos que sirven bien como fuente o como destino de datos. Cuando se
reciben o se llevan datos a un dispositivo que está directamente conectado con el
computador, el proceso se conoce como entrada-salida (E/S), y éste dispositivo se
llama periférico.
•Control: Dentro del computador, una unidad de control gestiona los recursos del
computador y dirige las prestaciones de sus partes funcionales en respuesta a
estas instrucciones.

24
2. Funcionamiento y
Organización del Computador
• Componentes de un computador
9 Unidad Central de Procesamiento
9 Memoria Principal
9 E/S
9 Sistema de Interconexión (Bus del
Sistema)

Arquitectura de Computadores y Sistema Operativo

Compoenetes estructurales principales de un computador.


•Unidad Central de Procesamiento: Controla el funcionamiento del computador y
lleva a cabo sus funciones de procesamiento de datos. Se le llama frecuentemente
procesador.
•Memoria Principal: Almacena datos.
•E/S: Transfiere datos entre el computador y el entorno externo.
•Sistema de Interconexión: Proporciona la comunicación entre la CPU, la memoria
principal y la E/S.

Puede que haya más de uno de estos componente. Tradicionalmente


ha habido una CPU. En la actualidad se pueden ver computadoras con más de un
procesador.

25
2. Funcionamiento y
Organización del Computador
Computador CPU

E/S
Registros ALU

Bus de
Sistema CPU Interconexión
Interna

Memoria
Unidad de
Control

Esquema resumen.

Arquitectura de Computadores y Sistema Operativo

26
2. Funcionamiento y
Organización del Computador
9 Unidad Central de Procesamiento (CPU)

Unidad de Control
ALU (Unidad Aritmético Lógica)
Registros
Interconexiones CPU

Arquitectura de Computadores y Sistema Operativo

El componente más interesante y complejo es la CPU. Sus principales


componentes estructurales son:
•Unidad de Control: Controla el funcionamiento de la CPU.
•ALU: Realiza las funciones de procesamiento de datos del computador.
•Registros: Proporciona almacenamiento interno a la CPU
•Interconexiones CPU: Son mecanismo que proporcionan comunicación entre la
unidad de control, la ALU y los registros.

27
2. Funcionamiento y
Organización del Computador
CPU Memoria
.
PC MAR .
.
Instrucción

IR MBR Instrucción
Instrucción
.
.
E/S AR
.
Datos
Datos
E/S BR
Datos
.
.
Módulo de E/S .

Registros

Componentes del computador: esquema de dos niveles.


Arquitectura de Computadores y Sistema Operativo

La figura muestra los componentes de alto nivel y la interacción entre ellos. A continuación se
describirán en forma breve.
La CPU se encarga del control, intercambia datos con la memoria para lo cual utiliza
por lo general sus registros internos:
•Registro de Dirección de Memoria (MAR) que especifica la dirección de memoria de la próxima
lectura o escritura.
•Registro para Datos de Memoria (MBR) que contiene el dato que se va a escribir en memoria o
donde se escribe el dato que se va a leer de memoria.
•Registro de Direcciones de E/S (E/S AR) que especifica un dispositivo de E/S.
•Registro para Datos de E/S (E/S BR) que se utiliza para intercambiar datos entre un módulo de E/S
y la CPU.
También es necesario mencionar los registros Contador de Programa (PC) y el
Registro de Instrucción (IR), que se verán más adelante, cuando se explique la forma en que un
computador ejecuta sus programas.
Un Módulo de Memoria consta de un conjunto de posiciones, designadas por
direcciones numerada secuencialmente. Cada posición contiene un número binario que puede ser
interpretado como una instrucción o como un dato.
Un Módulo de E/S transfiere datos desde los dispositivos externos a la CPU y a la
memoria, y viceversa. Contiene los registros internos para almacenar los datos temporalmente,
hasta que puedan enviarse.

28
2. Funcionamiento y
Organización del Computador
¿Cómo lo hace el computador para ejecutar un
programa ?

Ciclo de Captación Ciclo de Ejecución

Captar la
Ejecutar la
INICIO Siguiente PARADA
Instrucción
Instrucción

Ciclo de Instrucción Básico.

Arquitectura de Computadores y Sistema Operativo

¿Cómo lo hace el computador para ejecutar un programa ?


Un programa es un conjunto de pasos o instrucciones almacenadas
en memoria y el procesador es el encargado de ejecutar las instrucciones
especificadas en el programa.
El procesador realiza esto en dos pasos:
•Lee o capta la instrucción de memoria y
•Ejecuta la instrucción.
Entonces la ejecución del programa no es más que la repetición del
proceso de captación de instrucción y ejecución de instrucción. Estos pasos se
denominan Ciclo de Captación y Ciclo de Ejecución. Y todo este procesamiento se
llama Ciclo de Instrucción.
Esta ejecución puede verse afectada y por lo tanto verse obligada a
parar por las siguientes razones:
•Desconexión del computador,
•Si se produce algún error,
•O si se ejecuta una instrucción del programa que detiene al computador.

29
2. Funcionamiento y
Organización del Computador
1. La CPU capta una instrucción de memoria.
2. La CPU incrementa el Contador de Programa.
3. La instrucción captada se almacena en el Registro
de Instrucción en código binario (la instrucción
especifica la acción que debe realizar la CPU).
4. La CPU interpreta la instrucción y realiza la acción
especificada.

Arquitectura de Computadores y Sistema Operativo

Durante los ciclos de captación y ejecución la CPU se vale de sus registros


Contador de Programa y Registro de Instrucción (PC e IR).
Al comienzo de cada ciclo de instrucción la CPU capta una instrucción de memoria
y usa el registro PC para seguir la pista de la instrucción que deberá captar a
continuación. La CPU siempre incrementa el PC después de cada captación para
continuar con la instrucción situada en la siguiente dirección de memoria.
Una vez captada la instrucción se almacena en el IR y se escribe en
código binario, y especifica la acción que debe realizar la CPU. Luego ésta la
interpreta y lleva a cabo la acción requerida.

30
2. Funcionamiento y
Organización del Computador
Tipos de acción especificadas en la instrucción:

a. Procesador-Memoria.
b. Procesador-E/S.
c. Procesamiento de Datos.
d. Control.

Arquitectura de Computadores y Sistema Operativo

La acción que está especificada en la instrucción puede ser de 4 tipos


generalmente:

1. Procesador-Memoria: deben transferirse datos desde la CPU a la memoria, o


desde la memoria a la CPU.
2. Procesador-E/S: deben transferirse datos a o desde el exterior mediante
transferencias entre la CPU y un Módulo de E/S.
3. Procesamiento de Datos: la CPU ha de realizar alguna operación aritmética o
lógica con los datos.
4. Control: una instrucción puede especificar que la secuencia de ejecución se
altere. Un ejemplo claro, la CPU capta una instrucción de la posición 149 que
especifica que la siguiente instrucción debe captarse de la posición 182. La
CPU lo registra poniendo en el PC 182, lo que provoca que en el próximo ciclo
de captación, la instrucción se cargará desde la posición 182 en vez de la
posición 150.
La ejecución de una instrucción puede implicar una combinación de estas
acciones.

31
2. Funcionamiento y
Organización del Computador
0 34 15
Codop Dirección

(a) Formato de Instrucción.


0 1 15
S Magnitud

(b) Formato de Enteros.

PC = Dirección de Instrucción
IR = Instrucción en Ejecución
AC = Almacenamiento Temporal

(c) Registros Internos de la CPU.

Características de una Máquina Hipotética.

Arquitectura de Computadores y Sistema Operativo

Ejemplo.
Considérese una máquina hipotética, cuyo procesador tiene un único registro de
datos (AC) y las características indicadas en la figura.
Las instrucciones y los datos son de 16 bits.
El formato de instrucción indica que pueden haber 24 = 16 códigos de operación
(codop) diferentes.
Se pueden direccionar directamente hasta 212 = 4096 (4K) palabras de memoria.
Lo que va a hacer a máquina hipotética es la ejecución de una parte
de un programa. Utiliza notación hexadecimal.
•La parte de programa suma el contenido de la palabra de memoria en la dirección
94016 con el contenido de la palabra de memoria en la dirección 94116
•Almacena el resultado en la dirección 94116.
Se requieren tres instrucciones, que consumen tres ciclos de
captación y tres de ejecución.

32
2. Funcionamiento y
Organización del Computador

Memoria Registros Memoria Registros


de la CPU de la CPU
300 1940 300 PC 300 1940 300 PC
301 5941 AC 301 5941 0003 AC
302 IR 302
2941 1940 2941 1940 IR

940 0003 940 0003


941 0002 941 0002

I. II.

Arquitectura de Computadores y Sistema Operativo

1. El PC contiene el valor 300, que es la dirección donde se encuentra la primera


instrucción a ejecutarse. Esta instrucción se carga en el IR.
2. Los primeros cuatro bits de IR indican que el acumulador AC se va a cargar.
Los restantes 12 bits especifican la dirección, que es 940.

33
2. Funcionamiento y
Organización del Computador

Memoria Registros Memoria Registros


de la CPU de la CPU
300 1940 301 300 1940 301
PC PC
301 5941 301 5941
0003 AC 0005 AC
302 302
2941 5941 IR 2941 5941 IR

940 0003 940 0003


941 0002 941 0002
316 + 216 = 516

III. IV.

Arquitectura de Computadores y Sistema Operativo

3. El registro PC se incrementa, y se capta la siguiente instrucción.


4. El contenido anterior de AC y el de la posición de memoria 941 se suman, y el
resultado se almacena en AC.

34
2. Funcionamiento y
Organización del Computador

Memoria Registros Memoria Registros


de la CPU de la CPU
300 1940 302 1940
PC 300 302 PC
301 5941 301
0005 AC 5941 0005 AC
302 302
2941 2941 IR 2941 2941 IR

940 0003 940 0003


941 0002 941 0005

V. VI.

Arquitectura de Computadores y Sistema Operativo

5. El registro PC se incrementa, y se capta la siguiente instrucción.


6. El contenido de AC se almacena en la posición 941.

35
2. Funcionamiento y
Organización del Computador

Captación de Captación de Almacenamiento


instrucción operando de operando

Varios
Varios Resultados
operandos

Decodificación
Cálculo de Cálculo de Cálculo de
de la operación Operación
la dirección de la dirección de la dirección de
de la con datos
instrucción operando operando
instrucción

Instrucción completada, captar Cadena o vector de datos


siguiente instrucción

Diagrama de estados del ciclo de instrucción.


Arquitectura de Computadores y Sistema Operativo

Con un conjunto de instrucciones más complejo se hubieran necesitado menos ciclos. Los
procesadores actuales incluyen instrucciones que contienen más de una dirección. Así, el ciclo de
ejecución de una instrucción puede incluir más de una referencia a memoria. Una instrucción puede
especificar una operación de E/S también.
La figura, que tiene la forma de un diagrama de estados, proporciona una visión
más detallada del ciclo de instrucción básico presentado con anterioridad. Estos estados son:
•Cálculo de la dirección de la instrucción: determina la dirección de la siguiente instrucción a
ejecutar.
•Captación de instrucción: la CPU lee la instrucción desde su posición en memoria
•Decodificación de la operación indicada en la instrucción: analiza la instrucción para determinar el
tipo de operación a realizar y el/los operando(s) a utilizar.
•Cálculo de la dirección del operando: si la instrucción implica una referencia a un operando en
memoria o disponible mediante E/S, determina la dirección del operando.
•Captación de operando: capta el operando desde memoria o se lee desde el dispositivo de E/S.
•Operación con los datos: realiza la operación indicada en la instrucción.
•Almacenamiento de operando: escribe el resultado en memoria o lo saca a través de un dispositivo
de E/S.
Los estados en la parte superior de la figura ocasionan intercambios entre la CPU y
la memoria o un módulo de E/S. Los de abajo ocasionan operaciones internas a la CPU.

36
2. Funcionamiento y
Organización del Computador
Clases de interrupciones

Programa 9Desbordamiento aritmético.


9División por cero.
9Ejecutar una instrucción máquina inexistente.
9Intento de acceder fuera del espacio de memoria
permitido para el usuario.

Temporización 9Generadas por un temporizador interno al procesador.

E/S 9Generadas por un controlador de E/S.

Fallo de 9Generadas por un fallo tal como la falta de potencia de


alimentación o un error de paridad en la memoria.
Hardware

Arquitectura de Computadores y Sistema Operativo

Interrupciones
Casi todos los computadores disponen de un mecanismo mediante el que otros
módulos, por ejemplo E/S, memoria, pueden interrumpir el procesamiento normal
de la CPU. En la tabla se ven las clases más comunes de interrupciones.
Propósito de las Interrupciones:
Las interrupciones tienen el propósito de mejorar la eficiencia del procesador.
Como la mayoría de los dispositivos externos son más lentos que el procesador
mediante las interrupciones se evita que éste se detenga y permanezca ocioso.
Con el uso de interrupciones el procesador puede dedicarse a la ejecución de otras
instrucciones mientras una operación de E/S está en curso.

37
2. Funcionamiento y
Organización del Computador
9 Buses
Un bus es un camino de comunicación entre dos
o más dispositivos.
Es un medio de transmisión compartido.
Al bus se conectan varios dispositivos.
Un bus está constituido por varios caminos de
comunicación, por líneas.

Arquitectura de Computadores y Sistema Operativo

Un BUS es un canal en el que fluye la información entre dos o mas dispositivos, es decir,
es un canal de comunicación entre dispositivos. Teniendo siempre el microprocesador como centro
neurálgico donde se procesa la información.
Un BUS en el que sólo se pueden comunicar dos dispositivos es un PUERTO. El ejemplo más utilizado para
entender este concepto es la comparación de un bus con una autopista, la información que fluye por el bus
son los coches que circulan por la autopista y el ancho del bus son los carriles que tiene esa autopista,
cuantos más carriles (ancho) mas coches (información) pueden circular al mismo tiempo por la autopista
(bus). Teniendo en cuenta este concepto hablamos de un bus de 16 bits, de 32 bits, etc. La velocidad del bus
viene expresada en MHz y se pueden encontrar buses de 33 MHz, de 66 MHz, etc. En el ejemplo anterior de
la autopista la velocidad del bus sería la velocidad máxima a la que los coches pueden circular por los
carriles. El "ancho de banda" de un bus es la cantidad máxima de información que puede fluir por él en una
unidad de tiempo determinado (en el ejemplo utilizado el ancho de banda es la cantidad máxima de coches
que pueden circular por la autopista en un tiempo determinado, que depende del número de carriles de la
autopista y de la velocidad máxima a la que pueden circular los mismos por cada carril). Se expresa en bytes
por segundo, así por ejemplo un bus de 32 bits y con una velocidad máxima de 33,33 MHz tiene un ancho de
banda de 32 bits por ciclo de reloj x 33.333.333 ciclos de reloj por segundo = 1.066.666.656 bits por segundo,
es decir, 133,33 Mbytes/segundo. Otro ejemplo, el bus local del Pentium tiene una anchura de 64 líneas y
una frecuencia de 66 MHz, lo que proporciona un ancho de banda de 528 Mbytes/s.
Al bus se conectan varios dispositivos, y cualquier señal transmitida por uno de estos
dispositivos está disponible para que los otros dispositivos conectados al bus puedan acceder a ella. Si dos
dispositivos van y transmiten al mismo tiempo, sus señales pueden solaparse y distorsionarse. Por lo tanto
sólo un dispositivo puede lograr su transmisión con éxito.
Cada línea es capaz de transmitir señales binarias representadas por 1 y 0. En un intervalo
de tiempo, se puede transmitir una secuencia de dígitos binarios a través de una única línea. Se pueden usar
varias líneas del bus para transmitir dígitos binarios simultáneamente, o en paralelo. Un ejemplo, un dato de 8
bits puede transmitirse mediante ocho líneas del bus.
Los computadores tienen distintos tipos de buses que proporcionan comunicación entre su
componentes a distintos niveles dentro de la jerarquía del sistema. El bus que conecta los componentes
principales del computador (procesador, memoria y E/S) se denomina bus del sistema (system bus).

38
2. Funcionamiento y
Organización del Computador
9 Buses

CPU Memoria … Memoria E/S … E/S

Líneas de Control

Líneas de Dirección
Bus
Líneas de Datos

Estructura del Bus.

Arquitectura de Computadores y Sistema Operativo

El bus del sistema está formado por entre 50 y 100 líneas. A cada línea se le asigna
una función especial. Las líneas se pueden clasificar en tres grupos funcionales. Líneas de datos,
líneas de direcciones, líneas de control.
•Líneas de Datos: proporcionan un camino para transmitir datos entre los módulos del sistema. El
conjunto constituido por estas líneas se denomina bus de datos. El bus de datos por lo general
consta de 8, 16 ó 32 líneas distintas, cuyo número se conoce como anchura del bus de datos.
Puesto que una línea sólo puede transmitir un bit cada vez, el número de líneas determina cuántos
bits se pueden transferir al mismo tiempo. La anchura del bus es un factor clave para determinar las
prestaciones del conjunto del sistema. Por ejemplo si el bus de datos tiene una anchura de 8 bits, y
las instrucciones son de 16 bits, entonces el procesador debe acceder al módulo de memoria dos
veces por cada ciclo de instrucción. Cuanto más ancho es el bus de datos, mayor es el número de
bits que se transmiten a la vez.
•Líneas de Direcciones: se utilizan para designar la fuente o el destino del dato situado en el bus de
datos. Si por ejemplo el procesador desea leer una palabra de (8,16, 32 bits) de datos de la
memoria, sitúa la dirección de la palabra deseada en las líneas de direcciones. La anchura del bus
de direcciones determina la máxima capacidad de memoria posible en el sistema. Cuanto más
ancho es el bus de direcciones, mayor es el rango de posiciones a las que se puede hacer
referencia. Las líneas de direcciones se usan también para direccionar los puertos de E/S. Los bits
de orden más alto se usan para seleccionar una posición de memoria o un puerto de E/S dentro de
un módulo. Por ejemplo, en un bus de 8 bits, la dirección 01111111 e inferiores harían referencia a
posiciones dentro de un módulo de memoria (el módulo 0) con 128 palabras de memoria, y las
direcciones 10000000 y superiores designarían dispositivos conectados a un modulo de E/S (módulo
1).
•Líneas de Control: Se usan para controlar el acceso y el uso de las líneas de datos y direcciones,
como estas líneas son compartidas por todos los componentes, debe existir una forma de controlar
su uso. Las señales de control transmiten tanto órdenes como información de temporización entre
los módulos el sistema.

39
2. Funcionamiento y
Organización del Computador
9 Buses
Líneas de control típicas
Escritura en memoria (Memory Write).
Lectura de memoria (Memory Read).
Escritura de E/S (I/O Write).
Lectura de E/S (I/O Read).
Transferencia reconocida (Transfer ACK).
Petición de bus (Bus Request).
Cesión de bus (Bus Grant).

Arquitectura de Computadores y Sistema Operativo

Las señales de temporización indican la validez de los datos y las direcciones. Las
señales de órdenes especifican las operaciones a realizar. Algunas líneas de control típicas son:
•Escritura en memoria (Memory Write): hace que el dato del bus se escriba en la posición
direccionada.
•Lectura de memoria (Memory Read): hace que el dato de la posición direccionada se sitúe en el
bus.
•Escritura de E/S (I/O Write): hace que el dato del bus se transfiera a través del puerto de E/S
direccionado.
•Lectura de E/S (I/O Read): hace que el dato del puerto de E/S direccionado se sitúe en el bus.
•Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado o se ha situado en el
bus.
•Petición de bus (Bus Request): indica que un módulo necesita disponer
•Cesión de bus (Bus Grant): indica que se cede el control del bus a un módulo que lo había
solicitado.
•Petición de interrupción (Interrupt Request): indica si hay una interrupción pendiente.
•Interrupción reconocida (Interrupt ACK): señala que la interrupción pendiente se ha aceptado.
•Reloj (Clock): se utiliza para sincronizar las operaciones.
•Inicio (Reset): pone los módulos conectados en su estado inicial.

40
2. Funcionamiento y
Organización del Computador
9 Buses
Líneas de control típicas
Petición de interrupción (Interrupt
Request).
Interrupción reconocida (Interrupt ACK).
Reloj (Clock).
Inicio (Reset).

Arquitectura de Computadores y Sistema Operativo

41
2. Funcionamiento y
Organización del Computador
9 Buses
Bus

Tarjetas
CPU

Memoria
.
.
.
E/S

Implementación física de una arquitectura de bus.


Arquitectura de Computadores y Sistema Operativo

¿Cómo funciona el bus?


1. Si un módulo desea enviar un dato a otro debe:
a) obtener el uso del bus
b) transferir el dato a través del bus
2. Si un módulo desea pedir un dato a otro módulo debe:
a) obtener el uso del bus
b) transferir la petición al otro módulo mediante las líneas de control y dirección apropiadas. Después
debe esperar a que el segundo módulo envíe el dato.
Físicamente el bus de sistema es de hecho un conjunto de conductores eléctricos paralelos,
que son líneas de metal grabadas en una tarjeta (tarjeta de circuito impreso). El bus se conecta a través de
todos los componentes del sistema, cada uno de los cuales se conecta a algunas o a todas las líneas del
bus. Una disposición física muy común se muestra en la figura. Allí se muestra que el bus consta de dos
columnas verticales de conductores. A lo largo de estas columnas a intervalos regulares hay puntos de
conexión en forma de ranuras (slots) dispuestas en sentido horizontal para sostener las tarjetas de circuito
impreso. Cada uno de los componentes principales del sistema ocupa una o más tarjetas y se conecta al
bus a través de esas ranuras.
Esto en definitiva permite que al adquirir un computador pequeño luego se pueda expandirlo
(ampliar la memoria, disco duro, cd-rom, grabador) añadiendo más tarjetas o bien si se daña poder quitarla
y poner una nueva.
En general, la principal consigna a recordar para maximizar el rendimiento de una jerarquía de buses es la
siguiente: cuanto más rápido sea un dispositivo, más cerca del procesador debemos conectarlo. Por ello,
las memorias se ubican en la parte más alta de las jerarquías, mientras que los periféricos van
descendiendo a niveles inferiores a medida que su lentitud se va haciendo más palpable, y así,
encontraremos a la tarjeta gráfica bajo bus AGP en primera línea de combate, a la tarjeta de sonido bajo
bus PCI en segunda línea, y a toda una legión de discos (flexibles, duros y compactos) en la retaguardia
que supone el bus EIDE o SCSI.

42
2. Funcionamiento y
Organización del Computador
9 Buses
Conecta el microprocesador con
Bus Local la memoria caché y la memoria
principal.

Conecta el procesador con los


Bus de Expansión dispositivos periféricos.
(tarjetas, discos, impresoras)

Destinados al diálogo con un


Buses Dedicados tipo concreto de dispositivo.
(EIDE o SCSI o bus AGP)

Arquitectura de Computadores y Sistema Operativo

En la actualidad, la jerarquía de buses del PC engloba una taxonomía de tres


estratos o niveles básicos en función de su cercanía al microprocesador:
• El bus local: conecta el microprocesador con la memoria caché y la memoria principal. Es el primer
camino por el que circula la información del microprocesador cuando sale al exterior, y el único que
está físicamente conectado al patillaje de su zócalo. Es el bus más importante del sistema desde el
punto de vista del rendimiento, ya que todos los demás buses desembocarán allí en su camino hacia
el microprocesador. Esto ha provocado también que el bus local sea el que más metamorfosis haya
experimentado con el paso del tiempo, obligado también por el paso tan acelerado que ha llevado el
microprocesador.
A pesar de estar tan cercano al procesador, la diferencia de velocidad con respecto a éste es muy
apreciable.
• El bus de expansión: conecta el procesador con los dispositivos periféricos, cuyas tarjetas se
instalan en los zócalos de expansión del sistema. Éste bus es la columna vertebral del PC. Por ella
fluye la información que generan / reciben todos los dispositivos del sistema (tarjetas, discos,
impresoras, etcétera).
Actualmente este bus engloba a una segunda jerarquía de dos niveles, con una parte implementada
mediante bus PCI a la que se conectan los dispositivos más rápidos, y otra mediante bus ISA, donde
se enganchan los más lentos.
•Los buses dedicados: buses de propósito específico, destinados al diálogo con un tipo concreto de
dispositivo. Por ejemplo, los buses EIDE o SCSI para los dispositivos de almacenamiento masivo, o
el bus AGP para la tarjeta gráfica. Esta comunicación se realiza siempre pasando primero por el bus
local, y en muchas ocasiones también por el bus de expansión, hasta finalmente alcanzar el
correspondiente bus dedicado.

43
2. Funcionamiento y
Organización del Computador
Tarjeta Madre
Plataforma física sobre la que se conectan los
distintos dispositivos que integran un
computador.
Es un medio de comunicación entre dos
componentes.
¡Es muy importante una correcta elección de
Tarjeta Madre en la configuración global de
un equipo!
Rendimiento.
Interoperabilidad del equipo.

Arquitectura de Computadores y Sistema Operativo

Tarjeta Madre: Es el esqueleto del computador. La tarjeta madre también es llamada


Placa Base, Placa Madre, Placa Principal, Mainboard, Motherboard. Es una Tarjeta de circuito
impreso PCB donde están montados todos los subsistemas críticos tales como el procesador, el
chipset, la memoria, ranuras de expansión, etc. La Tarjeta Madre es el segundo componente a
seleccionar después del tipo de Microprocesador para el computador.
Su función principal es la de servir como medio de comunicación entre dos componentes
mencionados, proporcionando las líneas eléctricas y las señales de control necesarias para que
todas las transferencias de datos se realicen de forma fiable y eficiente. La corriente fluye sobre
cada capa a través de varias líneas conductoras que conectan los chips, zócalos y demás
componentes ubicados en la superficie de la placa base. El corte de alguna de estas líneas
conductoras, ya sea debido a daños físicos o a cortocircuitos, suele provocar que toda la placa base
e incluso los componentes que en ella se conectan queden totalmente inutilizados.
La CPU ha sido el elemento que más ha determinado el rendimiento de un sistema, por eso su
protagonismo es mucho más notorio que el de la placa base, pero fallar en la elección de la placa va
a ser mucho peor que fallar en la elección del microprocesador, pues es la que definirá la capacidad
de su sistema sus funciones y limitaciones.
• Rendimiento: la tarjeta madre define la velocidad de los componentes que integra y determina a su
vez las características de los subsistemas que se conectan a ella. La forma más eficiente de
acelerar un sistema consiste en mejorar los subsistemas comparativamente más lentos
(denominados cuellos de botella). Pues bien, el microprocesador es hoy en día el dispositivo más
rápido del computador, mientras que la placa funciona a una velocidad mucho menor.
• Interoperabilidad del equipo: la tarjeta madre determina qué dispositivo puede formar parte de él,
en qué número y cuáles pueden ser sus características. Aquí la tarjeta toma un papel regulador para
los movimientos: siempre que se decida cambiar un componente del equipo e insertar uno nuevo,
hay que asegurarse antes de que la tarjeta madre suministra su conexión y se entiende con él.

44
2. Funcionamiento y
Organización del Computador
Tarjeta madre y sus módulos básicos

Ranuras de
Conectores para expansión
unidades de disco

Ranuras para
módulos de memoria
(RAM)
Chipset

Puertos de entrada-
salida

Zócalo para el
microprocesador

Arquitectura de Computadores y Sistema Operativo

Todas las Tarjetas Madres están constituidas por los módulos básicos que
presenta la figura.
9Conectores para unidades de disco
9Ranuras para módulos de memoria RAM
9Zócalo para el procesador
9Ranuras de expansión
9Chipset
9Puertos de entrada-salida.

45
2. Funcionamiento y
Organización del Computador
Tarjeta madre y sus componentes
9 Zócalo del procesador.
9 Reloj.
9 Buses.
9 El juego de chips (chipset).
9 Regulador de Voltaje.
9 La BIOS, LA CMOS, y la pila del sistema.
9 Los zócalos de la RAM.
9 Los conmutadores manuales o jumpers.
9 Disipador de calor.
9 Conectores internos.
9 Conectores externos.

Arquitectura de Computadores y Sistema Operativo

Componentes que se integran en la Tarjeta Madre.


Zócalo del procesador: espacio físico de la placa reservado para insertar el microprocesador. Las placas con múltiples zócalos
tienen especial interés en el segmento de PC dedicado a sistemas de tipo servidor. Estos modelos permiten albergar a varios
procesadores. El rendimiento de estas placas está fuertemente condicionado por aspectos software, fundamentalmente por el
sistema operativo
utilizado y por la aplicación a ejecutar en el equipo.
Reloj: diminuto dispositivo de cuarzo que proporciona una señal de onda cuadrada digital y periódica. Se caracteriza por su
frecuencia en Megahercios, parámetro inverso al período de la señal.
o Este reloj ostenta la función de sincronizar las distintas operaciones que se realizan en el computador (cálculos, transferencias
de información, etc.). La frecuencia de funcionamiento de la placa base de los PCs oscila hoy en día en el rango 66-100 MHz.
Esta frecuencia se aplica directamente al bus local de la placa, a través de divisores de frecuencia a los subsistemas más lentos,
y a través de multiplicadores de frecuencia a los dispositivos más rápidos, como el microprocesador.
Buses: otro de los elementos importantes que vienen implementados en la placa base y que hemos desarrollado con mayor
amplitud anteriormente.
El juego de chips (chipset): conjunto de circuitos que implementan gran parte de la funcionalidad de comunicación y control
asignada la placa base. Su lógica determina también buena parte del rendimiento de la placa, así como la versatilidad en cuanto
a la variedad de dispositivos que a ella pueden conectarse. Existe hoy en día tendencia a minimizar el número de chips que
componen el juego de chips y a integrar en él cada vez más funciones.
Regulador de voltaje: elemento más voluminoso de la placa base en comparación con la función tan simple que desarrolla, que
es la de regular el voltaje de entrada al microprocesador.
La BIOS, LA CMOS, y la pila del sistema: programa donde existen las opciones sobre la configuración del sistema. La CMOS es
en donde se almacena la información sobre el sistema, y posee una pila que la alimenta cuando se apaga el equipo.
Los zócalos de la RAM: Son los conectores donde se introducen los módulos RAM.
Los conmutadores manuales o jumpers: interruptores físicos cuya posición se altera manualmente para codificar un estado que
determina ciertos aspectos de la configuración del hardware.
Disipador de calor: lámina de aluminio que absorbe el calor que el microprocesador genera.
Conectores internos: tomas de corriente continua desde la fuente de alimentación.
Conectores externos: tomas que alimentan a periféricos.

46
2. Funcionamiento y
Organización del Computador

Tarjeta Madre y su distribución.


Arquitectura de Computadores y Sistema Operativo

Tarjetas Madres Integradas


Las placas incluyen un número muy variable de tarjetas integradas: tarjeta gráfica,
módem, tarjeta de red, tarjeta de sonido… Disponer de una tarjeta integrada
significa que no tendremos que adquirirla por separado: tendremos menos lío de
cables dentro de la caja, según casos nos quedarán más ranuras de expansión
libres y el coste total será menor. No obstante podemos estar interesados en una
tarjeta de más prestaciones que las que nos puedan ofrecer los fabricantes de
placas (por ejemplo, un músico que necesite una tarjeta de sonido profesional): en
tal caso nos servirá una placa que no disponga de tal tarjeta. También es posible
habitualmente desactivar una tarjeta integrada (eso se hace entrando en los menús
de la BIOS) para utilizar una que hayamos instalado nosotros.

47
2. Funcionamiento y
Organización del Computador
Tarjeta madre y sus componentes

9 Full AT
9 Baby AT
9 LPX
9 ATX
9 NLX

Arquitectura de Computadores y Sistema Operativo

Las Tarjetas Madres vienen en varios formatos: Full AT, Baby AT, LPX, ATX, NLX.
Full AT:Es llamada así porque es igual al diseño de la tarjeta madre IBM AT original. Esto permite a tarjetas de
hasta 12 pulgadas de ancho y 13.8 pulgadas de profundidad. El conector de teclado y los conectores de los
slots deben estar colocados en los lugares especificados por los requerimientos para que correspondan con los
agujeros en el case o gabinete.
Baby AT: Es una versión mas pequeña de los AT, generalmente de 9 pulgadas de ancho y 10 pulgadas de
alto, que apareció en 1989. En este tipo de tarjeta madre el microprocesador está colocado en la parte de
enfrente de la tarjeta madre, de tal manera que si se quiere quitar el microprocesador es necesario quitar
algunas tarjetas, otro de los inconvenientes que posee es que para enfriar el microprocesador se necesita un
ventilador en el microprocesador. Otra diferencia es que incluye un conector para voltajes de solo 12v y 5 v.
Algunos diseños baby AT permiten instalar tarjetas madre AT o ATX.
No todos los AT y los Baby AT usan el estándar del conector DIN de 5 pines para el teclado. Este es el formato
mas popular y que se encuentra en la mayoría de computadoras ya que es muy flexible.
LPX:Este formato fue muy utilizado y es una variante especializada de un baby AT con un bajo perfil, fue
desarrollado por Western Digital para computadoras de escritorio para que no ocupen mucho espacio. Este tipo
de factor generalmente se encuentra en las computadoras Compaq, Hewlett Packard, Digital, Packard Bell, y
algunos fabricantes de tarjetas madre. Se encuentra en computadoras con case Slim, que es un gabinete de
escritorio delgado, lo que caracteriza este tipo de formato es que las tarjetas están montadas en un rise card en
el centro de la tarjeta. Los inconvenientes que presenta este tipo de tarjetas madre es que al estar el rise card
al centro de la tarjeta evita el flujo de aire y requiere mayor ventilación, es difícil quitar la tarjeta madre y en
algunos casos es necesario comprar solo del fabricante ya que cada quien soluciona el problema a su manera.

48
2. Funcionamiento y
Organización del Computador

Tarjeta Madre para Pentium 4.

Arquitectura de Computadores y Sistema Operativo

ATX: La especificación oficial ATX fue presentada por Intel en Julio de 1995 pero aparece en 1996
es una reciente evolución en lo que a tarjetas madre se refiere y se espera que sea el estándar el
tamaño y la forma son completamente diferentes al AT. El tamaño es generalmente 12 pulgadas de
ancho y 9.6 pulgadas de alto, esto deja colocar 1 slot AGP, 2 PCI, 1 PCI o ISA y 3 slots ISA, también
existe la versión mini-ATX que tiene un tamaño de pulgadas por 9.6 de largo lo que permite colocar
1 slot AGP, 2 PCI, 1 PCI o ISA. Debido a que una ATX es esencialmente una baby AT girada 90
grados, este giro permite actualizar fácilmente el microprocesador, sin tener que quitar ninguna
tarjeta, el ventilador de la fuente de alimentación queda cerca del microprocesador y permite un
mejor enfriamiento. Entre sus características y beneficios principales se puede mencionar. Doble
alto flexible panel de entrada/salida que permite alta integración. Sistemas de bajo costo, Pocos
cables, Mejora la confiabilidad, Menor tiempo de ensamblado, Soporte para conectividad y estándar
I/O, tal como USB, TV in/out, ISDN, etc. ,Permite integrar gráficos y uso de frame buffer architecture.
NLX: Aparece en1997 diseñado por Intel en colaboración por IBM, es un diseño
nuevo de tarjeta madre que incluye:
Soporte para las nuevas tecnologías tales como AGP, USB
Las mejoras y ventajas del ATX los conectores del puerto serie, paralelo, teclado,
ratón etc. están colocados en la parte posterior de la tarjeta madre.
Permitir fácil acceso a los componentes.
Está diseñado para facilitar el mantenimiento típicamente de 8.8 por 13 pulgadas.
Tiene un conector tipo Riser en el lateral de la Placa Base donde se conecta una
tarjeta con los slots de expansión. De esta forma las tarjetas quedan paralelas a la Placa Base

49
2. Funcionamiento y
Organización del Computador

Tarjeta Madre KT8 Neo.

Arquitectura de Computadores y Sistema Operativo

Entre los principales fabricantes de Placas Madre se cuenta:


Soyo, Intel, Asus, Pcchips

50
2. Funcionamiento y
Organización del Computador

Placa madre para Athlon64 con sistema OTES.

Arquitectura de Computadores y Sistema Operativo

51
2. Funcionamiento y
Organización del Computador
Puerto Paralelo Puerto de Juegos
Conector PS/2
ratón

Conectores
de Audio

Conector PS/2 Puerto USB


Teclado Puertos Seriales
Conectores y puertos.

Arquitectura de Computadores y Sistema Operativo

52
2. Funcionamiento y
Organización del Computador
Conector para CD-
ROM o DVD

Conector para
Disco Duro Conector para
Disquete

Conectores y puertos.

Arquitectura de Computadores y Sistema Operativo

53
2. Funcionamiento y
Organización del Computador
Chipset de VIA

Chipset Intel

Chipset de Sis

Chipset.

Arquitectura de Computadores y Sistema Operativo

54
2. Funcionamiento y
Organización del Computador

Ranura
AGP

Ranura
CNR

Ranura PCI

Ranuras de expansión.

Arquitectura de Computadores y Sistema Operativo

Ranuras de Expansión PCI y AGP: las tarjetas madres permiten que el computador pueda
ampliarse si es así lo requerido en un momento, ya que contienen slots o ranuras de expansión. Hay
que fijarse en cuatro tipos de ranuras de expansión en las tarjetas: AGP, PCI, ISA-16 y CNR.

55
2. Funcionamiento y
Organización del Computador

Conectores
Sata

Tarjeta Madre Intel para


doble microprocesador de
la Familia Xeon

Arquitectura de Computadores y Sistema Operativo

Otras características especiales de las tarjetas madres modernas tienen que ver con otras
prestaciones que hacen de los computadores máquinas mucho más poderosas y flexibles. A
algunas se les puede conectar más de un procesador, como se ve en la figura la placa posee dos
zócalos y se puede conectar en ella dos microprocesadores. Estas placas madres son destinadas a
servidores para red. Hay otras Tajetas madre que possen puertos FireWire. Es común también que
los fabricantes coloquen conectores para discos duros tipo S-ATA (IDE serial) y existen tarjetas
capaces de manejar sus discos duros en configuraciones redundantes, conocidas como RAID
(común en servidores empresariales). Todas estas características es de esperarse que los haga
mucho más costosos, ya que es tecnología que aumentan notablemente el rendimiento de los
equipos.

56
2. Funcionamiento y
Organización del Computador

Procesadores y su capacidad de bus.

Arquitectura de Computadores y Sistema Operativo

La tabla muestra alguno de los diferentes procesadores que ha habido hasta y su


capacidad de bus

57
2. Funcionamiento y
Organización del Computador
Bus PCI “Interconexión de componente periférico”
Ancho de banda elevado.
Independiente del procesador.
Se puede utilizar como bus de periféricos o bus
Para arquitectura de entreplanta.
Proporciona mejores prestaciones para los
subsistemas de E/S de alta
velocidad(adaptadores de pantalla gráfica, los
controladores de interfaz de red, los
controladores de disco).

Arquitectura de Computadores y Sistema Operativo

Este modelo que hoy en día rige en los ordenadores convencionales,


y es el más extendido de todos, lo inventó Intel y significa: interconexión de los
componentes periféricos. Con la llegada de este nuevo bus automatizado en todos
sus procesos el usuario ya no se tendrá que preocupar más de controlar las
direcciones de las tarjetas o de otorgar interrupciones. Integra control propio de
todo el relacionado con él: DMA, interrupciones, direccionamiento de datos. Es
independiente de la CPU, puesto que entre estos dos dispositivos siempre habrá un
controlador del bus PCI, y da la posibilidad de poder instalarlo a sistemas no
basados en procesadores Intel. Las tarjetas de expansión se pueden acoplar a
cualquier sistema, y pueden ser intercambiadas como se quiera, tan solo los
controladores de los dispositivos tienen que ser ajustados al sistema anfitrión
(host), es decir a la correspondiente CPU. PCI es la eliminación de un paso al
microprocesador; en vez de disponer de su propio reloj, el bus se adapta al
empleado por el microprocesador y su circuitería, por lo tanto los componentes del
PCI están sincronizados con el procesador.
El actual PCI opera con una frecuencia de 20 a 33.3MHz.
www.hardware12v.com/conocimientospc/42.php

58
2. Funcionamiento y
Organización del Computador

Ranura
AGP

Ranura
CNR

Ranura PCI

Ranuras PCI.

Arquitectura de Computadores y Sistema Operativo

59
2. Funcionamiento y
Organización del Computador
Elementos para el funcionamiento básico de la tarjeta
madre.

Tarjeta Madre

Arquitectura de Computadores y Sistema Operativo

Importancia de la Memoria
Desde los primeros computadores personales que se usa memoria interna. Son
elementos indispensables para que funcione el sistema y se produzca el
procesamiento de datos. Un PC puede funcionar aunque no tenga tarjeta de
sonido, lector de CD-ROM, incluso sin disco duro. Para que la tarjeta madre pueda
trabajar en forma básica (además de los voltajes de alimentación) requiere de
procesador, memoria, tarjeta de video y teclado.
Haciendo un poco de historia, cuando IBM lanzó al mercado su PC-XT utilizó
memoria que consistía en numerosos circuitos integrados, cada uno de los cuales
se ponía en un zócalo insertdo en la tarjeta madre con una capacidad cada chip de
entre 16 y 256 kilobits ( de 2 a 32 KB) para reunir la máxima cantidad de RAM que
manejaba el PC-XT (640 KB), era necesario colocar aprox. 24 chips individuales.
Con la plataforma AT, surgió la opción de colocar hasta 16 MB de RAM. Entonces
en vez de usar chip individuales se unieron todos y se pusieron en módulos de
memoria, los SIP “empaque de hilera sencilla”. Con el uso de estos módulos de
memoria, los chips de RAM se soldaron en una pequeña tarjeta de circuito impreso
con un peine de 30 terminales. Estos módulos sólo podían manejar una palabra de
8 bits. Como el 286 ya tenía un bus externo de 16 bits, era necesario colocar los
módulos en parejas idénticas.

60
3. Memoria

Chips individuales.

SIMM de 30 terminales.

Arquitectura de Computadores y Sistema Operativo

¿Qué son los SIMMs y los DIMMs?


Se trata de la forma en que se juntan los chips de memoria, del tipo que sean, para
conectarse a la placa base del computador. Son unas plaquitas alargadas con conectores en un
extremo; al conjunto se le llama módulo.
El número de conectores depende del bus de datos del microprocesador.

SIMMs
Con los procesadores tipo 386, que manejaba palabras de 32 bits, la cantidad de memoria RAM
típica era de entre 4 y 8 MB. Ya no era razonable utilizar módulos de 256 KB de RAM. Debido a que
los SIP se dañaban fácilmente al insertarlos en los zócalos, en los equipos nuevos se utilizó otro tipo
de módulo: el SIMM, idéntico al SIP, manejaba palabras de 8 bits, pero no tenía la hilera de
terminales. Se creó un nuevo conector que lo aceptara. Vea la segunda figura. Miden unos 8,5 cm
(30 c.) ó 10,5 cm (72 c.) y sus zócalos suelen ser de color blanco.
El SIMM tenía una capacidad de entre 1 y 4 MB. Un sistema tipico de computadores tipo 386, traía 4
MB de RAM, por ello, era necesario colocar cuatro módulos de 1 MB.
Luego surgió otro módulo de memoria RAM, el SIMM de 72 terminales o pines, podía manejar
palabras de 32 bits. Entonces era posible colocar un solo módulo de RAM. Venían con capacidad de
4, 8, 16 y hasta 32 MB. Como a las tarjetas madres se colocaban normalmente cuatro ranuras para
la memoria RAM, a un sistema 486 se le podía colocar un máximo de 128 MB.

61
3. Memoria

DIMM 168 pines.

Arquitectura de Computadores y Sistema Operativo

DIMMs
Con la aparición de los buses externos de 64 bits, la memoria tuvo que
transformarse para poder manejar tal cantidad de bits, aparecen los módulos tipo
DIMM, o módulos de memoria de hilera doble. Estos módulos cuentan con 168
terminales y trabajan directamente con palabras de 64 bits. La forma más común
de instalar memoria en un sistema es un DIMM. Los DIMMs son más alargados
(unos 13 cm), y se insertan en zócalos generalmente negros; llevan dos muescas
para facilitar su correcta colocación. Ppueden usarse de 1 en 1 en los Pentium, K6
y superiores. Existen para voltaje estándar (5 voltios) o reducido (3.3 V).

62
3. Memoria

Concepto lógico de la memoria.

Arquitectura de Computadores y Sistema Operativo

Adaptado desde www.uca.es/dept/leng_sist_informaticos/preal/23013/apuntes/introinf/introinf


Sabemos que la Unidad Central de Procesos, se compone de la Memoria o
registros, la Unidad de Control y la Unidad Aritmético/Lógica.
La Memoria Principal está formada por circuitos integrados (chips), en ellos la
información se almacena en estados de tensión (+5 V) al que hacemos corresponder un uno, y no
tensión (0 V) al que le corresponde un cero, por tanto el sistema de almacenamiento sólo posee dos
posibles valores y por ello se denomina binario. Ésta es por lo tanto la menor cantidad de
información que podemos almacenar en un ordenador, y se denomina bit (o cero o uno), y al
conjunto de ocho bits se le denomina Byte u Octeto.
Podemos imaginar la memoria como un conjunto de casillas, cada una con una
dirección que la identifica, donde se almacenan los datos y las instrucciones correspondientes a los
programas.
Para conocer la ubicación de cada dato estas casillas deben estar
convenientemente numeradas, es lo que se denomina dirección de memoria. En cada casilla
podremos almacenar una determinada cantidad de bits según el ordenador, 8bits (1 Byte), 16 bits,
32 bits,…
El número de bits que almacena un computador en cada casilla de la memoria y que
puede manipular en cada ciclo se la denomina longitud de palabra.
La tabla de la figura muestra, a modo de ejemplo, varias posiciones de memoria en
un ordenador cuya longitud de palabra es de 8 bits, por tanto en cada dirección de memoria se
almacena 1 Byte.
La cantidad de Bytes que se pueden almacenar en la memoria de un ordenador es
bastante elevada y por ello se utilizan prefijos, así 1 KiloByte o KB corresponde a 210 = 1024 Bytes (y
no 1000 KB),
1 MegaByte o MB = 1024 KB,
1 GigaByte o GB = 1024 MB,
1 TeraByte o TB = 1024 GB.

63
3. Memoria

Arquitectura de Computadores y Sistema Operativo

La memoria se comunica con el resto de la CPU mediante los Buses. Ya se han


visto las tres categorías de buses: Bus de datos por donde circulan los datos, el Bus de direcciones
encargado de indicar la posición de un dato concreto almacenado en memoria, y el Bus de control
por donde circulan las instrucciones de los procesos que lleva a cabo el computador.
Para localizar un dato en la memoria principal, la dirección que ocupa éste debe
circular por el bus de direcciones. Según cual sea la amplitud del bus de direcciones y la longitud de
palabra, así será el tamaño de la memoria que puede gestionar el computador. Es decir, el número
de casillas o direcciones de memoria que pueden ser indicadas y el tamaño de la información que
contienen. Para un bus de direcciones de 8 bits el computador podrá gestionar 28 = 256 posiciones
de memoria y en cada una de ellas podremos almacenar 8 bits si esta es la longitud de palabra de
ese computador.
La figura muestra la memoria de un ordenador con una longitud de palabra de 8 bits
y un bus de direcciones también de 8 bits. Deberían existir 28 = 256 casillas - desde la 00000000
hasta la 11111111 (en lenguaje binario), cada una conteniendo un dato de 8 bits de tamaño, en total
256 x 8 = 2048 bits o 256 Bytes. Los datos contenidos en las casillas de memoria no tienen
evidentemente ninguna relación con la dirección de estas, ya que van variando conforme se ejecuta
el programa o se producen entradas de nuevos datos.
Se puede escribir M = 2 D * P , siendo D la amplitud del bus de direcciones, P la longitud de palabra
del ordenador y M la memoria en bits.

64
3. Memoria
• Tipos de memorias

RAM ROM
Memoria de Acceso Aleatorio Memoria de Sólo Lectura

Permiten lectura y Permiten sólo lectura y


escritura escritura
Memoria Volátil Memoria no Volátil
Memoria de Trabajo Memoria programada
de fábrica

Arquitectura de Computadores y Sistema Operativo

Existen dos tipos de memoria en el computador.


RAM (Random Access Memory, Memoria de Acceso Aleatorio): que es la encargada de almacenar los datos y
los programas que la CPU está procesando de manera temporal. El término acceso aleatorio significa que no es
necesario leer una serie de datos para acceder al que interesa, sino que se puede acceder directamente al dato
deseado. El microprocesador o CPU de la computadora, hace uso de esta memoria para cargar los programas
que se van a ejecutar al igual que los datos que se van a procesar. Por medio de la RAM, las operaciones se
hacen más rápidas ya que su velocidad de trabajo es alta, así se logra que el computador tenga un mejor
desempeño. En esta memoria también se carga o almacena el sistema operativo durante la inicialización de la
máquina y permanece allí hasta que el computador se desenergiza, por este motivo se le llama también memoria
de trabajo. Con esto queda claro que esta memoria depende del suministro de tensión eléctrica para mantener la
información y por tanto al apagar el computador o reiniciarlo los datos almacenados en él se perderán
completamente. De allí que se le dice memoria volátil, o sea de almacenamiento temporal.
•Físicamente, están constituidas por un conjunto de chips o módulos de chips normalmente conectados a la
tarjeta madre. Los chips de memoria son rectángulos negros que suelen ir soldados en grupos a unas plaquitas
con "pines" o contactos.
Las tecnologías de RAM se dividen en dos variantes: estáticas y dinámicas.
ROM (Read Only Memory, Memoria de Sólo Lectura): la memoria ROM es un tipo de memoria en la que sus
datos sólo pueden leerse, ya que no permite la escritura de nueva información por los métodos tradicionales
usados por el computador. Se utiliza en aquellos sistemas donde los datos son siempre los mismos durante las
veces que se tenga acceso a la memoria. El término memoria de sólo lectura, significa que no puede ser
modificada y aun cuando se apague el computador la información permanecerá inalterada en la ROM. Los
circuitos de memoria ROM de los computadores suelen venir en forma de DIP (Dual In-line Package) o
empaquetamiento de doble línea, generalmente vienen programados de fábrica.
En los computadores, la BIOS (Basic Input and Output System) o programa básico de
entradas y salidas viene almacenado en memoria ROM. También se encuentran en esta memoria el test de
fiabilidad del computador (POST: Power on Self Test), las rutinas de inicialización y arranque, que proporcionan
los servicios fundamentales para que el computador sea operativo, en su mayor parte controla periféricos como
la pantalla, el teclado y las unidades de disco.
Existe otra porción de memoria denominada CMOS que contiene datos básicos de éste, como
pueden ser el número de unidades de disquetes y su tipo, de discos duros y su tipo, la fecha, la hora y otros
datos respecto al comportamiento fundamental del computador. Esta memoria no es de tipo permanente, ya que
se puede variar la configuración de nuestro equipo y para ser mantenida necesita de la tensión que le suministra
una pequeña pila o batería.

65
3. Memoria

BIOS

Arquitectura de Computadores y Sistema Operativo

BIOS: Tradicionalmente la BIOS venía en una memoria de solo lectura; por eso era
muy difícil modificarla, en caso de que apareciera una actualización. Pero en
tarjetas madres más modernas, la BIOS viene en una memoria tipo Flash y ésta
puede actualizarse.
Los dos principales fabricantes de BIOS son AMI (American Megatrends Inc.) y
Phoenix (que también maneja las BIOS Award).
En la BIOS se aloja el SETUP, utilería que permite configurar y optimizar el
sistema.

66
3. Memoria

Tipos de
Memorias
RAM

RAM
RAM Estática o dinámica o
SRAM DRAM

Flip-flop Condensador

Arquitectura de Computadores y Sistema Operativo

•RAM Estática o SRAM: esta clase de memoria no necesita refresco de datos como la RAM
dinámica. Cada una de las celdas está constituida por un flip-flop, que permanece indefinidamente
en un estado, mientras no se elimine su alimentación. Esto permite que los datos permanezcan
almacenados mientras el circuito tenga alimentación de voltaje. Debido a que no necesita refresco,
la SRAM es mucho más rápida ya que el microprocesador siempre la encuentra disponible para
lectura o escritura de datos. Por su rapidez es ampliamente utilizada en los computadores como
memoria intermedia (memoria caché) entre las unidades de almacenamiento y el microprocesador.
Por su tecnología, la memoria estática es de alto costo por lo que generalmente no es utilizada en
grandes cantidades dentro del computador, además consume más potencia.

•RAM Dinámica o DRAM: este tipo de memoria exije que cada cierta cantidad de tiempo se haga
refresco de los datos, es decir, periódicamente se le debe recordar o regrabar la información que
está almacenada. Esta operación la ejecuta automáticamente el controlador de memoria de la tarjeta
principal. El refresco se hace necesario debido a que cada bit de información está guardado en un
pequeño condensador o capacitor, que indica el estado lógico almacenado (1 ó 0) a través de la
carga de voltaje que posea. En este tipo de memorias la carga del condensador, lo cual indica que el
bit de información corresponde a un 1 lógico, tiende a desaparecer, si se deja pasar cierto tiempo sin
renovarla. Para evitar esto, el controlador de memoria de la tarjeta principal está programado para
hacer una recarga o refresco del voltaje de los condensadores justo antes de que la información se
pierda por completo, con lo cual, el dato permanecerá almacenado en la memoria durante otro
pequeño período de tiempo hasta el siguiente ciclo de refresco. Mientras el sistema se encuentra
haciendo el refresco a la memoria, el microprocesador no tiene acceso a los datos y debe esperar a
que termine la operación. Por esto, este tipo de memoria es más lenta que la RAM estática, pero
consume menos potencia. Las RAM dinámicas son más densas(celdas más pequeñas, es decir,
más celdas por unidad de superficie). Usada hasta la época del 386, su velocidad típica es de 80 ó
70 nanosegundos (ns), tiempo éste que tarda en vaciarse para poder dar entrada a la siguiente serie
de datos. Por ello, es más rápida la de 70 ns que la de 80 ns.
•Físicamente, aparece en forma de DIMMs o de SIMMs, siendo estos últimos de 30 contactos.

67
3. Memoria

Tipo RAM Tipo Computadora Cantidad de


contactos
EDO-RAM Pentium MMX y AMD K6 72 y 168 pines

SDRAM Pentium II de menos de 350 168 pines


MHz y en los Celeron

PC100 o SDRAM AMD K6-2, Pentium II a 350 168 pines


de 100 MHz. MHz
PC133 o SDRAM
de 133 MHz.

Tipos de Memoria RAM.

Arquitectura de Computadores y Sistema Operativo

•EDO RAM (Extended Data Output-RAM: es otro tipo de RAM dinámica. Tiene menor tiempo de
acceso debido a que los datos permanecen almacenados durante mayor tiempo antes del nuevo
ciclo de refresco. Con esta memoria se puede empezar a introducir nuevos datos mientras los
anteriores están saliendo (haciendo su Output), lo que la hace algo más rápida (un 5%, más o
menos). Es muy común en los Pentium MMX y AMD K6, con velocidad de 70, 60 ó 50 ns. Se instala
sobre todo en SIMMs de 72 contactos, aunque existe en forma de DIMMs de 168.
•SDRAM (Syncronous DRAM): Con la salida al mercado de procesadores de gran velocidad, las
memorias DRAM y EDO, se volvieron un “cuello de botella". La memoria más eficiente es la que
funciona a la misma velocidad que el microprocesador. Las memorias EDO DRAM funcionan a 60,
70 y 80 ns (nano segundos) y eran suficientemente rápidas para alcanzar a los procesadores de 66
MHz, pero éstos procesadores ya son obsoletos. Por éste motivo se desarrolló el estándar
Syncronous DRAM o DRAM Síncrona.
SDRAM recibe y emite información sincronizada a un reloj externo. El uso de un reloj permite que
las SDRAM sean extremadamente más rápidas para leer y escribir. Funciona de manera
sincronizada con la velocidad de la placa (de 50 a 66 MHz), para lo que debe ser rapidísima, de
unos 25 a 10 ns. Las memorias SDRAM se miden de acuerdo a la velocidad del reloj externo, por
eso se mide su velocidad en MHz.
Sólo se presenta en forma de DIMMs de 168 contactos; es usada en los Pentium II de menos de 350
MHz y en los Celeron
Las PC100 o SDRAM de 100 MHz son memorias capaces de funcionar a esos 100 MHz, que utilizan
los AMD K6-2, Pentium II a 350 MHz y computadores más modernos; teóricamente se trata de unas
especificaciones mínimas que se deben cumplir para funcionar correctamente a dicha velocidad,
aunque no todas las memorias vendidas como "de 100 MHz" las cumplen.
Las PC133: o SDRAM de 133 MHz. La más moderna (y recomendable).

68
3. Memoria

Tipo RAM Tipo Computadora Cantidad de


contactos
DDR-SDRAM: Pentium MMX y AMD K6 184 pines
AMD Athlon y Duron
cuyo bus de 200 MHz
realmente es
de "100 x 2", "100 MHz
-PC2700, ó DDR SDRAM 184 pines
a 333 Mhz.
Mhz.
-PC3200, ó DDR SDRAM
a 400 Mhz.
Mhz.
PC3700, corresponde a la
DDR SDRAM a 466 Mhz.
Mhz.
- PC4000, corresponde a
la DDR SDRAM a 500
Mhz.
Mhz.
Tipos de Memoria RAM.

Arquitectura de Computadores y Sistema Operativo

DDR-SDRAM: (Doble Data Rate): son una evolución de los SDRAM, la tecnología avanza, y la
SDRAM, incluso en su versión PC133, ya no está a la altura de micros cuya velocidad se mide ya en
GHz. La DDR-SDRAM, puede realizar dos operaciones de lectura o escritura por cada pulso de
reloj, ya que envía los datos 2 veces por cada señal de reloj, una vez en cada extremo de la señal (el
ascendente y el descendente), en lugar de enviar datos sólo en la parte ascendente de la señal, y a
diferencia de la SDRAM, trabaja a doble velocidad de transferencia de datos. Se utilizaba en tarjetas
gráficas y la estandarización ha permitido que numerosos fabricantes de Placas Base y de
procesadores la hayan elegido en lugar de la más cara RIMM. Sus velocidades estándar varían
entre 200 y 400 Mhz. Según esta velocidad existen diferentes denominaciones para la DDR
SDRAM:
-PC1600, corresponde a la DDR SDRAM a 200 Mhz.
-PC2100, corresponde a la DDR SDRAM a 266 Mhz.
-PC2700, corresponde a la DDR SDRAM a 333 Mhz.
-PC3200, corresponde a la DDR SDRAM a 400 Mhz.
Dependiendo del fabricante existen DDR SDRAM con denominaciones y velocidades superiores,
entre las que destacan:
-PC3500, corresponde a la DDR SDRAM a 433 Mhz.
- PC3700, corresponde a la DDR SDRAM a 466 Mhz.
- PC4000, corresponde a la DDR SDRAM a 500 Mhz.
-Los módulos de las DDR-SDRAM son del mismo tamaño que los DIMM de SDRAM, pero con más
conectores, tiene 184 pines en lugar de los 168 de la SDRAM normal. Así, un aparato con tecnología
DDR que funcione con una señal de reloj "real", "física", de por ejemplo 100 MHz, enviará tantos
datos como otro sin tecnología DDR que funcione a 200 MHz. Por ello, las velocidades de reloj de
los aparatos DDR se suelen dar en lo que podríamos llamar MHz efectivos o equivalentes (en
nuestro ejemplo, 200 MHz, "100 MHz x 2"). La tecnología DDR está de moda últimamente. Además
de las numerosísimas tarjetas gráficas con memoria de vídeo DDR-SDRAM, se tiene por ejemplo los
microprocesadores AMD Athlon y Duron, cuyo bus de 200 MHz realmente es de "100 x 2", "100 MHz
con doble aprovechamiento de señal"

69
3. Memoria

Tipo RAM Tipo Computadora Cantidad de


contactos
RIMM, RDRAM o RAMBUS Pentium IV 184 pines

-PC800 ó RDRAM a 800 184 pines


Mhz.
Mhz.
-PC1066 ó RDRAM a 1066
Mhz

Tipos de Memoria RAM.

Arquitectura de Computadores y Sistema Operativo

Resumiendo, la DDR-SDRAM es el concepto DDR aplicado a la memoria SDRAM, la SDRAM no es


otra que nuestra conocida PC66, PC100 y PC133, la memoria que se utiliza actualmente en casi la
totalidad de los PCs normales; los 133 MHz de la PC133 son ya una cosa difícil de superar sin subir
mucho los precios, y por ello la introducción del DDR. Hay memoria DDR de diferentes clases,
categorías y precios. Puede funcionar a 100 o 133 MHz (de nuevo, "físicos"); algo lógico, ya que se
trata de SDRAM con DDR, y la SDRAM funciona a 66, 100 ó 133 MHz (no existe DDR a 66 MHz). Si
consideramos los MHz "equivalentes", estaríamos ante memorias de 200 ó 266 MHz. En el primer
caso es capaz de transmitir 1,6 GB/s (1600 MB/s), y en el segundo 2,1 GB/s (2133 MB/s). Se las
conocía como PC200 y PC266, siguiendo el sistema de clasificación por MHz utilizado con la
SDRAM.
•RIMM, RDRAM o RAMBUS: Rambus desarrolló la RDRAM. Esta memoria tiene un bus especial
que entrega direcciones e información de control, utilizando un protocolo asíncrono orientado a
bloques. Tras un tiempo de acceso inicial de 480ns, se consigue la velociddad de datos de 500
Mbps. Lo que hace posible esta velocidad es el bus en sí, que define muy precisamente las
impedancias, la temporización y las señales. Rambus decidió que sus memorias se llamarían
PC600, PC700 y PC800, también según el sistema de los MHz. Como esto haría que parecieran
muchísimo más rápidas que la DDR (algo que no sucede, porque funcionan de una forma
completamente distinta), se decidió denominarlas según su capacidad de transferencia en MB/s:
PC1600 y PC2100.
Su uso es exclusivo para ordenadores con procesador Pentium IV. Tiene 184 contactos y trabaja a
velocidades entre 800 y 1066 MHz.
-PC800, corresponde a la RDRAM a 800 Mhz.
-PC1066, corresponde a la RDRAM a 1066 Mhz.

70
3. Memoria

Memoria
DDR-SDRAM

Arquitectura de Computadores y Sistema Operativo

71
3. Memoria

Los módulos de Memoria


SDRAM, RIMM y DDR no son
intercambiables.

Arquitectura de Computadores y Sistema Operativo

72
3. Memoria

Tipos de
Memorias ROM

EPROM EAROM o EEPROM

Arquitectura de Computadores y Sistema Operativo

EPROM (Erasable PROM) o RPROM (Reprogramable ROM): son memorias ROM


borrables y programables. Disponen de una ventana en el encapsulado que permite
su borrado mediante la aplicación de luz ultravioleta. El proceso de lectura/escritura
está limitado a un determinado número de veces.
EAROM (Electrically Alterable ROM) o EEROM (Electrically Erasable ROM), son la
frontera entre las RAM y las ROM, su contenido puede ser regrabado
eléctricamente, se diferencian de las RAM en que no son volátiles.

73
3. Memoria
• Memoria caché
9 Características
Dispositivo pequeño de memoria de alta
velocidad que interviene entre el procesador
y la DRAM.
La caché tiene como propósito suministrarle
al procesador las instrucciones y datos
solicitados con mayor frecuencia.
Su objetivo es lograr que la velocidad de la
memoria sea lo más rápida posible.
Está ubicada muy cerca del CPU.
Su tamaño típico es de 8 KB y 512 KB.
Arquitectura de Computadores y Sistema Operativo

Memoria Caché:
La arquitectura de los últimos microprocesadores está orientada a mejorar el rendimiento, de
manera que se ejecuten más instrucciones por unidad de tiempo.
Para llevarlo a cabo los nuevos microprocesadores se apoyan en tres recursos.
•Arquitectura superescalar: características de la arquitectura RISC, paralelismo explícito.
•Supersegmentación: segmentación con elevado número de etapas.
•Potenciación del subsistema de la memoria caché: para aumentar la velocidad de la memoria.
Una limitación en el diseño de computadores es la velocidad de los distintos dispositivos conectados
al procesador, en particular la velocidad de la memoria física. El procesador puede tener una
frecuencia de reloj muy elevada, que le permite ejecutar gran número de instrucciones por ciclo, las
velocidades de las memorias, de los buses de datos, de los periféricos, etc. hace que el procesador
tenga que esperar a tener disponibles los datos necesarios para seguir operando.
Memoria caché o conocida como RAM caché. Es un dispositivo pequeño de memoria de alta
velocidad que interviene entre la CPU y la DRAM. La memoria caché tiene como propósito
suministrarle al procesador las instrucciones y datos solicitados con mayor frecuencia. La memoria
caché puede ser de tres a cinco veces más veloz que la DRAM.
La memoria Caché tiene como objetivo lograr que la velocidad de la memoria sea lo más rápida
posible, consiguiendo al mismo tiempo un tamaño grande al precio de memorias semiconductoras
menos costosas.
La emoria caché reside muy cerca de la CPU y tiene un tamaño típico entre 8 KB y 512 KB. Los
tiempos de acceso de las memorias caché se encuentran entre los 3 y 10 ns aprox..

74
3. Memoria

Tranferencia de bloques
Tranferencia de palabras

Memoria
CPU Caché Principal

Memoria Caché.

Arquitectura de Computadores y Sistema Operativo

El concepto se ilustra en la figura. Hay una memoria principal relativamente grande


y más lenta, junto con una memoria caché más pequeña y rápida. La caché
contiene una copia de partes de la memoria principal. Cuando el procesador intenta
leer una palabra de memoria, se hace una comprobación para determinar si la
palabra está en la caché. Si es así, se entrega dicha palabra al procesador. Si no,
un bloque de memoria principal, consistente en un cierto número de palabras, se
transfiere a la caché y, después, la palabra es entregada al procesador. Debido al
fenómeno de localidad de las referencias, cuando un bloque de datos es captado
por la caché para satisfacer una referencia a memoria simple, es probable que se
hagan referencias futuras a otras palabras del mismo bloque.

75
3. Memoria

9 Niveles de Jerarquía
Caché de nivel 1, caché L1 o caché primaria
Caché integrada en la CPU. Es la memoria
más rápida de un computador, suele funcionar
a la misma velocidad que el microprocesador,
Es de poco tamaño.

Arquitectura de Computadores y Sistema Operativo

Niveles de jerarquía:
Para mejorar el rendimiento se emplea la jerarquía de memoria, utilizando cachés de primer nivel,
segundo nivel que se denominan caché L1, caché L2, etc., respectivamente.
Caché de nivel 1, caché L1, caché primaria:
Es una memoria caché integrada en la CPU. Es la memoria más rápida de un computador, suele
funcionar a la misma velocidad que el microprocesador, por lo general es de poco tamaño. Se utiliza
desde el microprocesador Intel 80846, que incorporaba 8 KB.

76
3. Memoria

9 Niveles de Jerarquía
Caché de nivel 2, caché L2 o caché
secundaria
Más lenta que la L1 y de mayor tamaño.
Almacenar los datos e instrucciones muy
usados recientemente, pero que no han sido
guardados por la caché L1.
Está integrada tanto en la placa madre como
en la CPU.

Arquitectura de Computadores y Sistema Operativo

Caché de nivel 2, caché L2, caché secundaria:


Es un poco más lenta que la L1 y de mayor tamaño. Se encarga, generalmente de almacenar los
datos e instrucciones muy usados recientemente, pero que no han sido guardados por la caché L1.
Se encuentra integrada tanto en la placa madre como en la CPU. En este caso, se la sigue
considerando diferente a la L1, ya que permanecen separadas. Contiene todo lo de la L1 más los
datos propios de sus algoritmos de carga específicos.

77
3. Memoria

9 Niveles de Jerarquía
Caché de nivel 3, caché L3
En el Itanium, la jerarquía de niveles ya llega a
tres, para lo cual se destinan 300 millones de
transistores para los niveles de caché y 25
millones de transistores para la CPU.

Arquitectura de Computadores y Sistema Operativo

Caché de nivel 3, caché L3:


Como muchos microprocesadores integran parte de la caché L2 en la CPU, a la parte que
permanece en la placa base a menudo se la llama así. En la actualidad, en el Itanium, la jerarquía de
niveles ya llega a tres, para lo cual se destinan 300 millones de transistores para los niveles de
caché y 25 millones de transistores para la CPU.

78
4. Entrada/Salida

Arquitectura de Computadores y Sistema Operativo

79
4. Entrada/Salida
• Módulos de Entrada/Salida

Funciones Mó
Módulo E/S

Interfaz entre uno o


Interfaz entre la má s
CPU y la Memoria. dispositivos
perifé
periféricos.

Arquitectura de Computadores y Sistema Operativo

Junto con el procesador y el conjunto de módulos de memoria, el


tercer elemento clave de un computador es un conjunto de Módulos de E/S. Cada
módulo se conecta al bus del sistema o a un conmutador central, y controla uno o
más dispositivos periféricos. Un módulo de E/S tiene cierta inteligencia, lo que
quiere decir que tiene la lógica necesaria para permitir la comunicación entre el
periférico y el bus.
La arquitectura de E/S del computador es su interfaz con el exterior.
Esta arquitectura se diseña de manera que permita una forma sistemática de
controlar las interacciones con el mundo exterior y proporcione al sistema operativo
la información que necesita para gestionar eficazmente la actividad de E/S.
Este Módulo de E/S tiene dos Funciones:
•Realizar la Interfaz entre el procesador y la memoria a través del bus del sistema o
un conmutador central.
•Realizar la Interfaz entre uno o más dispositivos periféricos mediante enlaces de
datos específicos.

80
4. Entrada/Salida
• Problemas con Entrada/Salida
9 Amplia variedad de periféricos.
Entregan distintas volúmenes de datos.
A velocidades de transferencia diferentes.
En diferentes formatos.
9 Son más lentos que la CPU y la Memoria.
9 Necesitan módulos.

Arquitectura de Computadores y Sistema Operativo

¿Por qué los periféricos no se conectan directamente al bus del sistema?


Hay una amplia variedad de periféricos y su funcionamiento es
diferente entre sí. Entregan distintas volúmenes de datos, a velocidades de
transferencia diferentes, en diferentes formatos. Podría ser imposible incorporar la
lógica necesaria dentro del procesador para controlar tal diversidad de
dispositivos.
Estos periféricos son más lentos que la CPU y la Memoria, no es
práctico utilizar un bus del sistema de alta velocidad para comunicarse
directamente con un periférico.
Debido a esto se necesita un Módulos de E/S

81
4. Entrada/Salida
• Modelo genérico de un módulo E/S

Líneas de dirección
Bus del
Líneas de Control Sistema

Líneas de Datos

Módulo de E/S

Enlaces con
dispositivos
periféricos

Arquitectura de Computadores y Sistema Operativo

82
4. Entrada/Salida
• Dispositivos externos
9 Interacción con humanos.
Pantalla, Impresora, teclado.
9 Interacción con máquinas.
Monitoreo y control.

9 Comunicación.
Módem
Tarjeta de red, Network Interface card
(NIC)

Arquitectura de Computadores y Sistema Operativo

Las operaciones de E/S se realizan a través de una amplia gama de


dispositivos, que permiten intercambiar datos entre el exterior y el computador. Un
dispositivo externo se conecta al computador mediante un enlace a un módulo de
E/S. El enlace se utiliza para intercambiar señales de control, estado y datos entre
el módulo de E/S y el dispositivo externo. Un dispositivo externo conectado a un
módulo de E/S se denomina dispositivo periférico, o simplemente periférico.
Los dispositivos externos se pueden clasificar en tres categorías.
•De interacción con humanos: permiten la comunicación con el usuario del
computador.
•De interacción con máquinas: permiten la comunicación con elementos del equipo.
•De Comunicación: permiten la comunicación con dispositivos remotos.

83
4. Entrada/Salida
• Pasos de módulo E/S
9 CPU chequea el estado del dispositivo
conectado al módulo E/S.
9 El módulo E/S retorna el estado.
9 Si está listo, CPU solicita la transferencia
de datos.
9 El módulo E/S obtiene el dato del
dispositivo.
9 El módulo E/S transfiere los datos a la
CPU.

Arquitectura de Computadores y Sistema Operativo

Pasos del Módulo E/S:


1. El procesador interroga al módulo E/S para comprobar el estado del
dispositivo conectado al mismo.
2. El módulo de E/S devuelve el estado del dispoitivo.
3. Si el dispositivo está operativo y preparado para transmtir, el procesador
solicita transferencia del dato mediante una orden al módulo de E/S.
4. El módulo de E/S obtiene un dato del dispositivo externo.
5. Los datos se transfieren desde el módulo de E/S al procesador.

84
4. Entrada/Salida
• Función del módulo E/S
9 Control y Temporización.
9 Comunicación con la CPU.
9 Comunicación con los
dispositivos.
9 Almacenamiento temporal de
datos.
9 Detección de errores.

Arquitectura de Computadores y Sistema Operativo

Las principales funciones y requisitos de un módulo de E/S se encuentran dentro de


las siguientes categorías:
ƒControl y Temporización: En cualquier momento el procesador puede comunicarse con uno o más
dispositivos externos en cualquier orden, según la necesidad de E/S del programa. Los recursos
internos, memoria principal y el bus del sistema, deben compartirse entre distintas actividades,
incluyendo la E/S de datos. Así, la función de E/S incluye ciertos requisitos de control y
temporización, para coordinar el tráfico entre los recursos internos y los dispositivos externos.
ƒComunicación con la CPU: El módulo de E/S debe tener la capacidad de entablar comunicación
con el procesador. La comunicación con el procesador implica: decodificación de órdenes, datos,
información de estado, reconocimiento de dirección (igual que cada palabra de memoria tiene una
dirección, cada dispositivo tiene otra, así un módulo de E/S reconoce una única dirección para cada
uno de los periféricos que controla).
ƒComunicación con los dispositivos: Esta comunicación implica intecambiar órdenes, información
del estado y datos.
ƒAlmacenamiento temporal de datos: Esta es una tarea esencial para un módulo de E/S...
ƒDetección de errores: A menudo un Módulo de E/S es responsable de la detección de errores y de
informar estos errores al procesador, por ejemplo los defectos mecánicos y eléctricos en el
funcionamiento del dispositivo (papel atascado, pista de disco en mal estado) o los errores
producidos por los cambios accidentales en los bits al transmitirse desde el dispositivo al módulo de
E/S. Para detectar este tipo de errores, frecuentemente se usa algún tipo de código de detección de
errores.

85
4. Entrada/Salida
• Diagrama de bloque de un módulo de E/S
Interfaz al Bus del
Sistema Interfaz a Disp. Externo

Lógica de Datos
Registro de datos interfaz
Líneas a Estado
de dispositivo
Datos Registro de externo Control
Estado/Control

Datos
Lógica de
Líneas de Dirección . interfaz Estado
Lógica de a
E/S dispositivo Control
Líneas de Control externo

Arquitectura de Computadores y Sistema Operativo

El módulo se conecta al resto del computador a través de un conjunto


de líneas. Los datos que se transfieren a y desde el módulo se almacenan
temporalmente en uno o más registros de datos. Puede haber uno o más registros
de estado que proporcionan información del estado presente. Un registro de
estado también puede funcionar como un registro de control, para recibir
información de control del procesador. La lógica que hay en el módulo interactúa
con el procesador a través de una serie de líneas de control. Estas líneas son las
que usa el procesador para proporcionar las órdenes al módulo de E/S. Algunas de
las líneas de control pueden ser utilizadas por el módulo de E/S (para señales de
arbitraje y estado). El módulo debe ser capaz de reconocer y generar las
direcciones asociadas a los dispositivos que controla. Cada módulo de E/S tiene
una direción única o, si controla más de un dispositivo externo, un conjunto único
de direcciones. El módulo de E/S posee la lógica específica para la interfaz con
cada uno de los dispositivos que controla.
El funcionamiento de un módulo de E/S permite que el procesador
vea a una amplia gama de dispositivos de una forma simplificada y que ante un
espectro de posibilidades que pueden darse, el módulo de E/S debe ocultar los
detalles de temporización, formatos y electromecánica de los dispositivos externos,
para que el procesador funcione en términos de órdenes de lectura y escritura.

86
4. Entrada/Salida
• Técnicas de Entrada/Salida
9 Programada.
9 Mediante Interrupciones.
9 Acceso Directo a Memoria (DMA).

Arquitectura de Computadores y Sistema Operativo

Hay tres técnicas de E/S principales:


•E/S Programada: la E/S se produce bajo el control directo y continuo del programa
que solicita la operación de E/S.
•E/S Mediante Interrupciones: el programa genera una orden de E/S y después
cotinúa ejecutándose hasta que el hardware de E/S lo interrumpe para indicar que
la operación de E/S ha concluido.
•Acceso Directo a Memoria (DMA): un procesador de E/S específico toma el control
de la operación de E/S para transferir un gran bloque de datos.

87
4. Entrada/Salida
• E/S programada
9 CPU tiene control directo sobre E/S.
Chequea los estados.
Controla Lectura/Escritura.
Transferencia de datos.

9 CPU espera hasta que el módulo de E/S


complete su operación.
9 Existe desperdicio de tiempo de CPU.

Arquitectura de Computadores y Sistema Operativo

Los datos se intercambian entre el CPU y el módulo de E/S. El


CPU ejecuta un programa que controla directamente la operación de E/S,
incluyendo la comprobación del estado del dispositivo, el envío de la orden
de lectura o escritura y la transferencia del dato. Cuando el CPU envía la
orden debe esperar hasta que la operación de E/S concluya. Si el CPU es
más rápido, éste estará ocioso. El CPU es el responsable de comprobar
periódicamente el estado del módulo de E/S hasta que encuentre que la
operación ha finalizado.

88
4. Entrada/Salida
• E/S programada Mandar orden de lectura
CPU E/S
al Módulo de E/S

.
Leer el estado del
E/S CPU
Módulo E/S

No preparado

Comprobar Condición
el estado de error

Preparado

Leer una palabra del


E/S CPU
Módulo E/S

Escribir una palabra


en memoria CPU Memoria

No
¿Final?

Sí Instrucción siguiente
Arquitectura de Computadores y Sistema Operativo

89
4. Entrada/Salida
• E/S programada detalle
9 CPU solicita una operación de E/S.
9 El módulo de E/S realiza la operación.
9 El módulo de E/S “setea” los bits de
“status”.
9 CPU chequea los bits de estado
periódicamente.

Arquitectura de Computadores y Sistema Operativo

90
4. Entrada/Salida
• E/S programada detalle
9 El módulo de E/S no informa a CPU
directamente.
9 El módulo de E/S no interrumpe a la
CPU.
9 CPU puede esperar o solicitar más tarde.

Arquitectura de Computadores y Sistema Operativo

91
4. Entrada/Salida
• E/S programada órdenes de E/S
9 CPU proporciona una dirección
Especifica el módulo.
9 CPU especifica órdenes.
Control- indican al módulo qué debe
hacer.
Test-chequea el estado.
Lectura/Escritura.

Arquitectura de Computadores y Sistema Operativo

Como normalmente habrá muchos dispositivos de E/S


conectados al sistema a través de los módulos de E/S, cada dispositivo
tendrá asociado un identificador o dirección. Al ejecutar una instrucción
relacionada con una E/S, el procesador proporciona una dirección,
especificando el módulo de E/S particular y el dispositivo externo, y una
orden de E/S.
Hay cuatro tipo de órdenes de E/S que puede recibir un módulo de E/S
cuando es direccionado por el procesador:
•Control: se utiliza para activar el periférico e indicarle qué hacer.
•Test: se utiliza para comprobar diversas condiciones de estado asociadas
con el módulo de E/S y sus periféricos. El procesador podrá comprobar si el
periférico en cuestión está conectado y disponible para su uso. También
podrá saber si la operación de E/S más reciente ha terminado si se ha
producido algún error.
•Lectura: hace que el módulo de E/S capte un dato de un periférico y lo sitúe
en un buffer interno. Después el procesador puede obtener el dato
solicitando que el módulo de E/S lo ponga en el bus de datos.
•Escritura: hace que el módulo de E/S capte un dato (byte o palabra) del bus
de datos y posteriormente lo transmita al periférico.

92
4. Entrada/Salida
• E/S programada correspondencia E/S
9 E/S asignado en memoria.
Dispositivos y la memoria comparten un espacio
de direcciones.
E/S se asemeja a una operación de
Lectura/Escritura de memoria.
No existen órdenes especiales para E/S. Hay
disponible una gran cantidad de comandos de
acceso a memoria.

Arquitectura de Computadores y Sistema Operativo

En la E/S programada, hay una estrecha correspondencia entre las instrucciones de E/S que
el procesador capta de memoria y las órdenes de E/S que la CPU envía a un módulo de E/S al ejecutar las
instrucciones. Es decir, las instrucciones se pueden hacer corresponder fácilmente con las órdenes de E/S, y a
menudo hay una simple relación uno a uno. La forma de la instrucción depende de la manera de direccionar los
dispositivos externos.
Cuando el procesador, la memoria principal y las E/S comparten un bus común, son posibles
dos modos de direccionamiento: asignado en memoria y aislado. Con las E/S asignadas en memoria, existe un
único espacio de direcciones para las posiciones de memoria y los dispositivos de E/S. La CPU considera los
registros de estado y de datos de los módulos de E/S como posiciones de memoria, y usa las mismas
instrucciones máquina para acceder tanto a memoria como a los dispositivos de E/S. Ejemplo, con 10 líneas de
dirección se puede acceder a un total de 1024 posiciones de memoria y direcciones de E/S, en cualquier
combinación.
Con las E/S asignadas en memoria, se necesita una sola línea de lectura y una sola línea de
escritura en el bus. Aternativamente, el bus puede disponer de líneas de lectura y escritura en memoria junto
con líneas para órdenes de entrada y salida. En este caso, las líneas de órdenes especifican si la dirección se
refiere a una posición de memoria o a un dispositivo de E/S. El rango completo de direcciones está disponible
para ambos. De nuevo, con 10 líneas de dirección, el sistema puede soportar ahora 1024 posiciones de
memoria y 1024 direcciones de E/S. Puesto que el espacio de direcciones de E/S está aislado del de memoria,
éste se conoce con el nombre de E/S aislada.

93
4. Entrada/Salida
• E/S programada correspondencia E/S
9 E/S aislada
Espacios de direcciones separadas.
Necesidad de E/S o de líneas de memoria.
Existen comandos especiales para E/S. Conjunto
limitado.

Arquitectura de Computadores y Sistema Operativo

Con E/S aislada, los puertos de E/S sólo son accesibles mediante una orden específica de E/S, que activa las
líneas de órdenes de E/S del bus.
La mayor parte de los procesadores disponen de un conjunto relativamente grande de
instrucciones distintas para acceder a memoria. Si se utiliza E/S aislada, sólo existen unas pocas instrucciones
de E/S. Por eso, una ventaja de la E/S asignada en memoria es que se puede utilizar este amplio repertorio de
instrucciones, permitiendo una programación más efieciente. Una desventaja es que se usa parte del valioso
espacio de direcciones de memoria. Tanto la E/S asignada en memoria como la aislada se usan comúnmente.

94
4. Entrada/Salida
• E/S mediante interrupción
9 Evita las esperas realizadas por la CPU.
9 La CPU no realiza chequeos repetitivos
del estado de cada dispositivo.
9 Un módulo de E/S realiza una interrupción
cuando está listo.

Arquitectura de Computadores y Sistema Operativo

El problema con la E/S programada es que el procesador tiene que


esperar un tiempo considerable a que el módulo de E/S en cuestión esté preparado
para recibir o transmitir los datos. El procesador, mientras tiene que esperar, debe
comprobar repetidamente el estado del módulo de E/S, esto degrada el nivel de
prestaciones de todo el sistema.
Una alternativa consiste en que el procesador, tras enviar una orden
de E/S a un módulo, continúe realizando algún trabajo útil. Después el módulo de
E/S interrumpirá al procesador para solicitar su servicio cuando esté preparado
para intercambiar datos con él. El procesador ejecuta la transferencia de datos
como antes, y después continúa con el trabajo que estaba realizando previamente.

95
4. Entrada/Salida
• E/S mediante Mandar orden de lectura CPU I/O
al Módulo de E/S Hacer otra cosa
interrupciones .
Leer el estado del Interrupción
Módulo E/S E/S CPU

Comprobar Condición
el estado de error

Preparado

Leer una palabra del


E/S CPU
Módulo E/S

Escribir una palabra


en memoria CPU Memoria

No
¿Final?

Sí Instrucción siguiente
Arquitectura de Computadores y Sistema Operativo

96
4. Entrada/Salida
• E/S mediante interrupciones operación básica
9 CPU envía una orden de E/S.
9 El módulo E/S obtiene datos desde un
periférico mientras la CPU realiza otro
trabajo.
9 El módulo E/S interrumpe a la CPU.
9 CPU solicita los datos.
9 El módulo E/S transfiere los datos.

Arquitectura de Computadores y Sistema Operativo

¿Cómo funciona?
Desde el punto de vista del módulo de E/S.
Para una entrada, el módulo de E/S recibe una orden READ del
procesador. El módulo de E/S, procede a leer el dato desde el periférico asociado.
Una vez que el dato está en el registro de datos del módulo, éste envía una
interrupcón al procesador a través de una línea de control. Después el módulo
espera hasta que el procesador solicite su dato. Cuando ha recibido la solicitud, el
módulo sitúa su dato en el bus de datos y pasa a estar preparado para otra
operación de E/S.

97
4. Entrada/Salida
• E/S Mediante interrupciones perspectiva de la
CPU
9 CPU envía una orden READ de lectura.
9 Pasa a realizar otro trabajo.
9 Chequea en busca de interrupciones al
final de cada ciclo de instrucción.
9 Si es interrumpida:
Guarda el contexto (registros)
Procesa la interrupción, capta datos y los
almacena.

Arquitectura de Computadores y Sistema Operativo

Desde el punto de vista del procesador, las acciones para una


entrada son las siguientes:
El procesador envía una orden READ de lectura. Luego pasa a
realizar otro trabajo. Al final de cada ciclo de instrucción, el procesador comprueba
las interrupciones. Cuando se pide la interrupción desde el módulo de E/S, el
procesador guarda el contexto del programa en curso, y procesa la interrupción. En
este caso, el procesador lee la palabra de datos del módulo de E/S y la almacena
en memoria. Después, recupera el contexto del programa que estaba ejecutando y
continúa su ejecución.
La E/S con interrupciones es más eficiente que la E/S programada,
porque elimina las esperas innecesarias. Pero, las E/S con interrupciones
consumen gran cantidad del tiempo del procesador, puesto que cada palabra de
datos que va desde la memoria al módulo de E/S, o viceversa, debe pasar a través
del procesador.

98
4. Entrada/Salida
• E/S mediante interrupciones identificación del
módulo que realiza la interrupción(1)
9 Múltiples líneas de interrupción.
PC
Limitado al número de dispositivos
9 Consulta software (Software polling).
CPU consulta o pregunta a cada
módulo
Lento

Arquitectura de Computadores y Sistema Operativo

En la implementación de la E/S mediante interrupciones, aparecen dos cuestiones.


Puesto que invariablemente habrá múltiples módulos de E/S ¿cómo determina el procesador
qué dispositivo ha provocado la interrupción? Y si se han producido varias interrupciones ¿cómo
decide el procesador a cuál debe atender?
Para identificar el dispositivo hay cuatro tipos de técnicas que se utilizan
comúnmente: Múltiples líneas de interrupción, Consulta software, Conexión en cadena, Arbitraje
de bus.
La técnica de múltiples líneas de interrupción, proporciona varias líneas de
interrupción entre el procesador y los módulos de E/S. Pero, no es práctico dedicar más de
unas pocas líneas del bus o terminales del procesador a líneas de interrupción. Por tanto,
incluso si se utilizan varias líneas, es probable que a cada una se conecten varios módulos de
E/S. Por eso, se debe usar alguna de las otras tres técnicas en cada línea.
Una alternativa es la consulta software (software poolling). Cuando el procesador
detecta una interrupción, se produce una bifurcación a una rutina de servicio de interrupción que
se encarga de consultar a cada módulo de E/S para determinar el módulo que ha provocado la
interrupción. Una vez identificado el módulo, se produce una bifurcación para que el procesador
ejecute la rutina de servicio específica para ese dispositivo. La desventaja de la consulta
software está en el tiempo que consume.

99
4. Entrada/Salida
• E/S mediante interrupciones identificación del
módulo que realiza la interrupción(2)
9 Conexión en cadena o Hardware
polling.
Reconocimiento de interrupción es enviado al
final de la cadena.
El módulo es responsable de colocar un
vector en el bus
CPU usa un vector para identificar la rutina
de servicio

Arquitectura de Computadores y Sistema Operativo

Una técnica más eficiente es la conexión en cadena (consulta hardware,


vectorizada) de los módulos de E/S, que proporciona, una consulta hardware. Todos los
módulos de E/S comparten una línea común para solicitar interrupciones. La línea de
reconocimiento de interrupción se conecta encadenando los módulos uno tras otro. Cuando el
procesador recibe una interrupción, activa el reconocimiento de interrupción. Esta señal se
propaga a través de la secuencia de módulos de E/S hasta que alcanza un módulo que solicitó
interrupción. Normalmente este módulo responde colocando una palabra en las líneas de datos.
Esta palabra se denomina vector y es la dirección del módulo de E/S o algún otro tipo de
identificador específico. El procesador usa el vector como un puntero a la rutina de servicio de
dispositivo apropiada. Así se evita ejecutar una rutina de servicio general en primer lugar. Esta
técnica se conoce con el nombre de interrupciones vectorizadas.
Otra técnica que usa las interrupciones vectorizadas es la de arbitraje de bus
(vectorizada). Con el arbitraje de bus, un módulo de E/S debe, disponer del control del bus antes
de poder activar la línea de petición de interrupción. Así, sólo un módulo puede activar la línea
en un instante. Cuando el procesador detecta la interrupción, responde mediante la línea de
reconocimiento de interrupción. Después, el módulo que solicitó la interrupción sitúa su vector
en las líneas de datos.
Las técnicas vistas sirven para identificar el módulo de E/S que solicita interrupción.
Proporcionan una forma de asignar prioridades cuando más de un dispositivo está pidiendo que
se sirva su interrupción. Con varias líneas de interrupción, el procesador selecciona la línea con
más prioridad. Con la consulta software, el orden en el que se cosultan los módulos determina
su prioridad. De igual forma, el orden de los módulos en la conexión en cadena determina su
prioridad.

100
4. Entrada/Salida
• E/S mediante interrupciones identificación del
módulo que realiza la interrupción(2)
9 Arbitraje de Bus
El módulo debe pedir el bus antes de que pueda
liberar la interrupción
Ejemplo PCI&SCSI

Arquitectura de Computadores y Sistema Operativo

101
4. Entrada/Salida
• Acceso directo a memoria (DMA)
9 Tanto la E/S Programada como la E/S
Mediante Interrupciones requieren la
intervención activa de la CPU.
La transferencia de datos está
limitada.
CPU está “atada”.
9 DMA ofrece una respuesta.

Arquitectura de Computadores y Sistema Operativo

La E/S con interrupciones, aunque más eficiente que la E/S


programada, también requiere la intervención activa del procesador para transferir
datos entre la memoria y el módulo de E/S, y cualquier transferencia de datos debe
seguir un camino a través del procesador.
¿Qué sucede con la E/S con interrupciones cuando se trabaja con dispositivos de
E/S más veloces? Habría una ocurrencia muy seguida de interrupciones y se
estaría desperdiciando mucho tiempo. Para evitar esto, se utiliza DMA para
dispositivos de E/S de alta velocidad. Transfiere un bloque de datos desde o para
sus buffers de almacenamiento a memoria directamente sin intervención del CPU.
Sólo se produce una interrupción por bloque en lugar de tener una interrupción por
cada byte (o palabra).
El DMA requiere un módulo adicional en el bus del sistema. El módulo
de DMA es capaz de imitar al procesador, y de hecho, es capaz de recibir el control
del sistema cedido por el procesador. Necesita dicho control para transferir datos a,
y desde, memoria a través del bus del sistema. Para hacerlo, el módulo DMA debe
usar el bus sólo cuando el procesador no lo necesita, o debe forzar al procesador a
que suspenda temporalmente su funcionamiento. Esta técnica es la más común y
se denomina robo de ciclo, puesto que el módulo de DMA roba un ciclo de bus.

102
4. Entrada/Salida
• Acceso directo a memoria

Mandar orden de lectura


De bloque al CPU DMA
Módulo DMA
Hacer otra cosa

Interrupción
Leer el estado del
Módulo DMA
DMA CPU

Instrucción siguiente

Arquitectura de Computadores y Sistema Operativo

103
4. Entrada/Salida
• Acceso directo a memoria operación DMA
9 CPU indica al módulo de DMA:
Lectura/Escritura.
Dirección del dispositivo.
Posición inicial de memoria a partir de donde se
lee o escribe.
Cantidad de datos a ser transferidos”.

Arquitectura de Computadores y Sistema Operativo

Cuando el procesador desea leer o escribir un bloque de datos, envía


una orden al módulo de DMA, incluyendo la siguiente información.
•Si se solicita una lectura o una escritura, utilizando la línea de control de lectura o
escritura entre el procesador y el módulo de DMA.
•La dirección del dispositivo de E/S en cuestión, indicada a través de las líneas de
datos.
•La posición inicial de memoria a partir de donde se lee o se escribe, indicada a
través de las líneas de datos y almacenada por el módulo de DMA en su registro de
direcciones.
•El número de palabras a leer o escribir, también indicado a través de las líneas de
datos y almacenado en el registro de cuenta de datos.
Después el procesador continúa con otro trabajo. Ha delegado la
operación de E/S al módulo de DMA, que se encargará de ella. El módulo de DMA
transfiere el bloque completo de datos, palabra a palabra, directamente desde, o
hacia, la memoria, sin que tenga que pasar a través del procesador. Cuando la
transferencia se ha terminado, el módulo de DMA envía una señal de interrupción
al procesador. Así el procesador sólo interviene al comienzo y al final de la
transferencia.

104
4. Entrada/Salida
• Acceso directo a memoria operación DMA
9 CPU continúa con otro trabajo.
9 El módulo de DMA continúa con la
transferencia.
9 El módulo de DMA envía interrumpe al
terminar.

Arquitectura de Computadores y Sistema Operativo

105
4. Entrada/Salida
• Acceso directo a memoria transferencia de DMA
“Robo de Ciclo”
9 El módulo DMA controla al bus durante un
ciclo.
9 Ocurre la transferencia de una palabra de
datos.
9 No ocurre una interrupción.
CPU no altera el “contexto”

Arquitectura de Computadores y Sistema Operativo

El procesador se detiene justo antes de necesitar el bus. Después, el


módulo de DMA transfiere una palabra y devuelve el control al procesador. No
ocurre interrupción, el procesador no guarda el contexto ni hace nada más. En
cambio, el procesador espera durante un ciclo de bus. El efecto resultante es que
el procesador es más lento ejecutando los programas. No obstante, para una
transferencia de E/S de varias palabras el DMA es mucho más eficiente que la E/S
mediante interrupciones o la programada.
El controlador de DMA es un circuito integrado dedicado que puede
enviar y recibir datos más rápido que el microprocesador. Luego, dispositivos como
discos ópticos y magnéticos utilizan este integrado para acceder a la memoria del
sistema.

106
4. Entrada/Salida
• Acceso directo a memoria transferencia de DMA
“Robo de Ciclo”
9 La CPU es suspendida antes de acceder al
bus.
Antes de captar de un dato u operando o de
alguna escritura.

9 Disminuye el desempeño de la CPU, pero


no mucho más que cuando la CPU
efectúa una transferencia.

Arquitectura de Computadores y Sistema Operativo

107
5.1 Máquina de Princeton y Máquina de
Harvard

5.2 Procesadores y Controladores

Arquitectura de Computadores y Sistema Operativo

108
5.1 Máquina de Princeton y
Máquina de Harvard
• Máquina de Von Neumann

Bus Común
de
Direcciones MEMORIA

Instrucciones
8
CPU +
datos
Bus de Datos e
Instrucciones

Visión general de la Arquitectura de Von


Neumann.
Arquitectura de Computadores y Sistema Operativo

Máquinas de Princeton o de Von Neumann


La idea fundamental de Neumann, como ya se vió en la primera presentación, es
que en la memoria coexistieran datos con instrucciones, para que la computadora pudiera ser
programada a través de esos datos y no por medio de alambre que eléctricamente programaban las
operaciones de la computadora. Idea conocida como concepto del programa-almacenado. En efecto,
en la arquitectura de Von Neumann la CPU se conecta con una única memoria donde se almacenan
datos e instrucciones a través de un sistema de buses. Este es el modelo de la estructura de los
computadores actuales. Los elementos esenciales son memoria y un procesador. La memoria es el
lugar de almacenamiento donde se guardan instrucciones y datos de los programas que se están
ejecutando en un momento dado; esto significa que una palabra puede ser un dato o una
instrucción.
El procesador es un intérprete de un juego de instrucciones, sus funciones son:
A) Extraer la instrucción de memoria y decodificarla.
B) Ejecutar la instrucción.
C) Localizar la siguiente instrucción para volver al primer paso.
Este proceso continuará constantemente y de esta forma el ordenador podrá
ejecutar cualquier tipo de programa por grande que fuese su complejidad. Evidentemente el
procesador debería llevar algún tipo de memoria interna con el fin de contener la información sobre
los sucesivos estados por los que tiene que pasar para ejecutar cada una de las instrucciones
(también contendrá información sobre la siguiente instrucción a ejecutar). Recuerde el El Ciclo de
Instrucción Básico, visto con anterioridad.
En la práctica esa memoria interna se materializa en los registros de la CPU, y así
pues la mayoría de los computadores actuales siguen los mismos patrones que Von Neumann
aunque se ha progresado mucho más en todos los aspectos.

109
5.1 Máquina de Princeton y
Máquina de Harvard
• Máquina de Von Neumann

CPU Módulo de E/S

Unidad de Entrada
Control
Memoria
RAM
Salida

ALU

Bloques Funcionales.

Arquitectura de Computadores y Sistema Operativo

Las unidades funcionales de los computadores actuales tienen los mismos bloques
que los diseñados por Neumann; a esos bloques ahora se les llama BLOQUES
FUNCIONALES tal como se esquematiza en la figura

110
5.1 Máquina de Princeton y
Máquina de Harvard
• Máquina de Von Neumann
Unidad de Control Memoria E/S

Señales de control
MAR Control Periférco
E/S
Circuito de control Periférco
Cálculos de .
Memoria .
IR .
MB
Periférco

ALU
Registros
Circuito Aritméticos Detalle de las Unidades
y lógicos Funcionales.

Arquitectura de Computadores y Sistema Operativo

La figura presenta con más detalle la estructura interna de cada una de las
unidades funcionales:
Los registros más importantes son:
•Contador de Programa (PC).
•Registro de Instrucción (IR).
•Los registros para el uso del programador: que se han ubicado en la ALU y que
puede tener diferentes estructuras según cual sea la organización interna del
procesador.
•El registro de dirección de memoria (MAR).
•El Buffer de memoria MB o MDR.

111
5.1 Máquina de Princeton y
Máquina de Harvard
• Máquina de Harvard

Bus de Dirección Bus Dirección de


de Instrucciones Datos
MEMORIA DE
10 9 MEMORIA
INSTRUCCIONES DE DATOS

CPU 512 x 8
1 K x 14
14 8

Bus de Bus de
Instrucciones
Datos
Visión general de la Arquitectura Harvard.

Arquitectura de Computadores y Sistema Operativo

Máquinas de Harvard
En la arquitectura de Harvard son independientes la memoria de instrucciones y la
memoria de datos. Teniendo cada una de estas memorias su propio sistema de buses para el
acceso.
El disponer de dos memorias independientes propicia el paralelismo, lo cual permite que se acceda
en forma simultánea a datos y a instruciones, permite además la adecuación del tamaño de las
palabras y los buses a los requerimientos específicos de las instrucciones y de los datos. Además la
capacidad de las memorias es diferente.
La figura muestra un procesador conectado a dos memoria, la memoria de instrucciones de 1 K
posiciones de 14 bits cada una, la memoria de datos sólo dispone de 512 posiciones de un byte.
El alto rendimiento y elevada velocidad que alcanzan los procesadores modernos, como es el
caso de los microcontroladores PIC, se debe a la utilización en conjunto de
•Arquitectura Harvard
•Arquitectura RISC y
•Segmentación.

112
5.1 Máquina de Princeton y
Máquina de Harvard
Arquitectura Arquitectura
V/S
Von Neumann Harvard
¾Los datos e ¾Datos e instrucciones
instrucciones en una se en memorias
sola memoria de separadas.
lectura/escritura.
¾Se acceden
¾La memoria se simultáneamente datos e
direcciona indicando su instrucciones.
posición.
¾Es más costosa porque
¾La ejecución se hace se necesitan dos
instrucción tras memorias.
instrucción.

Arquitectura de Computadores y Sistema Operativo

Arquitectura de Von Neumann:


•Los datos y las instrucciones se almacenan en una sola memoria de
lectura/escritura.
•Los contenidos de esta memoria se direccionan indicando su posición, sin
considerar el tipo de dato contenido en la misma.
•La ejecución se produce siguiendo una secuencia de instrucción tras instrucción (a
no ser que dicha secuencia se modifique explícitamente)
Arquitectura de Harvard:
•Datos e instrucciones se encuentran almacenadas en memorias separadas
•Permite mayor rendimiento, porque se pueden acceder simultáneamente datos e
instrucciones.
•Es mucho más costosa porque se necesitan dos memorias

113
5.2 Procesadores y Controladores

Arquitectura de Computadores y Sistema Operativo

Procesadores
Básicamente existen dos tipos de estructura de procesador, que constituyen hoy en día la diversidad
de chips en el mercado (el caso más claro y con más éxito es el de AMD e Intel).
De una parte tenemos microprocesadores RISC los cuales se basan en instrucciones simples y por
lo tanto la complejidad total de la CPU es menor. Algunos ejemplos son:
Power PC
Motorola
SPARC, la mayoría son utilizados en empresas por su rendimiento y fiabilidad.

Por otro lado, los microprocesadores CISC (Complex-Instruction-Set-Computing) contienen


instrucciones complejas, ocupan más tamaño, dedicando más tiempo por instrucción con menos
instrucciones. Algunos ejemplos son: Pentium, Cyrix y AMD.

Comparación
Cuando se ejecuta un programa difícil, o extenso, los CISC son más rápidos y eficaces que los
RISC. En cambio cuando tenemos en ejecución un conjunto de instrucciones sencillas, cortas y
simples, tenemos que los RISC son más rápidos. Estas desigualdades también se dan entre los
diferentes modelos y marcas de los dos tipos de procesadores.

114
5.2 Procesadores y Controladores
• Evolución tecnológica de los procesadores

Arquitectura de Computadores y Sistema Operativo

Evolución tecnológica de los procesadores


El microprocesador es el cerebro del computador. Es el encargado de realizar todos los cálculos y
procesamientos del sistema.
Como se ha visto anteriormente, la tecnología física del procesador ha avanzado paralelamente con
la de construcción de circuitos integrados (IC) lo que ha significado unas dimensiones físicas cada
vez más pequeñas y un menor consumo. La evolución de ambos parámetros no solo ha permitido
incrementar la densidad de integración, también la velocidad (frecuencia de funcionamiento). Si nos
referimos a la familia Intel, de los 2.100 transistores del 4004 en 1970, que con solo 46 instrucciones
funcionaba a unos 800 KHz, se pasó a los 29.000 transistores del 8086 en 1979 a 14 MHz; y en
1999 a los 8.200.000 transistores del Pentium III a 2 GHz.
Actualmente se trabaja en el límite de la resolución óptica de los dispositivos utilizados en su
construcción (se usan técnicas fotográficas con longitudes de onda cada vez menores para la luz
utilizada), y debido a la altísima frecuencia de funcionamiento, los conductores internos funcionan
más como guías de onda que como conductores eléctricos convencionales. Además, las
dimensiones físicas del propio dispositivo están teóricamente limitadas si se desea que todos sus
elementos funcionen según un mismo patrón de tiempo (cosa que es imprescindible). Para dar una
idea de las formidables dificultades técnicas que han debido resolver los diseños actuales, considere
que a la velocidad del Pentium III, las señales eléctricas solo recorren 15 centímetros en cada ciclo
de reloj.

115
5.2 Procesadores y Controladores
• Evolución tecnológica de los procesadores

Arquitectura de Computadores y Sistema Operativo

116
5.2 Procesadores y Controladores
• Estructura de los procesadores
9 Unidad de Control.
9 ALU (Unidad Aritmético Lógica).
9 Registros.
9 Interconexiones CPU.

Arquitectura de Computadores y Sistema Operativo

La estructura del procesador


Unidad de Control
ALU
Registros
Interconexiones

117
5.2 Procesadores y Controladores
• Arquitectura básica de los procesadores

Microprocesadores

Arquitectura Von
Arquitectura Harvard
Neumann

Arquitectura de Computadores y Sistema Operativo

Arquitectura básica
Según la arquitectura básica el procesador puede seguir las especificaciones de
Von Neumann o Harvard.

118
5.2 Procesadores y Controladores
• Tipos de arquitectura

Microprocesadores

CISC RISC

Arquitectura de Computadores y Sistema Operativo

Tipos de arquitectura
Una de las primeras decisiones a la hora de diseñar un procesador es
decidir
cual será su juego de instrucciones. Este conjunto de instrucciones
(órdenes)
es el lenguaje que realmente entiende el procesador, y constituye lo que se
conoce como lenguaje ensamblador o lenguaje-máquina. La decisión es
trascendente, por dos razones.
1. El juego de instrucciones decide el diseño físico del conjunto.
2. Cualquier operación que deba ejecutarse con el procesador deberá
poder ser descrita en términos de este "lenguaje" elemental (los
compiladores e intérpretes son en realidad traductores desde el
lenguaje de alto nivel (fuente) a este lenguaje-máquina). Frente a esto
hay dos filosofías de diseño. La primera conduce a máquinas
denominadas CISC ("Complex Instruction Set Computer"); las
máquinas construidas según el otro criterio se denominan RISC
("Reduced Instruction Set Computer").

119
5.2 Procesadores y Controladores
• Tipos de arquitectura
CISC RISC
Utiliza instrucciones Utiliza instrucciones
muy complejas muy simples

¾El lenguaje debe contener ¾El lenguaje contiene un


un amplio surtido de ellas. conjunto pequeño de
¾Son instrucciones instrucciones.
complejas, por tanto de ¾Las instrucciones son muy
ejecución lenta. simples, por tanto de ejecución
¾Para un trabajo específico rápida.
se requieren pocas ¾Para cualquier operación se
instrucciones. requieren varias instrucciones
elementales.

Arquitectura de Computadores y Sistema Operativo

Las máquinas CISC utilizan instrucciones muy complejas, muy descriptivas y específicas,
lo que se traduce en varias consecuencias:
•El lenguaje debe contener un amplio surtido de ellas (una para cada circunstancia
distinta).
•Son instrucciones complejas, por tanto de ejecución lenta. La circuitería del procesador
también es compleja.
•Para un trabajo específico se requieren pocas instrucciones (siempre hay una que
resuelve el problema).
•Las máquinas RISC representan el enfoque opuesto. Utilizan instrucciones muy simples,
que deben ser cuidadosamente escogidas, porque cualquier operación debe ser
expresada como una secuencia de estas pocas instrucciones. Las consecuencias son
justamente opuestas a las anteriores:
•El lenguaje contiene un conjunto pequeño de instrucciones.
•Las instrucciones son muy simples, por tanto de ejecución rápida. La circuitería es más
simple que en los procesadores CISC.
•Para cualquier operación se requieren varias instrucciones elementales.
Cada criterio tiene sus pros y sus contra en lo que a rendimiento se refiere. En las
máquinas CISC, lentitud de cada instrucción frente a poca cantidad de ellas; en las RISC,
rapidez individual aunque hay que ejecutar un mayor número.
La diferencia práctica entre CISC y RISC es que los procesadores CISCx86 corren a DOS,
Windows 3.1 y Windows 95 en el modo nativo, es decir, sin la traducción de software que
disminuya el desempeño

120
5.2 Procesadores y Controladores
• Características distintivas entre procesadores
9 Tamaño o Anchura de los Buses

Arquitectura de Computadores y Sistema Operativo

Características distintivas
Existen varias características diferenciadoras de los procesadores. Dos de los
parámetros importantes en cuanto a especificación son la anchura y velocidad.
9 Tamaño o anchura de los buses.
La forma más común de describir un microprocesador es indicando la velocidad y el ancho de su
bus externo de datos. Esto determina la capacidad que tiene el procesador de enviar y recibir
información. Volviendo al ejemplo de las autopistas, si una autopista tiene un carril por cada
sentido, un auto puede pasar en una dirección. Suponiendo que un chip de 8 bits es una
autopista de un solo carril, un solo byte circula por ella a la vez, en un chip de 16 bits dos bytes
pueden circular, en una de 32 bits, 4 y una de 64, 8 bytes de una sola pasada.
-Los registros internos (bus de datos interno): El tamaño de los registros internos indica la
cantidad de información sobre la cual puede operar el procesador al mismo tiempo, además
determina cómo transfiere los datos dentro del chip.
(8088 16; 80386 y siguientes 32 bits). Vea la figura.
Anchura del bus de datos (8088 8; 80286 16; 80486 32; Pentium 64 bits) Vea la figura.
-Bus de direcciones: determina la capacidad de manejar memoria, como ya se ha visto en
clases anteriores, éste bus es el que transporta la información de direccionamiento usada para
describir la ubicación de memoria a la cual se está enviando información, o aquella de donde se
está obteniendo.
Anchura del bus de direcciones: (8088 20; 80286 24; 80486 32 y Pentium 32 bits).

121
5.2 Procesadores y Controladores
9 Tamaño o anchura de los buses

Arquitectura de Computadores y Sistema Operativo

122
5.2 Procesadores y Controladores
9 Velocidad
Procesador Ciclos por
Instrucción
8086 y 8088 12

80286 y 80386 4.5

80486 2

Pentium y AMD serie K6 1ó2

Pentium Pro, Pentium II en adelante, Por


Por encima de 3
Celeró
Celerón, Athlon y Duron:
Duron: Pueden ejecutar
por
por encima de 3

Arquitectura de Computadores y Sistema Operativo

9Velocidad
No Hay un estándar para medirla, uno de los pocos datos objetivos es la frecuencia a que
funciona y se mide en megaherz, mientras más rápido mejor, aunque existen otros muchos
factores, tales como el número de instrucciones que es capaz de ejecutar en cada ciclo
(arquitectura súper escalar), los juegos de instrucciones para aplicaciones específicas como la
tecnologías MMX, las extensiones SIMD o 3DNow, la ejecución dinámica, arquitectura de bus
independiente, etc.
-Tiempos medios por instrucción
8086 y 8088: Les toma un promedio de 12 ciclos para ejecutar una instrucción.
80286 y 80386: Un promedio de 4.5 ciclos por instrucción (el 80386 fue el primer procesador
de ordenador personal en implementar arquitectura de ejecución paralela).
80486: Media de 2 ciclos por instrucción.
Pentium y AMD serie K6: Incluyen canales dobles para instrucciones y otras mejoras que les
permiten una o 2 instrucciones por ciclo.
Pentium Pro, Pentium II en adelante, Celeron, Athlon y Duron: Pueden ejecutar por encima
de 3 instrucciones por ciclo de reloj. A partir del Intel 80486 los procesadores funcionan a una
velocidad mayor que lo que pueden hacer los circuitos y buses de la tarjeta madre (bus
externo). La situación actual es que las velocidades típicas de las tarjeta madre son de 60- 66-
100- 133 MHz mientras que los procesadores funcionan a frecuencias múltiplos de aquellas;
típicamente de 1x hasta 10x, es decir, desde 60 a 1330 MHz. Dado que el procesador está
conectado con el bus externo, es fácil comprender que en su interior existan buses que trabajan
a distintas velocidades. Para distinguirlos es frecuente referirse a la velocidad del bus más
rápido como velocidad del núcleo y a la del bus que conecta con el bus externo como
velocidad del bus frontal ("Front-side bus").

123
5.2 Procesadores y Controladores
9 Tecnología del procesador
ƒ MMX (MultiMedia Extensions) : Introducida por
Intel. Mejora la manipulación de imágenes y
tratamiento de codecs de audio/video.

ƒ Extensiones SIMD (Streaming SIMD


Extensions): Introducida por Intel.
Decodificación de MPEG2.

ƒ 3DNow: Introducida por AMD. Mejoran las


capacidades multimedia.

Arquitectura de Computadores y Sistema Operativo

Durante la fabricación del procesador se prueba a diferentes velocidades, temperaturas y presiones.


Después de esa fase se le pone el sello con la velocidad máxima a la cual puede funcionar de forma
segura. El multiplicador de un procesador se puede cambiar por medio de jumpers en la tarjeta
madre, en los más modernos en la propia BIOS.
9Tecnología del Procesador
MMX
La tecnología MMX ("MultiMedia eXtensions") fue introducida en 1.996 por Intel en sus procesadores
Pentium. MMX comprende instrucciones muy optimizadas orientadas a la programación multimedia.
Mejora la manipulación de imágenes y tratamiento de codecs de audio/video, mediante un conjunto
de 57 nuevas instrucciones, así como una nueva capacidad denominada SIMD ("Single Instrucction
Multiple Data").
-Extensiones SIMD
Con la aparición del Pentium III en 1.999 se introdujeron nuevas mejoras en la tecnología MMX,
introduciendo 70 nuevas instrucciones denominadas SSE ("Streaming SIMD Extensions") o KNI
("Katmai News Instrucctions") puesto que Katmai que era el nombre clave del Pentium III antes de
su lanzamiento. Las instrucciones SSE son especialmente adecuadas para decodificación de
MPEG2, que es el codec utilizado normalmente en los DVDs, procesamiento de gráficos
tridimensionales y software de reconocimiento de voz.
-3DNow
La tecnología 3DNow es la respuesta AMD a las SSE de Intel. Se introdujo por primera vez en
1.998 en la serie K6 de procesadores, y son un conjunto de 21 instrucciones que mejoran las
capacidades multimedia de estos procesadores. Enhanced 3DNow añade otras 24 nuevas
instrucciones a las anteriores.

124
5.2 Procesadores y Controladores
9 Tecnología del procesador
ƒ Arquitectura DIB: El procesador dispone de
dos buses exteriores que pueden funcionar
en forma simultánea e independientemente.El
principal es el que comunica con el bus de la
tarjeta madre (bus del sistema); el segundo
(bus de apoyo), comunica el procesador con
la cache L-2.

Arquitectura de Computadores y Sistema Operativo

-Arquitectura DIB
La arquitectura de bus dual independiente DIB ("Dual Independent Bus") consiste en que el
procesador dispone de dos buses exteriores que pueden funcionar simultanea e
independientemente. El principal es el que comunica con el bus de la tarjeta madre (bus del
sistema); el segundo (bus de apoyo), comunica el procesador con la cache L-2.
Para sacar pleno rendimiento de este segundo bus, se sacó esta caché de la tarjeta madre y se la
acercó al procesador, permitiendo que funcionase a la misma velocidad que el núcleo (la caché L-1
siempre ha estado incluida en el procesador).

-Sobrecarga
La Sobrecarga ("Overclocking") consiste en aumentar la eficiencia del procesador aumentando su
velocidad de trabajo (frecuencia) por encima de la prevista por el fabricante.
Aspectos relativos al marcaje de la velocidad de los procesadores por los fabricantes; remarcado y
mercado negro de procesadores; limitación de la velocidad por el fabricante.
Nota:
La compañía Intel proporciona gratuitamente un software especial, denominado Processor
Frequency ID Utility http://support.intel.com/support/processors/tools/frequencyid/ que permite a
los usuarios determinar si un determinado procesador Intel está operando a la frecuencia
correcta. Además permite identificar el tipo de procesador utilizado en el sistema y algunas de sus
características como tipo y tamaño de caché; encapsulado y tecnología (MMX y SMID).
El programa existe en dos versiones. Una de ellas corre bajo Windows, la otra, denominada
"bootable", no necesita un Sistema Operativo instalado para correr; puede instalarse en un disquete
y arranca antes que el SO.

125
5.2 Procesadores y Controladores
9 Encapsulado del procesador
Existen varios tipos de encapsulado:
ƒ DIP "Dual In-line Package". El 8088 40 pines.
ƒ PGA Pin Grid Array". A partir de la introducción
del 80286. Existen muchas versiones: Socket
1, 169 pines; Socket 2, 238 p; Socket 3, etc.
ƒ SE "Single Edge".
Ranura 1 cartuchos SEC (Single Edge Card) y
SEP (Single Edge Connector) de 242 pines.
Ranura 2 con 330 pines. Servidores y sistemas
de altas prestaciones con Pentium Xeon.

Arquitectura de Computadores y Sistema Operativo

9Encapsulados
Concepto: Relación con el tipo de zócalo. Existen varios tipos de encapsulado:
-DIP "Dual In-line Package". El 8088 estaba encapsulado en un DIP de 40 pines.
-PGA Pin Grid Array". Se utiliza a partir de la introducción de 80286 en 1.982. Existen muchas
versiones: Socket 1 169 (LIF, ZIF) pines; Socket 2, 238 (LIF, ZIF) p; Socket 3, 237 (LIF, ZIF) p;
Socket 4, 273 (LIF, ZIF) p; Socket 5, 296 (LIF, ZIF), 320 (LIF, ZIF) p; Socket 6, 235 (ZIF) p ; Socket
7, 296 (LIF) , 321 (ZIF) p y Socket 8, 387 (LIF, ZIF) p.
-SE "Single Edge".
Ranura 1(slot 1) cartuchos SEC (Single Edge Card) y SEP (Single Edge Connector) de 242 pines.
Ranura 2 (slot 2) con 330 pines. Servidores y sistemas de altas prestaciones con Pentium Xeon
Los Zócalos de patillas planas y torneadas; origen de los zócalos LIF y ZIF.
Se requieren unas 100 libras de fuerza para insertar un procesador de 169 pines en un zócalo estándar (unos
45 Kg).
Se diseñaron los zócalos LIF ("Low Insertion Force“, fuerza de inserción baja) que limitaban a 60 libras (unos
27 Kg), y los ZIF ("Zero Insertion Force“) que no requieren ninguna fuerza para su inserción o retirada. Los
zócalos VLIF (“Very Low Insertion Force”) requieren una muy baja fuerza de inserción, por ejemplo elzócalo del
microprocesador Itanium2 .
Celeron: este circuito Intel viene en un encapsulado de 478 pines.
•Pentium 4: utiliza un encapsulado de 478 pines, que se conecta a un socket 478.
•Duron: microprocesador de AMD viene en un encapsulado de 462 pines, para colocarse en un conector
llamado Socket-A.
•Athlon: microprocesador de AMD cuyo esempeño ha llegado a superar al Pentium 4, y a un precio bastante
menor. Viene en un encapsulado de 462 pines, requiere un Socket-A.
•Athlon 64: utiliza un nuevo encapsulado de 754 terminales, requiere un Socket-754.
•Opteron y Athlon 64FX usan un encapsulado de 940 terminales, requiere un Socket-940.
•C3: Es el único microprocesador que VIA-Cyrix produce, por ahora, utiliza un encapsulado de 370 terminales
que se conecta a un Socket 370.

126
5.2 Procesadores y Controladores

Tipos de Sockets SOCKET


370

SOCKET A

SOCKET
478

SOCKET
754

Arquitectura de Computadores y Sistema Operativo

Socket 370, 370 pines, Socket 478, 478 pines, Socket 754, 754 pines,
Socket A 462 pines

127
5.2 Procesadores y Controladores
PENTIUM PRO PENTIUM II para
computador de
escritorio y portátil

PENTIUM III

CELERON

Arquitectura de Computadores y Sistema Operativo

• El Pentium HT, considerado como una variante del Pentium 4, es un circuito ideal
para aplicaciones que requieren de muchos recursos, animaciones en tercera
diemensión, edición de video en tiempo real, manejo de bases de datos
gigantescas. Viene en un encapsulado de 478 terminales y debe colocarse en
tarjetas madres especiales, por el consumo de grandes cantidades de energía.

128
5.2 Procesadores y Controladores

Microprocesador INTEL ITANIUM2

Arquitectura de Computadores y Sistema Operativo

Itanium2:este procesador cuyas características ofrece gran potencia tiene Socket


611 VLIF, 611 pines.

129
5.2 Procesadores y Controladores
MICROPROCESADOR ATHLON 64, PARA MÁQUINAS DE ESCRITORIO Y
PORTÁTILES.

MICROPROCESADOR ATHLON 64FX.


Arquitectura de Computadores y Sistema Operativo

130
5.2 Procesadores y Controladores

MICROPROCESADOR AMD SEMPRON.

Arquitectura de Computadores y Sistema Operativo

AMD Sempron: es de la gama baja de AMD Streaming SIMD Extensions 2, Socket A ZIF, 462 pines.

131
5.2 Procesadores y Controladores

MICROPROCESADOR
C3.

Arquitectura de Computadores y Sistema Operativo

C3: tiene socket 370 ZIF, 370 pines.

132
5.2 Procesadores y Controladores

Comparación
Rendimiento
Pentium 4 vs ATHLON
XP

Arquitectura de Computadores y Sistema Operativo

En la figura se muestra un cuadro compartivo sobre el rendimiento entre el Pentium


4 usando placa con chipset Intel 850E con memoria RAMBUS PC1066 y el Athlon
XP usando placa con nForce2 y memoria DDR PC3200
Lo que hay en los paréntesis viene a significar: (Velocidad real en MHz del micro /
Velocidad en Mhz del FSB, es decir, de la memoria RAM y otros componentes de
la placa mediante la aplicación de divisores / Velocidad externa del micro, con la
que se comunica el chipset de la placa base)

Extraído de Tomshardware.com

133
5.2 Procesadores y Controladores
• Microcontrolador
Es capaz de integrar
inteligencia casi a
cualquier artefacto.
Es un computador
dentro de un solo
chip.

MICROCONTROLADOR.
Arquitectura de Computadores y Sistema Operativo

Controlador
Recibe el nombre de controlador, el dispositivo que se emplea para el gobierno de uno o varios
procesos. Un controlador consta de un programa más o menos complejo que da las pautas para
realizar un trabajo ayudado por unos sensores y actuadores que recogen la información y transmiten
las instrucciones.
El concepto de controlador ha permanecido invariable a través de los tiempos, pero su
implementación física ha variado frecuentemente. Tres décadas atrás, los controladores se construían
exclusivamente con componentes de lógica discreta; posteriormente se emplearon los
microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito
impreso.
En los 70, los fabricantes de circuitos integrados iniciaron la difusión de un nuevo circuito para control,
medición e instrumentación al que llamaron microcomputador en un sólo chip o de manera más
exacta microcontrolador.
El microcontrolador es uno de los logros más sobresalientes del siglo XX. Este dispositivo ha
evolucionado a mayor velocidad que ningún otro invento en la historia, la capacidad del
microcontrolador ha aumentado 10.000 veces en los últimos 25 años.
En la imagen se ve el diminuto tamaño de un microcontrolador comparado con una aguja. El mayor
atributo del microcontrolador es que puede integrar inteligencia casi a cualquier artefacto. Es un
computador dentro de un solo chip. Se le puede entrenar para adaptarse a su entorno, responder a
condiciones cambiantes y volverse más eficiente y que responda a las necesidades únicas de sus
usuarios. El número de productos que funcionan en base a uno o varios microcontroladores aumenta
de forma exponencial.

134
5.2 Procesadores y Controladores
• Características del microcontrolador
9 Circuito integrado programable y contiene
todos los componentes de un
computador.
9 Tamaño reducido.
9 Controla el funcionamiento de una tarea
determinada.
9 Va incorporado en el dispositivo al que
gobierna (controlador incrustado).
9 Es un dispositivo dedicado.

Arquitectura de Computadores y Sistema Operativo

Características del Microcontrolador


•Un microcontrolador es un circuito integrado programable que contiene todos los
componentes de un computador aunque de limitadas prestaciones.
•Se emplea para controlar el funcionamiento de una tarea determinada
•Tiene tamaño reducido.
•Va incorporado en el propio dispositivo al que gobierna, por su tamaño reducido.
Esta última característica es la que le confiere la denominación de controlador
incrustado (Embedded controller).
•El microcontrolador es un dispositivo dedicado. En su memoria sólo reside un
programa destinado a gobernar una aplicación determinada; sus líneas de
entrada/salida soportan el conexionado de sensores y actuadores del dispositivo a
controlar y todos los recursos complementarios disponibles tienen como única
finalidad atender sus requerimientos. Una vez programado y configurado el
microcontrolador solamente sirve para gobernar la tarea asignada.

135
5.2 Procesadores y Controladores
• Características del microcontrolador

Estructura del microcontrolador.

Arquitectura de Computadores y Sistema Operativo

Un microcontrolador contiene toda la estructura (arquitectura) de un sencillo pero


completo computador contenidos en el corazón (chip) de un circuito integrado. Se
trata de un circuito integrado de alta escala de integración que incorpora la mayor
parte de los elementos que configuran un controlador. Se dice que es “la solución
en un chip” porque su reducido tamaño minimiza el número de componentes y el
coste.
Los componentes de los que dispone normalmente un microcontrolador son:
•Procesador o CPU (Unidad central de proceso).
•Memoria RAM para contener los datos.
•Memoria para el programa tipo ROM/PROM/EPROM.
•Líneas de E/S para comunicarse con el exterior.
•Diversos módulos para el control de periféricos (Temporizadores, puertas serie y
paralelo, CAD, etc.)
•Generador de impulsos de reloj que sincronizan el funcionamiento de todo el
sistema.
Según el modelo de microcontrolador que se trate, el tamaño y el tipo de memoria
pueden diferir, así como el número de líneas de E/S y los módulos de control de
periféricos. La diversificación de modelos, permite seleccionar el más adecuado
según la aplicación de que se trate.

136
5.2 Procesadores y Controladores
• Campos en los que se utiliza microcontroladores
Automatización industrial Termorregulación

Medida y control de procesos Industria de la automoción

Periféricos y dispositivos Electromedicina


auxiliares de las computadoras

Electrodomésticos Robótica

Sistemas de seguridad y alarma Sistemas de navegación

Arquitectura de Computadores y Sistema Operativo

Campos en los que se utilizan Microcontroladores


Los campos más destacados en los que se emplean microcontroladores son los siguientes:
Automatización industrial, Medida y control de procesos, Enseñanza e investigación, Periféricos y
dispositivos auxiliares de las computadoras, Electrodomésticos, Aparatos portátiles y de bolsillo,
Máquinas expendedoras y juguetería, Instrumentación, Industria de la automoción, Electromedicina,
Robótica, Sistemas de navegación, Sistemas de seguridad y alarma, Domótica (Véase
http://www.isde-ing.com/Qedom.htm) Termorregulación.
La informática acapara gran parte de los microcontroladores que se fabrican. Casi todos los
periféricos de un ordenador, desde el ratón hasta la impresora o el teclado, son regulados por el
programa de un microcontrolador. Los electrodomésticos de línea blanca (lavadoras, hornos,
lavavajillas, etc.) y de línea marrón (televisores, vídeos, aparatos musicales, etc.) incorporan
numerosos microcontroladores. Igualmente los sistemas de supervisión, vigilancia y alarma en los
edificios utilizan estos chips para optimizar el rendimiento de ascensores, calefacción, aire
acondicionado, alarmas de incendio, robo, etc. Las comunicaciones y sus sistemas de transferencia
de información utilizan bastante estos pequeños computadores, incorporándolos en los grandes
automatismos y en los modernos teléfonos. La instrumentación y la electromedicina son dos campos
idóneos para la implantación de estos circuitos integrados. La industria automotriz es gran
consumidora de microcontroladores, que los aplica en el control de aspectos como la climatización o
los frenos ABS.

137
5.2 Procesadores y Controladores
• Clasificación de los microcontroladores
9 Tamaño de los datos
Microcontroladores de 4 bits

Microcontroladores de 8 bits

Microcontroladores de 16 bits

Microcontroladores de 32 bits

Microcontroladores de 64 bits

Arquitectura de Computadores y Sistema Operativo

Clasificación de los microcontroladores


Hay diferentes criterios según los cuales se pueden clasificar los
microcontroladores.
9Tamaño de los datos: que procesa el microcontrolador se puede distinguir entre
•Microcontroladores de 4 bits.
•Microcontroladores de 8 bits.
•Microcontroladores de 16 bits.
•Microcontroladores de 32 bits.
•Microcontroladores de 64 bits.
El más representativo de esta clasificación es el microcontrolador de 8 bits porque
resulta el más flexible y eficaz para la mayoría de los diseños típicos. Aunque en
los últimos años, los microcontroladores de 16 bits están aumentado
significativamente su cuota de mercado.

138
5.2 Procesadores y Controladores
9 Arquitectura básica

Microcontroladores

Arquitectura Von
Arquitectura Harvard
Neumann

Arquitectura de Computadores y Sistema Operativo

9Arquitectura básica.
Según la arquitectura interna de la memoria del microcontrolador se puede
distinguir entre:
•Microcontroladores con arquitectura Von Neumann.
•Microcontroladores con arquitectura Harvard.
Inicialmente, todos los microcontroladores adoptaron la arquitectura clásica de Von
Neumann. Actualmente, muchos microcontroladores utilizan esta arquitectura, pero
poco a poco se impone la arquitectura Harvard.

139
5.2 Procesadores y Controladores
9 Arquitectura del procesador

Microcontroladores

CISC RISC SISC

Arquitectura de Computadores y Sistema Operativo

9 Arquitectura del Procesador o CPU.


Según la filosofía de la arquitectura del procesador se puede distinguir entre:
•Microcontroladores CISC.
•Microcontroladores RISC.
•Microcontroladores SISC.
Un microcontrolador basado en la filosofía CISC (Computadores de Juego de Instrucciones
Complejo) dispone de más de 80 instrucciones máquina en su repertorio, algunas de las cuales son
muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecución.
Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que
actúa como macros.
Tanto la industria de los computadores comerciales como los de los microcontroladores están
decantándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos
procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son
simples y, generalmente, se ejecuta en un solo ciclo. La sencillez y rapidez de las instrucciones
permiten optimizar el hardware y el software del procesador.
En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones,
además de ser reducido, es específico, o sea, las instrucciones se adaptan a las necesidades de la
aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC (Computadores de Juego
de Instrucciones Específico).

140
5.2 Procesadores y Controladores
9 Tipo de memoria de programa

Microcontroladores
Memoria
Memoria ROM Flash
con máscara

Memoria
Memoria OTP
EEPROM
Memoria EPROM

Arquitectura de Computadores y Sistema Operativo

9Tipo de memoria de programa.


En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip.
Una parte debe ser no volátil, tipo ROM, que se destina a contener el programa de instrucciones
que gobierna la aplicación. Otra parte de memoria debe ser volátil, tipo RAM, y se destina a
guardar las variables y los datos.
Existen principalmente cinco versiones de memoria no volátil que se pueden encontrar en los
microcontroladores del mercado
•Memoria ROM con máscara. El elevado coste del diseño de la máscara sólo hace
aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se
precisan cantidades superiores a varios miles de unidades.
•Memoria OTP(One Time Programmable) es no volátil, de sólo lectura y programable una
sola vez por el usuario. La versión OTP es recomendable cuando es muy corto el ciclo de
diseño del producto, o bien, en la construcción de prototipos o serie muy pequeñas.
•Memoria EPROM(Erasable Programmable Read Only Memory), pueden borrarse y
grabarse muchas veces. La grabación se realiza, como en el caso de la memoria OTP. Si,
posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su
superficie por la que se somete a le EPROM a rayos ultravioleta durante varios minutos.
•Memoria EEPROM(Electrical EPROM) es de sólo lectura, programable y borrable
eléctricamente. Tanto la programación como el borrado, se realizan eléctricamente desde
el propio grabador y bajo el control programado de un PC
•Memoria Flash. La memoria Flash es no volátil, de bajo consumo y puede grabarse y
borrarse eléctricamente. Funciona como una ROM y una RAM pero consume menos
energía y es más pequeña. La memoria Flash también puede programarse “en circuito”,
además, es más rápida, tiene mayor densidad y tolera más ciclos de escritura/borrado que
la EEPROM.

141
5.2 Procesadores y Controladores
• Microcontroladores PIC
Características Relevantes de los PIC´s
9 La arquitectura del procesador sigue el modelo
Harvard.
9 Se aplica la técnica de segmentación (“pipe-
line”).
9 El formato instrucciones tiene la misma
longitud.

Arquitectura de Computadores y Sistema Operativo

Microcontroladores PIC
El primer escollo al que se enfrenta un ingeniero a la hora de materializar una idea
usando un microcontrolador, es la elección de una familia de microcontroladores y dentro
de esta, un modelo en concreto que se ajuste lo mejor posible a las necesidades del
diseño. En el mercado existen multitud de fabricantes. Todos los microcontroladores que
se fabrican hoy en día son buenos, y el mejor no siempre es el mismo. Cambian el
modelo y el fabricante según la aplicación y las circunstancias que lo envuelven.
Los PIC Peripheral Interface Controller) son muy apetecidos ante cualquier otro ya sea de
Intel, Motorola, Altair. Influye en esto su velocidad, el bajo precio, la facilidad de uso,
reducido consumo, la información, pequeño tamaño, fácil programabilidad o la
abundancia de información y de herramientas económicas de soporte.
Dentro de las características más relevantes del microcontolador PIC (están las
siguientes.
9La arquitectura del procesador sigue el modelo Harvard, donde el CPU se conecta de
forma independiente y con buses distintos con la memoria de instrucciones y con la de
datos.
9Se aplica la técnica de segmentación (“pipe-line”) en la ejecución de las instrucciones.
La segmentación permite al procesador realizar al mismo tiempo la ejecución de una
instrucción y la búsqueda del código de la siguiente.
9El formato de instrucciones tiene la misma longitud. Todas las instrucciones de los
microcontroladores de la gama baja tienen una longitud de 12 bits. Las de la gama media
tienen 14 bits y más las de la gama alta. Esta característica es muy ventajosa en la
optimización de la memoria de instrucciones y facilita enormemente la construcción de
ensambladores y compiladores.

142
5.2 Procesadores y Controladores
Características relevantes de los PIC´s
9 Procesador RISC .
9 Instrucciones ortogonales.
9 Arquitectura basada en un banco de
registros.

Arquitectura de Computadores y Sistema Operativo

9Procesador RISC. Los modelos de la gama baja disponen de un repertorio de 33


instrucciones, 35 los de la gama media y casi 60 los de la alta.
9Instrucciones ortogonales. Que todas las instrucciones sean ortogonales permite que
cualquier instrucción puede manejar cualquier elemento de la arquitectura como fuente o
como destino.
9Arquitectura
basada en un banco de registros. Esto significa que todos los objetos del
sistema (puertos de E/S, temporizadores, posiciones de memoria, etc.) están
implementados físicamente como registros.

143
5.2 Procesadores y Controladores
• Diferencias principales entre controladores y
procesadores
9 Tipo de Sistema
Los controladores son sistemas cerrados.
Los procesadores son sistemas abiertos.
9 Propósito
Los controladores son de propósito
específico.
Los procesadores son de propósito
general.

Arquitectura de Computadores y Sistema Operativo

Diferencias entre controladores y procesadores


•Tipo de sistema
- Los controladores son sisistemas cerrados que contienen todas las partes de un computador en un
solo chip. Todos los elementos electrónicos que se utilizaban para hacer funcionar un sistema
basado con un microprocesador: Unidad de Proceso, la memoria RAM, memoria ROM , puertos de
entrada, salidas y otros periféricos, con la consiguiente reducción de espacio.
-Los procesadores son sistemas abiertos que sacan las líneas datos, dirección, control al exterior
para la conexión de memoria, interfaces de E/S.
•Propósito
-Los controladores son sistemas de propósito específico. Son programados para llevar a cabo una
tarea. Esta tarea es programada en lenguaje ensamblador por el usuario, y son introducidos en este
a través de un programador.
-Los procesadores son sistemas se propósito general.

144
6.1 Taxonomía de Flynn

6.2 Multiprocesadores

Arquitectura de Computadores y Sistema Operativo

145
6.1 Taxonomía de Flynn

Se basa en el flujo que siguen los


datos dentro de la máquina y de
las instrucciones sobre esos
datos.

Arquitectura de Computadores y Sistema Operativo

Taxonomía de Flynn.
En 1972 Michael Flynn, profesor de ingeniería eléctrica en la de
la Universidad de Stanford, publicó un documento en donde escogió dos
características de las computadoras y probó con las 4 combinaciones
posibles. Dos estaban en la mente de todos, y las otras no.
Esta taxonomía (organización) es ampliamente conocida y aceptada.
Describe las computadoras por como los flujos de instrucciones interactúan
con los flujos de información.
Clasificación clásica de arquitectura de computadores que hace alusión a sistemas
con uno o varios procesadores. Flynn la publicó por primera vez en 1966 y por
segunda vez en 1970.
Esta taxonomía se basa en el flujo que siguen los datos dentro de la máquina y de
las instrucciones sobre esos datos.

146
6.1 Taxonomía de Flynn

Flujo de Instrucciones

9 Conjunto de instrucciones secuenciales


que son ejecutadas por un único
procesador.
Flujo de Datos

9 Flujo secuencial de datos requeridos por


el flujo de instrucciones.

Arquitectura de Computadores y Sistema Operativo

Se define como flujo de instrucciones al conjunto de instrucciones secuenciales


que son ejecutadas por un único procesador y como flujo de datos al flujo
secuencial de datos requeridos por el flujo de instrucciones.

147
6.1 Taxonomía de Flynn
• Clasificación de los sistemas según FLYNN

SISD SIMD

Sistemas

MISD MIMD

Arquitectura de Computadores y Sistema Operativo

Con estas consideraciones, Flynn clasifica los sistemas en cuatro


categorías:
SISD (Single Instruction stream, Single Data stream).
SIMD (Single Instruction stream, Multiple Data stream).
MISD (Multiple Instruction stream, Single Data stream).
MIMD (Multiple Instruction stream, Multiple Data stream).

148
6.1 Taxonomía de Flynn

9 SISD (Single Instruction stream, Single


Data stream)
Un único flujo de instrucciones sobre un
único flujo de datos.
Se ejecuta una instrucción detrás de otra.
Tienen un único procesador.
No hay ningún paralelismo
-Máquinas Secuenciales Convencionales, es decir
PCs

Arquitectura de Computadores y Sistema Operativo

SISD (Single Instruction stream, Single Data stream)


Los sistemas de este tipo se caracterizan por tener un único flujo de instrucciones
sobre un único flujo de datos, es decir, se ejecuta una instrucción detrás de otra.
Consisten en una única Unidad de Proceso. Este es el concepto de arquitectura
serie de Von Neumann que más se usa donde, en cualquier momento, sólo se
ejecuta una única instrucción.

149
6.1 Taxonomía de Flynn

Flujo de
Instrucciones

Secuencia de Secuencia de
Control Instrucciones Procesador Datos Memoria

Estructura básica de los computadores SISD.

Arquitectura de Computadores y Sistema Operativo

Ejemplo: Para procesar la suma de N números a1, a2, ... aN, el procesador necesita
accesar a memoria N veces consecutivas (para recibir un número). También son
ejecutadas en secuencia N-1 adiciones. Es decir los algoritmos para las
computadoras SISD no contienen ningún paralelismo.

150
6.1 Taxonomía de Flynn

9 SIMD (Single Instruction stream, Multiple


Data stream)
Tienen un único flujo de instrucciones que
operan sobre múltiples flujos de datos.
Ejecución de instrucciones es secuencial, todos
los elementos realizan una misma instrucción
pero sobre una gran cantidad de datos, hay
concurrencia.
-Thinking Machines
-CM-2
-MassPar computers
-Procesador MMX
Arquitectura de Computadores y Sistema Operativo

• SIMD (Single Instruction stream, Multiple Data stream)


• Estos sistemas tienen un único flujo de instrucciones que operan sobre múltiples flujos de datos.
Ejemplos de estos sistemas los tenemos en las máquinas vectoriales con hardware escalar y
vectorial.
• El procesamiento es síncrono, la ejecución de las instrucciones también secuencial como en el
caso anterior, todos los elementos realizan una misma instrucción pero sobre una gran cantidad
de datos. Por ello existirá concurrencia de operación, es decir, esta clasificación es el origen de
la máquina paralela.
• Son utilizadas en redes neuronales.

• Ejemplos Thinking Machines CM-2, MassPar computers, Procesador MMX

¿Cómo funciona este tipo de sistema?


• Sólo hay una Unidad de Control la cual manda una misma instrucción a todas las unidades de
proceso (ALUs). Las unidades de proceso operan sobre datos diferentes pero con la misma
instrucción recibida.

151
6.1 Taxonomía de Flynn

Flujo de
Datos 1 Unidad de
Memoria 1 Proceso 1
Flujo de
Flujo de Instrucciones
Datos 2
Unidad de Unidad de
Memoria 2 Proceso 2 Control
.
.
. Flujo de
Datos n Unidad de
Memoria n
Proceso n
Flujo de Datos

Arquitectura de los computadores SIMD.

Arquitectura de Computadores y Sistema Operativo

En este modelo hay n secuencias de datos, una por procesador, así que diferentes
datos pueden ser utilizados en cada procesador. Los procesadores operan
sincronizadamente y hay un reloj global que se utiliza para asegurar esta
operación. Es decir, en cada paso todos lo procesadores ejecutan la misma
instrucción, cada uno en diferente dato.
La operación con matrices se puede realizar con este sistema.
Ejemplo: Sumando dos matrices A + B = C.
Siendo A y B de orden 2 y con 4 procesadores:

A+B=C
A11 + B11 = C11 A12 + B12 = C12
A21 + B21 = C21 A22 + B22 = C22

La misma instrucción es ejecutada en los 4 procesadores. La suma de las dos


matrices se realiza en un ciclo, mientras que en los sistemas secuenciales tardaría
cuatro.

152
6.1 Taxonomía de Flynn

9 SIMD con CPU Particionada


La CPU se diseña como un conjunto de
unidades funcionales independientes que
ejecutan simultáneamente varias operaciones
aritmético/lógicas.
La CPU contiene un único procesador con
instrucciones que procesa un único flujo de
estas liberando cada instante una.

Arquitectura de Computadores y Sistema Operativo

Existen dos alternativas distintas que aparecen después de realizarse


esta clasificación:
1. Arquitectura Vectorial con segmentación: Una CPU única particionada en
unidades funcionales independientes trabajando sobre flujos de datos
concretos
2. Arquitectura Matricial (matriz de procesadores): Varias ALUs idénticas a
las que el procesador de instrucciones asigna una única instrucción pero
trabajando sobre diferentes partes del programa.

153
6.1 Taxonomía de Flynn

9 SIMD con CPU Particionada


Debido a que las unidades funcionales operan
independientemente, es posible liberar nuevas
instrucciones antes de que finalice la ejecución
de las instrucciones previas.
- CRAY monoprocesador
- IBM 390 VF
- IBM 9000 VF
-CONVEX C-1

Arquitectura de Computadores y Sistema Operativo

•Debido a que las unidades funcionales operan independientemente, es posible


liberar nuevas instrucciones antes de que finalice la ejecución de las instrucciones
previas.
Ejemplos de este tipo de sistemas los encontramos en los computadores CRAY
monoprocesador, CYBER 205, FUJITSU, HITACHE, NEC SUPERCOMPUTERS,
IBM 390 VF, IBM 9000 VF, ALLIANT FX/1 Y CONVEX C-1.

154
6.1 Taxonomía de Flynn

9 SIMD con Múltiples ALUs


Sistemas que trabajan ejecutando o ignorando
una misma instrucción para todas las ALUs.
Existe un único procesador que maneja el flujo
de instrucciones del programa y que transfiere
todas las instrucciones a las diferentes
unidades aritmético/lógicas.
Cada ALU opera en un segmento diferente de
datos del programa.

Arquitectura de Computadores y Sistema Operativo

SIMD CON MULTIPLES ALUS


•Estos sistemas trabajan en modo lock step, ejecutando o ignorando una misma instrucción para
todas las ALUs.
•Existe un único procesador que maneja el flujo de instrucciones del programa y que transfiere todas
las instrucciones a las diferentes unidades aritmético/lógicas.
•Cada ALU opera sobre un segmento diferente de datos del programa.
•Ejemplo de funcionamiento del sistema con el siguiente bucle:
•DO 2000 I=1,N
•A(I) = B(I) + C(I)
•2000 CONTINUE
•El procesador asigna a cada ALU la operación de suma de B(I) con C(I) y siendo el
almacenamiento del resultado en A(I) pero pasando a cada ALU un valor diferente de I.
•En el caso de que haya menos ALUs que iteraciones del bucle, el procesador ordenará la ejecución
hasta que estén procesados todos los valores de I.
•En el caso de que haya más ALUs que iteraciones, existirá un número de estas que no estén
operativas durante la ejecución de las instrucciones del bucle. Una ALU inactiva o en OFF significa
que:
•La ALU recibe instrucciones pero las ignora
•La ALU ejecuta cálculos pero no almacena ningún resultado.

155
6.1 Taxonomía de Flynn

9 MISD (Multiple Instruction stream, Single


Data stream)
Sistemas con múltiples instrucciones y que
operan sobre un único flujo de datos.
Hay n unidades de proceso, cada cual con su
propia unidad de control y sus propias
instrucciones, operando simultáneamente sobre
el mismo flujo de datos.

Arquitectura de Computadores y Sistema Operativo

MISD (Multiple Instruction stream, Single Data stream)


Son sistemas con múltiples instrucciones que operan sobre un único flujo de datos.
Este tipo de sistemas no ha tenido implementación hasta hace poco tiempo.
Hay n unidades de proceso cada cual con su propia unidad de control y sus propias
instrucciones, pero operando simultáneamente sobre el mismo flujo de datos. De
esta forma la salida de un procesador pasa a ser la entrada (operandos) del
siguiente en el macrocauce de los datos.
Los sistemas MISD se contemplan de dos maneras distintas:
Varias instrucciones operando simultáneamente sobre un único dato.

156
6.1 Taxonomía de Flynn

9 MISD (Multiple Instruction stream, Single


Data stream)
Varias instrucciones operando sobre un dato
que se va convirtiendo en un resultado que
será la entrada para la siguiente etapa.
Se trabaja de forma segmentada.
-Arrays sistólicos o arrays de`procesadores

Arquitectura de Computadores y Sistema Operativo

•Varias instrucciones operando sobre un dato que se va convirtiendo en un


resultado que será la entrada para la siguiente etapa.
•Se trabaja de forma segmentada, todas las unidades de proceso pueden trabajar
de forma concurrente.

Ejemplos de estos tipos de sistemas son los arrays sistólicos o arrays de


procesadores. También podemos encontrar aplicaciones de redes neuronales en
máquinas masivamente paralelas.

157
6.1 Taxonomía de Flynn

Flujo de Flujo de
Instrucciones 1 Unidad de Instrucciones 1 Unidad de
Memoria 1 Control 1 Proceso 1
Flujo de
Datos
Flujo de Flujo de
Instrucciones 2 Unidad de Instrucciones 2 Unidad de
Memoria 2
Control 2 Proceso 2
Flujo de
Datos
Flujo de Flujo de
Memoria n Instrucciones n Instrucciones n
Unidad de Unidad de
Control n Proceso n

Flujo de Datos

Arquitectura de los computadores MISD.

Arquitectura de Computadores y Sistema Operativo

MISD (Multiple Instrucion Single Data).


En este modelo, secuencias de instrucciones pasan a través de múltiples
procesadores.
Diferentes operaciones son realizadas en diversos procesadores.
N procesadores, cada uno con su propia unidad de control comparten una memoria
común.

La figura muestra N secuencias de instrucciones (algoritmos/programas) y una


secuencia de datos. El paralelismo es alcanzado dejando que los procesadores
realicen diferentes cosas al mismo tiempo en el mismo dato.
• Las máquinas MISD son útiles en cómputos donde la misma entrada está sujeta
a diferentes operaciones.

158
6.1 Taxonomía de Flynn

9 MIMD (Multiple Instruction stream, Multiple


Data stream)
Sistema con un flujo de múltiples instrucciones
que operan sobre múltiples datos.
Existe una agrupación de monoprocesadores
convencionales, cada uno con su unidad de
control, su unidad de proceso y su memoria
local.
Permiten ejecutar varios procesos
simultáneamente (sistema multiprocesador), es
asíncrono.
-Máquinas paralelas actuales
Arquitectura de Computadores y Sistema Operativo

MIMD (Multiple Instruction stream, Multiple Data stream)


•Sistemas con un flujo de múltiples instrucciones que operan sobre múltiples datos. Estos sistemas empezaron a
utilizarse a principios de los 80. Se trata de una agrupación de monoprocesadores convencionales, cada uno
con su unidad de control, su unidad de proceso y su memoria local. Cada uno dispone de su propio flujo de
instrucciones y de datos. Trabajan en paralelo y de forma asíncrona, y están comunicados entre ellos igual que
los SIMD.
Los procesadores pueden ejecutar la misma instrucción o diferentes instrucciones. Se puede decir
que MIMD es un super conjunto de SIMD. Este tipo de computadora es paralela al igual que las
SIMD, la diferencia con estos sistemas es que MIMD es asíncrono. No tiene un reloj central.
Cada procesador MIMD corre casi independientemente de los otros.
Las computadoras MIMD pueden ser utilizadas en aplicaciones con información en paralelo o con
tareas en paralelo. Ejemplos SGI/Cray Power Challenge Array, SGI/Cray Origin-2000, HP/Convex
SPP-2000.

159
6.1 Taxonomía de Flynn

Flujo de Flujo de
Instrucciones 1 Instrucciones 1 Unidad de
Unidad de
Memoria 1 Flujo de Control 1 Proceso 1
Datos 1

Flujo de Flujo de

Memoria 2
Instrucciones 2 Unidad de Instrucciones 2 Unidad de
Control 2 Proceso 2
Flujo de
Datos 2

Flujo de Flujo de
Instrucciones n
Unidad de Instrucciones n Unidad de
Memoria n Flujo de Control n Proceso n
Datos n

Arquitectura de los computadores MIMD.

Arquitectura de Computadores y Sistema Operativo

Como se puede ver en la figura cada procesador en un sistema MIMD puede


ejecutar su propia secuencia de instrucciones y tener sus propios datos. Esta
característica es la más general y poderosa de esta clasificación.
Se tienen N procesadores, N secuencias de instrucciones y N secuencias de datos.
Cada procesador opera bajo el control de una secuencia de instrucciones,
ejecutada por su propia unidad de control, es decir cada procesador es capaz de
ejecutar su propio programa con diferentes datos. Esto significa que los
procesadores operan asíncronamente, o en términos simples, los procesadores
pueden estar haciendo diferentes cosas en diferentes datos al mismo tiempo.
Los sistemas MIMD se clasifican en:
•Sistemas de Memoria Compartida.
•Sistemas de Memoria Distribuida.
•Sistemas de Memoria Compartida Distribuida.

160
6.1 Taxonomía de Flynn
9 Modelo MIMD con Memoria Compartida
Desventajas

El acceso simultáneo a memoria es un


problema.
Poca escalabilidad de procesadores.
Todos los CPUs tienen un camino libre a la
memoria.

Ventajas

Fácil programación.

Arquitectura de Computadores y Sistema Operativo

Desventajas:
•El acceso simultáneo a memoria es un problema.
•Poca escabilidad de procesadores, debido a que se puede generar un cuello de
botella al incrementar el numero de CPU's.
•Todos los CPUs tienen un camino libre a la memoria. No hay interferencia entre
CPUs. La razón principal por el alto precio de Cray es la memoria.
Ventaja:
•La facilidad de la programación. Es mucho más fácil programar en estos sistemas
que en sistemas de memoria.
Las computadoras MIMD con memoria compartida son sistemas conocidos como
de multiprocesamiento simétrico (SMP) donde múltiples procesadores comparten
un mismo sistema operativo y memoria. Otro término con que se le conoce es
máquinas firmemente juntas o de multiprocesadores.

161
6.1 Taxonomía de Flynn

Memoria Compartida

Red

Procesador 1 Procesador 2 Procesador n

Modelo MIMD con Memoria Compartida.

Arquitectura de Computadores y Sistema Operativo

Sistemas MIMD de Memoria Compartida.


En este tipo de sistemas cada procesador tiene acceso a toda la memoria, es decir hay un espacio
de direccionamiento compartido. Se tienen tiempos de acceso a memoria uniformes ya que todos los
procesadores se encuentran igualmente comunicados con la memoria principal y las lecturas y
escrituras de todos los procesadores tienen exactamente las mismas latencias; y además el acceso
a memoria es por medio de un ducto común. En esta configuración, debe asegurarse que los
procesadores no tengan acceso simultáneamente a regiones de memoria de una manera en la que
pueda ocurrir algún error.

162
6.1 Taxonomía de Flynn
9 Modelo MIMD con Memoria Distribuida
Desventajas
El acceso remoto a memoria es lento.
La programación puede ser complicada.

Ventajas
Escalabilidad. Mientras que la demanda de los
recursos crece, se puede agregar más memoria
y procesadores.

Arquitectura de Computadores y Sistema Operativo

Desventajas:
•El acceso remoto a memoria es lento.
•La programación puede ser complicada.
Las computadoras MIMD de memoria distribuida son conocidas como sistemas de
procesamiento en paralelo masivo (MPP) donde múltiples procesadores trabajan en
diferentes partes de un programa, usando su propio
Ventajas:
•La escalabilidad. Las computadoras con sistemas de memoria distribuida son
fáciles de escalar, mientras que la demanda de los recursos crece, se puede
agregar más memoria y procesadores.

163
6.1 Taxonomía de Flynn

Memoria 1 Memoria 2 Memoria n

Procesador 1 Procesador 2 Procesador n

Red

Modelo MIMD con Memoria Distribuida.

Arquitectura de Computadores y Sistema Operativo

Sistemas MIMD de Memoria Distribuida.


• Estos sistemas tienen su propia memoria local. Los procesadores pueden
compartir información solamente enviando mensajes, es decir, si un procesador
requiere los datos contenidos en la memoria de otro procesador, deberá enviar un
mensaje solicitándolos. Esta comunicación se le conoce como Paso de Mensajes.

164
6.1 Taxonomía de Flynn
9 Modelo MIMD con Memoria Compartida
Distribuida
Ventajas
Escalabilidad como en los sistemas de memoria
distribuida.
Fácil de programar.
No existe el cuello de botella.

Arquitectura de Computadores y Sistema Operativo

Ventajas:
•Presenta escalabilidad como en los sistemas de memoria distribuida.
•Es fácil de programar como en los sistemas de memoria compartida.
•No existe el cuello de botella que se puede dar en máquinas de sólo memoria
compartida.

165
6.1 Taxonomía de Flynn

Memoria 1 Memoria 2 Memoria n

Red

Procesador Procesador Procesador


1 2 n

Modelo MIMD con Memoria Compartida Distribuida.

Arquitectura de Computadores y Sistema Operativo

Sistemas MIMD de Memoria Compartida Distribuida


Es un cluster o una partición de procesadores que tienen acceso a una memoria
compartida común pero sin un canal compartido. Esto es, físicamente cada
procesador posee su memoria local y se interconecta con otros procesadores por
medio de un dispositivo de alta velocidad, y todos ven las memorias de cada uno
como un espacio de direcciones globales. El acceso a la memoria de diferentes
clusters se realiza bajo el esquema de Acceso a Memoria No Uniforme (NUMA), la
cual toma menos tiempo en accesar a la memoria local de un procesador que
accesar a memoria remota de otro procesador.

166
6.1 Taxonomía de Flynn
9 MIMD (Multiple Instruction stream, Multiple
Data stream)
Cuando las unidades de proceso reciben datos
de una memoria no compartida estos sistemas
reciben el nombre de Multiple SISD (MSISD).
En arquitecturas con varias unidades de control
(MISD y MIMD), existe otro nivel superior con
una unidad de control que controla todas las
unidades de control del sistema.
-SGI/Cray Power Challenge Array,
-SGI/Cray Origin-2000
-HP/Convex SPP-2000
Arquitectura de Computadores y Sistema Operativo

.
•Cuando las unidades de proceso reciben datos de una memoria no
compartida estos sistemas reciben el nombre de MULTIPLE SISD (MSISD).
•En arquitecturas con varias unidades de control (MISD Y MIMD), existe otro
nivel superior con una unidad de control que se encarga de controlar todas
las unidades de control del sistema.
•Ejemplo de estos sistemas son las máquinas paralelas actuales.
•Categorías de Ordenadores Paralelos.
•Clasificación moderna que hace alusión única y exclusivamente a los
sistemas que tienen más de un procesador (i.e máquinas paralelas).
•Existen dos tipos de sistemas teniendo en cuenta su acoplamiento. Los
sistemas fuertemente acoplados son aquellos en los que los procesadores
dependen unos de otros. Los sistemas débilmente acoplados son aquellos
en los que existe poca interacción entre los diferentes procesadores que
forman el sistema.
•Atendiendo a esta y a otras características, la clasificación moderna divide a
los sistemas en dos tipos: Sistemas multiprocesador (fuertemente
acoplados) y sistemas multicomputador (débilmente acoplados).

167
6.2 Multiprocesadores

Un multiprocesador puede verse como un computador


paralelo compuesto por varios procesadores
interconectados que comparten un mismo sistema de
memoria.

Arquitectura de Computadores y Sistema Operativo

MULTIPROCESADORES
•Un multiprocesador puede verse como un computador paralelo compuesto por varios procesadores
interconectados que comparten un mismo sistema de memoria.
•Los sistemas multiprocesadores son arquitecturas MIMD con memoria compartida. Tienen un único
espacio de direcciones para todos los procesadores y los mecanismos de comunicación se basan en
el paso de mensajes desde el punto de vista del programador.
•Dado que los multiprocesadores comparten diferentes módulos de memoria, pudiendo acceder a un
mismo módulo varios procesadores, a los multiprocesadores también se les llama sistemas de
memoria compartida.
Multiprocesadores y Multicomputadores
•Existen similitudes entre los sistemas multiprocesadores y multicomputadores debido a que ambos
fueron pensados con un mismo objetivo: dar soporte a operaciones concurrentes en el sistema. Sin
embargo, existen diferencias importantes basadas en el alcance de los recursos compartidos y la
cooperación en la solución de un problema.
•Un sistema multicomputador consiste de diversas computadoras autónomas que pueden o no
comunicarse entre sí.
•Un sistema multiprocesador está controlado por un sistema operativo que provee la interacción
entre los procesadores y sus programas a nivel de dato, proceso y archivo.

168
6.2 Multiprocesadores

Multiprocesador Débilmente Acoplado.


Arquitectura de Computadores y Sistema Operativo

Los sistemas multiprocesador pueden clasificarse en


Agrupación o multiprocesador débilmente acoplado o distribuido: consiste en una colección de
sistemas relativamente autónomos, cada procesador tiene su propia memoria principal y canales de
E/S.
Procesadores funcionalmente especializados: en este caso hay un procesador principal de
propósitos generales y procesadores especializados que son controlados por el procesador
principal y le proveen servicios a él. Un ejemplo es el procesador de E/S.
Multiprocesamiento fuertemente acoplado: consiste en un grupo de procesadores que
comparten una memoria principal en común y están bajo el control integrado de un sistema
operativo.

169
6.2 Multiprocesadores

Multiprocesador Fuertemente Acoplado.


Arquitectura de Computadores y Sistema Operativo

170
6.2 Multiprocesadores
• Clasificación de los Multiprocesadores
9 Por la Forma de Compartir la Memoria

Sistemas
Multiprocesador

NUMA UMA

COMA

Arquitectura de Computadores y Sistema Operativo

.
Dependiendo de la forma en que los procesadores comparten la memoria, se clasifican en
sistemas multiprocesador:
•UMA (Uniform memory access) Acceso uniforme a memoria: Todos los procesadores
pueden acceder a toda la memoria principal utilizando instrucciones de carga y
almacenamiento. El tiempo de acceso de un procesador a cualquier región de la memoria
es el mismo. El tiempo de acceso a memoria por parte de todos los procesadores es el
mismo
•NUMA (Nonuniform memory access) Acceso no uniforme a memoria: Todos los
procesadores tienen acceso a todas las partes de memoria principal utilizando
instrucciones de carga y almacenamiento. El tiempo de acceso a memoria de un
procesador depende de la región a la que se acceda. La última frase es cierta para todos
los procesadores; no obstante, para procesadores distintos, las regiones de memoria que
son más lentas o más rápidas son diferentes.

•COMA (Cache only memory access) Acceso sólo a memoria caché: Estos modelos
utilizan sólo memorias caché. Son un caso particular de la NUMA en el cual la memoria
distribuida se convierte en memorias caché. No existen jerarquías de memoria en cada
nodo procesador. Todas las caches forman un espacio de direccionamiento global. El
acceso a una caché remota se facilita a través de los directorios distribuidos de caché los
cuales en ciertas arquitecturas pueden estructurarse en forma jerárquica.

171
6.2 Multiprocesadores

Sistemas UMA
NUMA Multiprocesador

COMA

• Son un caso especial de los sistemas NUMA.


• No ha tenido mucha transcendencia, al igual que los
sistemas SIMD.
• Las memorias distribuidas son memorias cachés, por
esto es un sistema muy restringido en cuanto a la
capacidad de memoria global.
• No hay jerarquía de memoria en cada módulo
procesador. Todas las cachés forman un mismo
espacio global de direcciones.
Arquitectura de Computadores y Sistema Operativo

COMA (Cache Only Memory Access)


•Los sistemas COMA son un caso especial de los sistemas NUMA. Este tipo de sistemas
no ha tenido mucha transcendencia, al igual que los sistemas SIMD.
•Las memorias distribuidas son memorias cachés, por este motivo es un sistema muy
restringido en cuanto a la capacidad de memoria global. No hay jerarquía de memoria en
cada módulo procesador. Todas las cachés forman un mismo espacio global de
direcciones. El acceso a las cachés remotas se realiza a través de los directorios
distribuidos de las cachés.
•Dependiendo de la red de interconexión utilizada, se pueden utilizar jerarquías en los
directorios para ayudar a la localización de copias de bloques de caché.
•Multicomputadores
•Los sistemas multicomputadores se pueden ver como un computador paralelo en el cual
cada procesador tiene su propia memoria local. En estos sistemas la memoria se
encuentra distribuida y no compartida como en los sistemas multiprocesador. Los
computadores se comunican a través de paso de mensajes, ya que éstos sólo tienen
acceso directo a su memoria local y no a las memorias del resto de procesadores.
•El diagrama de bloques de un sistema multicomputador coincide con el visto para los
sistemas UMA, la diferencia viene dada porque la red de interconexión no permite un
acceso directo entre memorias, sino que la comunicación se realiza por paso de mensajes.
•La transferencia de los datos se realiza a través de la red de interconexión que conecta un
subconjunto de procesadores con otro subconjunto. La transferencia de unos
procesadores a otros se realiza por tanto por múltiples transferencias entre procesadores
conectados dependiendo del establecimiento de dicha red.
•Dado que la memoria está distribuida entre los diferentes elementos de proceso, estos
sistemas reciben el nombre de distribuidos.
•Por otra parte, estos sistemas son débilmente acoplados, ya que los módulos funcionan
de forma casi independiente unos de otros.
172
6.2 Multiprocesadores

Sistemas
Multiprocesador

UMA

COMA
NUMA
• Son sistemas de memoria compartida.
• El tiempo de acceso varía según donde se encuentre
localizado el acceso.
• El acceso a memoria no es uniforme para diferentes
procesadores.
• Existen memorias locales asociadas a cada
procesador y estos pueden acceder a datos de su
memoria local de una manera más rápida que a las
memorias de otros procesadores.
Arquitectura de Computadores y Sistema Operativo

NUMA (Non Uniform Memory Access)


•Un sistema multiprocesador NUMA es un sistema de memoria compartida donde el
tiempo de acceso varía según donde se encuentre localizado el acceso.
•El acceso a memoria, por tanto, no es uniforme para diferentes procesadores. Existen
memorias locales asociadas a cada procesador y estos pueden acceder a datos de su
memoria local de una manera más rápida que a las memorias de otros procesadores,
debido a que primero debe aceptarse dicho acceso por el procesador del que depende el
módulo de memoria local.
•Todas las memorias locales conforman la memoria global compartida y físicamente
distribuida y accesible por todos los procesadores.
•Cluster Jerárquico
•Otro modelo NUMA que nace como la mezcla del modelo UMA explicado anteriormente y
el modelo NUMA anterior, es el cluster jerárquico en el que se combinan las memorias
locales y las globales obteniendo una cierta escalabilidad del sistema.
•Los procesadores aparecen distribuidos en clusters (1 sistema UMA o un 1 sistema
NUMA). Estos clusters están conectados a la memoria global compartida. El sistema en su
totalidad es un sistema NUMA, ya que el acceso a memoria es no uniforme por parte de
los clusters.
•La ventaja de estos sistemas con respecto a los sistemas UMA, es que el acceso a
memoria local es mucho más rápido.

173
6.2 Multiprocesadores

Sistemas
Multiprocesador

NUMA

COMA

UMA

• Sistema multiprocesador con acceso uniforme a


memoria.
• La memoria física es uniformemente compartida por
todos los procesadores.
• Cada procesador tiene su propia caché privada y
también se comparten los periféricos.

Arquitectura de Computadores y Sistema Operativo

UMA (Uniform Memory Access)


•Sistema multiprocesador con acceso uniforme a memoria. La memoria física es uniformemente compartida
por todos los procesadores, esto quiere decir que todos los procesadores tienen el mismo tiempo de acceso a
todas las palabras de la memoria. Cada procesador tiene su propia caché privada y también se comparten los
periféricos.
•Los multiprocesadores son sistemas fuertemente acoplados (tightly-coupled), dado el alto grado de
compartición de los recursos (hardware o software) y el alto nivel de interacción entre procesadores, lo que
hace que un procesador dependa de lo que hace otro.
•El sistema de interconexión debe ser rápido y puede ser de uno de los siguientes tipos:
•Bus común
•Red crossbar
•Red multietapa
•Este modelo es conveniente para aplicaciones de propósito general y de tiempo compartido por varios
usuarios.
•Existen varias categorías de sistemas UMA.
•Sistema Simétrico
•Cuando todos los procesadores tienen el mismo tiempo de acceso a todos los componentes del sistema
(incluidos los periféricos), reciben el nombre de sistemas multiprocesador simétrico.
•Los procesadores tienen el mismo dominio (prioridad) sobre los periféricos y cada procesador tienen la misma
capacidad para procesar.
•Sistema Asimétrico
•Los sistemas multiprocesador asimétrico, son sistemas con procesadores maestros y procesadores esclavos,
en donde sólo los primeros pueden ejecutar aplicaciones y dónde en tiempo de acceso para diferentes
procesadores no es el mismo. Los procesadores esclavos (attached) ejecutan código usuario bajo la
supervisión del maestro, por lo tanto cuando una aplicación es ejecutada en un procesador maestro dispondrá
de una cierta prioridad.

174

También podría gustarte