46
UNIDAD 1 Arquitectura de Computadoras

Arquitectura de computadoras: Introducción

Embed Size (px)

Citation preview

Page 1: Arquitectura de computadoras: Introducción

UNIDAD

1

Arquitectura de Computadoras

Page 2: Arquitectura de computadoras: Introducción

Electrónica 2

ORIENTACIÓN DEL APRENDIZAJE

En este capítulo veremos algunos de los muchos modos en que las computadoras nos ayudan a conformar nuestra vida diaria. Usted aprenderá de qué manera las computadoras han cambiado la forma en que funcionan algunos negocios e incluso industrias enteras. También daremos un vistazo al interior de las computadoras para que usted vea y comprenda qué las hace funcionar. Además, descubrirá qué son los datos, cómo difieren de la información y qué forma toman en la computadora. Luego, explorará los dos componentes de procesamiento: CPU (Central Processing Unit) y la memoria. Por último, verá los microprocesadores hechos por los mayores fabricantes de chips.

Los contenidos que trataremos son:Arquitectura de computadoras, clasificación de las computadoras, la motherboard, el microprocesador, los buses, la memoria, las ranuras de expansión y parámetros para evaluar el rendimiento de una pc.

Al finalizar esta unidad usted estará en condiciones de alcanzar los siguientes objetivos: Conocer cuáles son las cuatro partes de un sistema de cómputo e identificar cuatro clases

de hardware de computadora. Distinguir cuáles son las categorías principales de software y explicar el propósito de cada

una. Descubrir cuáles los tipos más comunes de computadoras disponibles en la actualidad y

podrá describir que clase de trabajo hace mejor cada una. Identificar la principal diferencia entre datos e información. Nombrar dos razones por las cuáles las computadoras usan el sistema de numeración

binario. Explicar cómo trabajan juntas las dos partes principales de la CPU para procesar datos. Enumerar tres características del hardware que afectan la velocidad de procesamiento. Distinguir las dos familias más conocidas de CPU y enumerar sus diferencias.

Comience ahora el estudio de la unidad acompañado de esta guía, teniendo en cuenta las sugerencias dadas en esta breve introducción y no se olvide de leer la bibliografía recomendada.

Bibliografía - Norton, Peter. Introducción a la computación. McGraw Hill. México1999.- PC User. La Biblia del Hardware vol. I y II. MP Ediciones. Bs. As.2000.

Este texto trata en profundidad los elementos de Hardware de la PC.

HILLAR, G. ESTRUCTURA INTERNA DE LA PC. ED. HASA. BS. AS. 2001.

El texto aborda con profundidad la arquitectura de la pc.

Versión Preliminar 2

Page 3: Arquitectura de computadoras: Introducción

Electrónica 2

ESQUEMA CONCEPTUALObserve este esquema, lo ayuda a entender la relación entre los contenidos principales a tratar en esta unidad. Vea cómo se refleja la transformación de los datos en un producto final que nos facilita nuestras tareas diarias.

Versión Preliminar 3

COMPUTADORA

HARDWARE

SOFTWARE

CPU

MEMORIA

E / S

DISCOS

S.O.

APLICACIONES

SUPER

COMPUTADORA

MAINFRAME MINI

COMPUTADORA

MICRO

COMPUTADORA

DATOS

Page 4: Arquitectura de computadoras: Introducción

Electrónica 2

ORIENTACIÓN DEL APRENDIZAJE

En este capítulo veremos algunos de los muchos modos en que las computadoras nos ayudan a conformar nuestra vida diaria. Usted aprenderá de qué manera las computadoras han cambiado la forma en que funcionan algunos negocios e incluso industrias enteras. También daremos un vistazo al interior de las computadoras para que usted vea y comprenda qué las hace funcionar. Además, descubrirá qué son los datos, cómo difieren de la información y qué forma toman en la computadora. Luego, explorará los dos componentes de procesamiento: CPU (Central Processing Unit) y la memoria. Por último, verá los microprocesadores hechos por los mayores fabricantes de chips.

Al finalizar esta unidad usted estará en condiciones de alcanzar los siguientes objetivos: Enumerar al menos cinco profesiones en las cuales las computadoras son usadas en forma

rutinaria, así como describir al menos una de las formas en que las computadoras han afectado el trabajo de la gente en esas profesiones.

Conocer cuáles son las cuatro partes de un sistema de cómputo e identificar cuatro clases de hardware de computadora.

Distinguir cuáles son las dos categorías principales de software y explicar el propósito de cada una.

Descubrir cuáles los cuatro tipos más comunes de computadoras disponibles en la actualidad y podrá describir que clase de trabajo hace mejor cada una.

Identificar la principal diferencia entre datos e información. Nombrar dos razones por las cuáles las computadoras usan el sistema de numeración

binario. Explicar cómo trabajan juntas las dos partes principales de la CPU para procesar datos. Enumerar tres características del hardware que afectan la velocidad de procesamiento. Distinguir las dos familias más conocidas de CPU y enumerar sus diferencias.

Comience ahora el estudio de la unidad acompañado de esta guía, teniendo en cuenta las sugerencias dadas en esta breve introducción y no se olvide de leer la bibliografía recomendada.

Bibliografía - Norton, Peter. Introducción a la computación. McGraw Hill. México1999.- PC User. La Biblia del Hardware vol. I y II. MP Ediciones. Bs. As.2000.

Este texto trata en profundidad los elementos de Hardware de la PC.

HILLAR, G. ESTRUCTURA INTERNA DE LA PC. ED. HASA. BS. AS. 2001.

El texto aborda con profundidad la arquitectura de la pc.

Versión Preliminar 4

UNIDAD

1

Page 5: Arquitectura de computadoras: Introducción

Electrónica 2

BIBLIOGRAFÍA

Estructura Interna de la PC. Gastón Hillar. Ed. Hasa. 2004 -Caps. 1, 2, 3, 4, 5, 15 y 19)

Arquitectura de Microprocesadores. Usategui, Temiño y Martínez. Ed. Thoson. 2003. -Caps. 1 y 2)

Introducción a la Computación. Peter Norton. 2000. -Caps. 1 y 2)

Trabajos Prácticos presentados por Alumnos del IUA.

Guías de Estudio Anteriores. IUA.

ANEXOS (AULA VIRTUAL)

Anexo 1 - ‘Módulos de Memoria’

Anexo 2 - ‘Otras arquitecturas de PCs’

Versión Preliminar 5

Page 6: Arquitectura de computadoras: Introducción

Electrónica 2

UNIDAD 1 – ARQUITECTURA DE COMPUTADORAS

1. INTRODUCCIÓN

El uso de computadoras está muy extendido en casi todas las actividades humanas ya que proporcionan

mayor rapidez y seguridad, así como la posibilidad de manejar gran cantidad de datos. La extraordinaria

capacidad de cálculo, el elevado rendimiento en el procesamiento de datos, la generación de información e

incluso la simulación de procesos, convierten a las computadoras en herramientas indispensables.

Las computadoras se usan ampliamente en actividades que requieren el manejo de gran cantidad de datos

a una elevada velocidad como, por ejemplo, en diagnósticos médicos, investigaciones nucleares y de

energía, Inteligencia Artificial, etc. Es indispensable la construcción de mejores computadoras que logren

avances sustanciales y continuos en su rendimiento.

El concepto de «arquitectura de una computadora» se refiere a la integración de su estructura física con su

estructura lógica. Se utiliza el término «arquitectura» para enfatizar la síntesis de elementos de ingeniería y

ciencias exactas con elementos estéticos y de funcionalidad práctica.

La «arquitectura de computadoras» abarca las siguientes funciones:

• Definición de las necesidades que pretende cubrir la computadora.

• Planificación general de la computadora.

• Diseño de la computadora y sus componentes.

• Análisis del sistema obtenido.

• Especificación del sistema: características del sistema, de sus componentes y de las instrucciones

ejecutables.

Para lograr un aumento en el rendimiento se necesita mejorar la «arquitectura» de las computadoras y

desarrollar nuevas técnicas de procesamiento; es por ello que para poder obtener un buen rendimiento de

la máquina se deberá tener un gran conocimiento del equipo físico y del sistema lógico. Este rendimiento

depende principalmente de los siguientes factores:

• Arquitectura de la máquina.

• Tecnología de fabricación.

• Sistema operativo.

• Lenguaje de programación y compilador.

Cada una de estas áreas dependerá de sí misma y de las siguientes, por lo que hay una gran incidencia en

el buen desarrollo de unas sobre las otras. Para obtener el máximo provecho de la computadora, tan

importante es conocer su estructura lógica como la física. Sólo de esta manera se obtendrán las máximas

prestaciones de la estructura física aprovechando los recursos de la lógica.

Versión Preliminar 6

Page 7: Arquitectura de computadoras: Introducción

Electrónica 2

Clasificación de las computadoras

Existen diversos métodos de clasificación de las computadoras según la tecnología de su fabricación, de

las aplicaciones y de otras diversas circunstancias, etc.

• Clasificación según su funcionamiento: Digital, Analógica, Híbrida.

• Clasificación según la finalidad: De propósito General y de propósito especial

• Clasificación comercial: Las computadoras, de acuerdo con su tamaño, coste, complejidad,

potencia y necesidad de mantenimiento, se clasifican en: Supercomputadores o

Maxicomputadores, Mainframes o Macrocomputadores, Minicomputadores y Microcomputadoras.

Puede profundizar cada clasificación en la bibliografía ‘Arquitectura de Microprocesadores – Los Pentium a

Fondo’ Ed. Thompson.

Como conclusión se puede decir que el avance de la tecnología se introdujo inicialmente en los

supercomputadores, incrementándose así su rendimiento en relación con los demás tipos. Pero, a medida

que ha pasado el tiempo, las computadoras de las gamas más bajas han incrementado notablemente su

rendimiento al absorber inmediatamente todos los progresos.

Esquema General

El siguiente diagrama describe en forma elemental la arquitectura de una microcomputadora -familia de

computadoras personales PC, compatibles en sus inicios con las computadoras IBM PC-, cuya unidad

central de procesos esta gobernada por un circuito integrado denominado microprocesador.

• La placa base -o motherboard-. Es una placa donde se ubican los principales componentes de

una computadora: microprocesador, memoria, buses, circuitos para entradas/salidas, y otros

circuitos fundamentales para el funcionamiento de la PC. Fue diseñada de tal forma que las placas

Versión Preliminar 7

Page 8: Arquitectura de computadoras: Introducción

Electrónica 2

que se conectan con el mundo exterior sean circuitos adicionales y no estén integradas con la

motherboard, es decir, que no se encuentren en la misma placa.

• El microprocesador o CPU -Central Processing Unit - Unidad Central de Procesamiento- se

encarga de tomar la información que recibe de diferentes fuentes, efectuar sobre la misma los

procesos necesarios, y enviar el resultado al destino preestablecido.

• El reloj : circuito que genera una señal periódica que se inyecta a un pin -terminal o pata del chip-

y que define la velocidad de trabajo del microprocesador. Todo chip tiene una velocidad máxima de

trabajo, por lo que el reloj deberá proporcionar una señal que no supere la máxima frecuencia que

acepta el microprocesador.

• La memoria: parte de la máquina donde residen los programas y datos que serán utilizados por el

microprocesador. Podemos pensar que dicha memoria está constituida por una gran cantidad de

"celdas" del mismo tamaño -cada celda permite almacenar 8 bits o sea un byte- en donde

solamente el microprocesador podrá grabar –almacenar- o leer bytes -con excepción de las tareas

de transferencia de datos manejadas por el controlador de DMA-. Estas celdas están físicamente

contenidas en pequeños chips, de tal manera que es posible agrupar una cierta cantidad de ellos

para formar un banco de memoria.

• La memoria cache: memoria muy rápida donde se sitúa el código y la información que el

microprocesador utilizó recientemente, y que puede llegar a requerir en las instrucciones

siguientes. El resto del código y de los datos están en la memoria principal que es mucho más

grande y menos rápida -y por lo tanto más económica-. De esa forma la velocidad de trabajo de la

memoria caché no limita la velocidad de trabajo del microprocesador, de lo contrario la memoria

"frenaría" al microprocesador. En el punto 5 “Memoria” se profundizará al respecto.

• Módulo de Entradas y salidas : sirve para adaptar las especificaciones eléctricas de los

periféricos a las características propias del microprocesador. De esta manera es posible que el

microprocesador, que solo puede grabar y leer códigos binarios de una manera muy rígida, genere

acciones compatibles con cualquier tipo de circuito externo, ya sea digital o analógico.

• El bus: está formado por un conjunto de conductores donde cada uno de ellos tiene un nombre

bien definido como así también las señales eléctricas que viajan por él. Este conjunto de

definiciones constituye una norma que se respeta por todos los fabricantes de hardware de

máquinas del mismo tipo. Podemos dividir al BUS en tres conjuntos de señales diferenciadas que

se denominan: bus de datos, bus de direcciones y bus de control.

En el desarrollo de la materia, se irá detallando cada uno de los elementos integrantes de esta arquitectura.

Otros componentes importantes que se encuadran en una computadora de tipo personal son:

• Controlador de interrupciones : circuito integrado que ayuda al microprocesador a manejar las

señales de interrupción que provienen de los circuitos externos a la CPU. Una interrupción es una

señal eléctrica originada por algún circuito, por ejemplo un periférico, que desea ser atendido por el

microprocesador. Si el microprocesador está realizando alguna tarea, al llegar esta señal la

interrumpe, ejecuta el código asociado a la interrupción, y luego retoma la tarea pendiente.

• Controlador de DMA: circuito integrado -chip- que controla el acceso directo a memoria.

Relaciona en forma directa, sin intervención de la CPU, el módulo de entradas y salidas con la Versión Preliminar 8

Page 9: Arquitectura de computadoras: Introducción

Electrónica 2

memoria de la máquina. De esta forma la transferencia de datos en bloques -gran cantidad de

datos uno a continuación del otro- se puede realizar a una mayor velocidad que si lo manejara el

microprocesador.

• El coprocesador : Los microprocesadores actuales incluyen el módulo del coprocesador; en

equipos anteriores a los modelos 486, es un chip separado donde se ejecutan tareas especificas,

principalmente relacionadas a cálculos matemático, realizadas mucho mas rápido que el

microprocesador: una única instrucción del coprocesador puede resolver lo que al microprocesador

le demandaría una subrutina especial.

Descargar una utilidad que permita conocer la información de su sistema -Aida32 o LavaSoft-, ejecutarlo e

identificar los componentes mencionados anteriormente.

2. LA PLACA BASE

Como se mencionó anteriormente, es una placa en donde se ubican los principales componentes de una

computadora, diseñada de tal forma que permite conectar, a través de ranuras de expansión, otros circuitos

adicionales de diferentes tipos –placas de red, módem, placas para edición de video/TV, etc., y no estén

integradas con la motherboard, es decir, que no se encuentren en la misma placa. La idea es que si se

quiere actualizar alguna placa, no deberemos cambiar la motherboard completa, sino que reemplazando

simplemente la placa de video, por ejemplo, se actualiza el sistema.

En el mercado hay una gran variedad de fabricantes de motherboards, los cuales, para un mismo

microprocesador, ofrecen diversas alternativas en función del uso y destino de la computadora donde se

Versión Preliminar 9

Page 10: Arquitectura de computadoras: Introducción

Electrónica 2

utilizará, incorporando –o excluyendo- diferentes componentes, o también brindando mayores capacidades

de ampliación, tanto de memoria como de dispositivos externos a través de ranuras de expansión.

Con los datos obtenidos de la utilidad de información del sistema utilizado anteriormente, ubicar en Internet

el sitio oficial de soporte técnico de la placa base de su equipo, para conocer en detalle sus características.

Con el detalle de características, ubicar una placa base de otra marca, para poder comparar rendimiento,

opciones de ampliación y otras características.

3. EL MICROPROCESADOR

El microprocesador es un chip, un tipo de componente electrónico en cuyo

interior existen miles -o millones- de elementos llamados transistores. Su núcleo,

la oblea de silicio, se encuentra encapsulada para darle consistencia e impedir su

deterioro como por ejemplo por oxidación con el aire, y permitir el enlace con los

conectores externos que lo acoplarán a su zócalo o a la placa base. Suelen tener

forma de cuadrado o rectángulo negro, y van o bien sobre un elemento llamado

zócalo -socket-, o soldados en la placa, o en un slot –como es el caso del

Pentium II y Pentium III, metidos dentro de una especie de cartucho que se

conecta a la placa base aunque el chip en sí está soldado en el interior de dicho

cartucho-.

La velocidad de un micro se mide en megahertzios -MHz- o gigahertzios -1 GHz = 1.000 MHz-, que es sólo

una medida de la fuerza bruta del micro Debido a la extrema dificultad de fabricar componentes

electrónicos que funcionen a las inmensas velocidades de MHz habituales hoy en día, todos los micros

modernos tienen 2 velocidades:

• Interna: la velocidad a la que funciona el micro internamente -200, 333, 450... MHz).

• Externa o del bus: o también "velocidad del FSB"; con la que se comunican el micro y la placa

base. Típicamente, 33, 60, 66, 100, 133, 266, 400 MHz, Etc.

Características y clasificaciones

Para analizar su funcionamiento, en el microprocesador se consideran los siguiente bloques o

componentes relevantes:

• Unidad de Control -CU – Control Unit)

• Unidad Aritmético Lógica -ALU- Arithmetic and Logic Unit).

• Unidad de Punto Flotante o coprocesador matemático -UPF - Floating Point Unit).

• La memoria caché -interna y externa-

• Los buses -internos y externos-

• Los registros.

Versión Preliminar 10

Page 11: Arquitectura de computadoras: Introducción

Electrónica 2

Los microprocesadores difieren unos de otros principalmente por alguna de las siguientes características,

las cuales influyen directamente en la velocidad de procesamiento:

• El tamaño de palabra -word size): es el ancho máximo de las instrucciones o datos que puede

interpretar en una única instrucción.

• La velocidad del reloj: interna, dentro del microprocesador, y externa, correspondiente al bus del

sistema o FSB -Front Side Bus).

• El juego de instrucciones que soporta.

• La arquitectura interna, también conocida como micro-arquitectura.

• La cantidad y organización de las unidades de ejecución.

• La cantidad y organización de canales o cañerías -pipelines- de instrucciones.

• Las capacidades y la eficiencia del procesamiento.

• Las instrucciones adicionales y específicas.

Se analizará a continuación el principio de funcionamiento de los microprocesadores, y dentro del mismo se

analizarán cada ítem mencionado anteriormente.

Principios básicos de funcionamiento

Para entender el principio de funcionamiento, es necesario conocer previamente los elementos

intervinientes en dicho proceso.

Registros

El microprocesador posee una cierta cantidad de pequeñas memorias temporales de rápido acceso,

conocidas como registros. En ellas almacenan algunos datos necesarios y otros fundamentales para

continuar procesando instrucciones sin perderse. El Pentium posee 32 registros en su arquitectura interna,

de los cuales la mitad son utilizados para la ejecución de aplicaciones. Algunos típicos son:

• EIP -puntero de instrucciones): contiene la dirección de la próxima instrucción a ejecutar.

• EAX -acumulador)

• EBX -base)

• ECX -contador)

• EDX -datos)

• ESP -puntero de pila)

Cómo se puede apreciar, se ha mantenido el mismo nombre que en el 8086 -16 bits: IP, AX, BX, CX, etc.-

pero anteponiendo la letra ‘E’ de extendido -32 bits).

Como los registros están dentro del microprocesador, éste puede acceder al contenido de ellos muchísimo

más rápido que si lo hiciera a la memoria principal. La cantidad de registros que tiene el microprocesador

depende exclusivamente de su diseño.

Versión Preliminar 11

Page 12: Arquitectura de computadoras: Introducción

Electrónica 2

Tamaño de palabra (word size)

Es el ancho máximo de una instrucción, o cualquier dato que pueda interpretar el microprocesador, y/o

transferir a sus módulos vecinos, en una sola operación. Es un conjunto de bits y por lo general

corresponde a una potencia de 2: 8; 16; 32; 64 bits y así sucesivamente; de aquí la denominación de

"microprocesador de x bits". A medida que fue aumentando el tamaño de palabra, los procesadores

tuvieron que agregar nuevos registros, que respetan el tamaño de palabra. Por ejemplo: un procesador de

32 bits posee el conjunto de registros de 16 bits para mantener la compatibilidad con sus predecesores y

agrega un nuevo conjunto de registros de 32 bits. Con la evolución de los procesadores, también se

sumaron registros específicos con mayor tamaño que el de palabra.

Coprocesador matemático

El coprocesador matemático, o más correctamente la FPU -Unidad de coma Flotante-, es la parte del micro

especializada en esa clase de cálculos matemáticos; como se mencionó al describir los componentes de un

computador, antiguamente estaba en el exterior del micro, en otro chip.

Juego de Instrucciones

Procesadores CISC

Los microprocesadores pertenecientes a la familia 80x86 –utilizados en la mayoría de los equipos PC

actuales- tienen la capacidad de manejar una gran cantidad de instrucciones de longitud variable y se

conocen como procesadores CISC -Complex Instruction Set Code - Código de conjuntos de instrucciones

complejas).

Procesadores RISC

Los procesadores RISC -Reduced Instruction Set Code - Código de conjuntos de instrucciones reducido-

tienen una cantidad de instrucciones menor que 100 y todas son de la misma longitud, o sea la misma

cantidad de bits. En esta filosofía de trabajo, el set de instrucciones y los compiladores están optimizados

para aprovechar al máximo las características particulares de cada microprocesador. Estos chips ejecutan

como mínimo una instrucción por cada pulso -clock- del reloj: cada instrucción está relacionada

directamente con un trabajo elemental del microprocesador y por lo tanto no necesita de un micro-código,

como sucede con los procesadores CISC.

Los RISC procesan las instrucciones mediante varias estaciones de trabajo o fases dentro del chip, que

pueden ejecutar al mismo tiempo y en forma independiente. De tal manera que mientras una de estas

estaciones procesa parte de una instrucción, las otras estaciones procesan partes de otras instrucciones.

En otras palabras, varias instrucciones se ejecutan al mismo tiempo tal como lo muestra la figura. Esto es

semejante a cómo se ensambla o fabrica un producto en una línea de producción. Vemos que cada

instrucción necesita pasar por las cuatro fases para completar su ejecución. Pero como lo muestra la figura

en un determinado momento la instrucción 1 esta en la fase 4, mientras la instrucción 2 esta en la fase 3 y

así sucesivamente. En una instancia posterior definida por el siguiente pulso de reloj, la instrucción 2 pasa

a la fase 4; la instrucción 3 pasa a la fase 3 y así sucesivamente.

Versión Preliminar 12

Page 13: Arquitectura de computadoras: Introducción

Electrónica 2

Instrucción 4 Instrucción 3 Instrucción 2 Instrucción 1

Instrucción 5 Instrucción 4 Instrucción 3 Instrucción 2

Instrucción 6 Instrucción 5 Instrucción 4 Instrucción 3

Instrucción 7 Instrucción 6 Instrucción 5 Instrucción 4

FASE 1 FASE 2 FASE 3 FASE 4

tiempo

Pulsos del reloj

Esto se conoce con el nombre de PIPELINING. Observamos en la figura, cómo se ejecuta una instrucción

por pulso de reloj como promedio, a pesar de que cada instrucción necesita cuatro ciclos o pulsos. Esto se

realiza en forma eficiente por la naturaleza simple y homogénea de las instrucciones. Sin embargo el

pipelining falla en los siguientes casos:

• Cuando una instrucción debe acceder a la memoria -instrucciones de carga y acumulación- por lo

tanto se produce una espera retardando su ejecución, y el resultado de este debe ser utilizado por

la instrucción que le sigue, que no podrá disponer del dato que le hace falta y también se retardará

esperando la ejecución de la instrucción que le precede. De esta forma se rompe la simultaneidad

de las ejecuciones.

• Cuando se procesa una instrucción de salto, y por ende no se procesarán las instrucciones

siguientes.

Procesadores CRISC

Estas nuevas técnicas influenciaron el diseño de los nuevos microprocesadores convencionales de las PC,

que usan el PIPELINING entre otros avances tecnológicos, y logran mayores velocidades combinando las

dos tecnologías, es decir, transforman las instrucciones CISC en instrucciones RISC simples de longitud fija

y se ejecutan más rápidamente mediante múltiples unidades de ejecución RISC. La micro-arquitectura de

estos procesadores es, entonces, una mezcla de CISC con unidades RISC.

Sin embargo debido a la estructura convencional de las instrucciones -que se mantienen por compatibilidad

con los microprocesadores anteriores- no se logran los resultados obtenidos en los RISC.

Frecuencia del reloj

El microprocesador está gobernado por el reloj del sistema, un cristal de cuarzo regulado que cumple el

papel de un metrónomo electrónico. A mayor velocidad del reloj, más operaciones se podrán realizar en el

mismo período de tiempo. Se puede aumentar la velocidad de trabajo cambiando la frecuencia del reloj y

también el microprocesador, excepto que la nueva frecuencia sea inferior a la máxima admitida por el chip.

Versión Preliminar 13

Page 14: Arquitectura de computadoras: Introducción

Electrónica 2

La velocidad de este reloj se mide en Hertz (Hz), que indican la cantidad de ciclos por segundo. Hace

algunos años se expresaban en MegaHertz (MHz), donde 1 MHz = 1 millón de ciclos por segundo. En los

procesadores modernos se miden en GigaHertz (GHz), donde 1 GHz = 1.000 millones de ciclos por

segundo.

Las nuevas versiones de un microprocesador se fabrican con nuevas técnicas y/o materiales que permiten

una mayor velocidad de trabajo. Los microprocesadores Pentium IV trabajan con velocidades mayores al 2

Ghz -2000 Mhz; dos mil millones de tareas elementales por segundo). El microprocesador de las primeras

PC -el 8088- trabajaba con una frecuencia de 4,77 Mhz.

Un microprocesador que funcione a 2 GHz, ¿Ejecuta el doble de instrucciones en un segundo que uno de 1

GHz? Justificar.

Secuencia de ejecución

El microprocesador se encarga de tomar la información que recibe de diferentes fuentes, efectuar sobre la

misma los procesos necesarios, y enviar el resultado al destino que se le indicó. Esta secuencia se la

conoce con las siglas EPS -Entrada de información; Procesamiento; Salida). Por lo tanto podemos decir

que desde el encendido del equipo hasta que se apaga, la tarea del microprocesador es realizar pequeños

trabajos -uno a continuación del otro-, denominados ciclo de instrucción , y cada uno de ellos tiene dos

fases bien definidas que son:

• Búsqueda de la instrucción u orden

• Ejecución de la misma.

El funcionamiento básico del microprocesador para la ejecución de instrucciones es el siguiente:

1. La unidad de control se encarga de recibir las instrucciones provenientes de la memoria a través del

bus de datos;

2. Decodifica cada instrucción

3. Ejecuta la instrucción, enviando datos a cualquier dispositivo que la instrucción indique o realizando

diferentes tipos de procesos con los datos que llegan de la memoria a través del bus de datos.

4. Si no se le indica lo contrario mediante una instrucción de bifurcación, el procesador ejecutará las

instrucciones a medida que le van llegando.

La unidad aritmética y lógica (ALU) es una parte del procesador que se encarga de realizar las operaciones

lógicas y aritméticas con los datos recibidos. Si la instrucción indica que se realicen algunas de estas

operaciones la ALU tomará los datos de registros, los cuales se han llenado previamente con otras

instrucciones para tal fin, y depositará los resultados de la operación efectuada en un registro.

Evolución de los microprocesadores

A medida que fueron evolucionando los microprocesadores, se consiguieron mejores tecnologías de

fabricación, de menor cantidad de micrones que permiten condensar mayor cantidad de transistores en el

mismo espacio de silicio, el cual se encuentra dentro del embalaje del procesador.

Versión Preliminar 14

Page 15: Arquitectura de computadoras: Introducción

Electrónica 2

Los transistores constituyen el componente principal de la electrónica de los microprocesadores y a mayor

cantidad, ofrecen mayores funcionalidades y son más complejos y conseguir, de esta manera, velocidades

de trabajo superiores.

A pesar de su antigüedad, es necesario hacer esta recorrida por la evolución y sus principales

predecesores, ya que constituyen las bases del funcionamiento de los microprocesadores más modernos.

El primer microprocesador fue el Intel 4004, producido en 1971.Se desarrollo

principalmente para una calculadora y resultaba revolucionario para su

época. Contenía 2.300 transistores en un microprocesador de 4 bits que solo

podía realizar 60.000 operaciones por segundo. El primer microprocesador

de 8 bits fue el Intel 8008 -1979- que contenía 3.300 transistores.

El Intel 8080 fue el primero desarrollado para el uso general, en 1974. De 8

bits que contenía 4.500 transistores y podía ejecutar 200.000 instrucciones

por segundo.

En 1975 Intel desarrolló su primer micro de 16 bits que salió al mercado en 1978. Se trataba del 8086, la

longitud de registros era de 16 bits, y había versiones que funcionaban a 4.77 Mhz, y tenia un bus de datos

de 16 bits y un bus de direcciones que de 20 bits, lo que le permitía acceder a un máximo de memoria de

1Mb -220).

La primer PC fue desarrollada por IBM en 1981. En

realidad ya existían computadoras personales antes

pero el modelo de IBM tuvo gran éxito entre otras

cosas por que era fácil de copiar.

En su interior había un micro denominado 8088, de

una empresa bastante conocida llama Intel. Este

micro trabajaba a 4,77 Mhz., y era una versión de

prestaciones reducidas del 8086.La diferencia era

sustancial ya que el bus de datos era de 8 bits.

La empresa NEC por procedimientos de ingeniería inversa, sacó el diseño de los micros 8086 y 8088, con

sus modelos V20 y V30, que incrementaban el rendimiento respecto a los de Intel en un 30%.

Pero el modelo 8088 tenía un error de diseño -que afectaba la gestión de interrupciones-; por tal motivo

Intel fabricó variaciones de estos modelos, sacando al mercado los 80C86, 80C88, 80C186 y 80186 cuyas

modificaciones fueron el ahorro de energía en las versiones C para su instalación en portátiles, y el

rediseño interno para la optimización en las versiones 1. El 80186 se usó específicamente para el control

de periféricos

El 80286 aparece en 1984 como base para una nueva generación de computadoras de IBM y el IBM AT

-Advanced Technology- incrementó el bus de direcciones de 20 bits a 24 bits lo que permitía acceder hasta

los 16 Mb de RAM, y se incrementaba la velocidad llegando a ser hasta un 25 por ciento mas rápido que

los 8086 y 8088.

Versión Preliminar 15

Page 16: Arquitectura de computadoras: Introducción

Electrónica 2

Y por fin en 1987, aparece el primer micro de 32 bits: el 80386 -o simplemente 386-.

Al ser de 32 bits permitía idear software más moderno, con funcionalidades como

multitarea, es decir disponer de mas de un programa trabajando a la vez.

Otras empresas se incorporaron al mercado, como AMD y CYRIX, y comenzaron

copiando a Intel, hasta hacerle a veces mucho daño -con productos como el 386 de

AMD, que llegaba a 40 Mhz frente a 33 Mhz de Intel-.

El 486 era un 386 con un coprocesador matemático incorporado y una

memoria caché integrada, lo que le hacia más rápido, desde entonces todos

los chips tienen ambos en su interior. Luego vino el Pentium, un nombre

inventado para evitar que surgieran 586s marca AMD o CYRIX ya que no

era posible patentar un número pero si un nombre, lo que aprovecharon

para sacar fuertes campañas de publicidad “Intel Inside” -Intel adentro-.

Microprocesador PENTIUM

El Pentium -o “586”-, son microprocesadores de unos 6,4 cm2

aproximadamente, y presentó graves problemas en sus inicios debido a un

error de fabricación en su modelo de 60 MHz.

Posteriormente, y con los problemas subsanados, aparecieron distintos

modelos que duplicaban la velocidad del bus, trabajando a 75, 90, 100, 120,

133, 150, 166, 180 y hasta 200 MHz. La caché utilizada es de 16KB. AMD

denominó su microprocesador de competencia como “K5”, y la firma CYRIX

denominó “6x86” al suyo.

Funcionamiento de un PENTIUM

La RAM envía datos o instrucciones codificadas a la BIU -o unidad de interfaz con el BUS- en “Ráfagas” de

64bits. Estos datos son enviados por dos rutas a cada una de las memorias caché de que dispone el micro.

En una se almacenarán los datos y en la otra las instrucciones que indican qué debe hacerse con esos

datos.

Existe una zona llamada “Unidad de predicción de bifurcaciones”. Esta

unidad se encargará de inspeccionar las dos ALUs que tiene el

microprocesador para determinar cual será la encargada de gestionar las

nuevas instrucciones. Esta unidad asegura el rendimiento óptimo del

microprocesador, evitando que una ALU este “sin trabajar” mientras

existan instrucciones que procesar.

Una nueva memoria, llamada búfer del “prefetch” recupera los códigos de

Versión Preliminar 16

Page 17: Arquitectura de computadoras: Introducción

Electrónica 2

instrucciones y los convierte a un “lenguaje” que la ALU seleccionada

pueda “entender”. En caso de precisar realizar operaciones con números

decimales se usará el procesador interno especializado para tal fin.

A partir de este momento, cada ALU procesara las instrucciones que le correspondan de manera

independiente, recogiendo los datos que le sean precisos desde las caché de datos -registros- y las

instrucciones desde cada decodificador de instrucciones. Una vez finalizado el proceso, las dos ALUs, así

como el procesador de coma flotante, entregan sus resultados a la caché de datos, desde donde serán

reenviados a la memoria RAM.

Microprocesador PENTIUM PRO

El Pentium PRO es otro de los microprocesadores que INTEL ha orientado a

aplicaciones y sistemas operativos de 32 bits. Implementado con 5,5

millones de transistores, es muy diferente de los PENTIUM convencionales.

Dispone también de 8 KB de memoria caché interna para datos y otros 8 KB

para instrucciones, pero en el caso de PENTIUM PRO la memoria caché es

de nivel 2 -L2- en lugar de nivel 1 -L1- usado por el PENTIUM convencional.

Se pueden encontrar versiones de PENTIUM PRO con 256 KB y 512 KB de memoria L2 asociativo de

cuatro vías. Trabajando a 32 bits, el PENTIUM PRO ofrece prácticamente el doble de velocidad para una

misma frecuencia que un PENTIUM convencional.

Microprocesador PENTIUM MMX

El PENTIUM MMX o P55C es otro micro de INTEL con la innovación de la tecnología MMX. Este

microprocesador maneja 257 instrucciones. Las nuevas instrucciones están orientadas a multimedia y se

define como el cambio más radical desde el 386 aparecido en 1985. Otra novedad en este tipo de

microprocesadores es referente al consumo de corriente. No todo el micro trabaja a la misma tensión de

alimentación, sino que usa voltaje dual. Aunque dicha tensión se determina de forma especifica en cada

micro, es habitual que los valores oscilen en torno a 2,8v para el núcleo del microprocesador y 3,3v para el

sistema de operaciones de entrada/salida. Dispone de doble caché: es decir, 16KB para datos y 16KB para

instrucciones.

Los modelos aparecidos en el mercado fueron de 166, 200 y 233 MHz, aunque existieron versiones a 133

MHz para Notebooks.

Microprocesador PENTIUM II

El Pentium II consigue aunar la potencia del Pentium-Pro con las ventajas multimedia del Pentium MMX.

Diseñado para 233, 266, 300 MHz dispone de una memoria caché interna de 512 KB. Otra novedad

incluida es el tipo de zócalo que Intel lanza como nuevo estándar para su microprocesador: El SEC -Single

Edge Connect).

Cabe destacar que la memoria caché ya no va integrada en el propio microprocesador. En el caso del

Pentium II, la memoria caché de segundo nivel va en el circuito impreso que sirve de soporte para el

microprocesador.

El nuevo diseño externo del Pentium -similar al cartucho de una consola de juegos- tiene el propósito de

aislar el microprocesador de los demás componentes y viceversa -impedir que el resto de los componentes Versión Preliminar 17

Page 18: Arquitectura de computadoras: Introducción

Electrónica 2

interfieran sobre el correcto funcionamiento del microprocesador-. Ahora el soporte del disipador-ventilador,

dadas las condiciones de refrigeración necesarias en el microprocesador, debe ser voluminoso.

Microprocesador PENTIUM CELERON

Se trata de un microprocesador inferior y más económico que el Pentium II –motivo por el cual consiguió

perdurase más tiempo que el propio Pentium II-. Implementados con 7,5 millones de transistores hasta los

modelos de 300MHz y con 9,1 millones el resto, estos micros heredan las instrucciones MMX y siguen

manteniendo una comunicación con el bus de 66MHz.

Apareció bajo dos encapsulados diferentes: el SEPP y el PPGA. El primero fue el mas común, recordando

al típico formato del Pentium II. Aunque también estaba optimizado para trabajar con aplicaciones de

32bits, la crítica a este microprocesador estaba dada por la ausencia de memoria caché L2, lo cual afectó a

toda la gama comprendida entre los 266 y 300MHz. El resto incluyó una L2 de 128KB en sincronía con la

velocidad del microprocesador. En cuanto a la caché de primero nivel, todos los modelos disponen de

32KB, repartidos en igual capacidad de datos e instrucciones.

Microprocesador PENTIUM III

El PENTIUM III es la sucesión del PENTIUM II. Clasificado dentro

de la familia P6 y con las características propias de la misma como

el rendimiento en ejecución dinámica, o un bus de sistema

multitransaccional, funciona con un bus externo de 100 MHz.

Hereda la tecnología MMX, además de 70 nuevas instrucciones

orientadas al manejo de gráficos 3D, video y audio.

Admite frecuencias de trabajo de 450, 500 y 550 MHz funcionando con un Chipset 440BX.

Incluye, además, 512 KB de memoria caché de segundo nivel, 8 nuevos registros de 128 bits, además de

los 8 registros FP ya existentes de 64 bits, donde cada registro soporta 4 valores de coma flotante de

simple precisión IEEE.

INTEL incluyó una novedad: cada microprocesador era numerado de forma única, con lo que desaparecía

el anonimato del usuario.

Las importantes mejoras en gráficos 3D con mas polígonos y efectos complementan la animación así como

el tratamiento de imágenes, disponiendo de algoritmos optimizados que permiten manejar imágenes más

grandes y complejas en menos tiempo.

En cuanto al video, lo más destacable es, sin duda, la posibilidad de edición y codificación de ficheros en

formato comprimido MPEG 2 en tiempo real junto al resto de características heredadas del tratamiento de

imágenes. Esto consigue una reproducción de video sin cortes entre imágenes.

El conjunto de prestaciones se complementa con el reconocimiento de voz que es una de las

características más atractivas. Para dar soporte al manejar de voz promovido por MICROSOFT con su

nuevo Windows 2000, INTEL ha creado la plataforma idónea dando mayor precisión y efectividad a las

aplicaciones reconocimiento.

Versión Preliminar 18

Page 19: Arquitectura de computadoras: Introducción

Electrónica 2

Microprocesador PENTIUM 4

El PENTIUM 4 corresponde al último diseño de INTEL para dar respuesta

a las nuevas necesidades que el avance de las nuevas tecnologías

implica. Lo más llamativo de este micro es que se trata de un desarrollo

completamente nuevo.

El PENTIUM 4 precisa de una nueva placa base diseñada de forma

específica. El formato en el que se suministra es para socket 423 o 478,

y su sistema de refrigeración precisa de una caja y fuente de

alimentación especiales denominadas ATX 2.03.

Este chip de INTEL dispone de una canalización distribuida en 20 fases. Esto significa que cuando se

realiza una predicción un total de 20 microinstrucciones pueden quedar en espera de confirmar si la citada

predicción ha sido correcta.

Otro de los avances es el incremento de velocidad de proceso: permite soportar un bus de sistema de

hasta 400MHz. En realidad no es esta la velocidad de bus a la que se puede trabajar sino que se aplica un

doble DDR para obtener mejores resultados. Por ello es necesario configurar la placa base con un factor

multiplicador x. De esta forma, por ejemplo, se alcanzan más de 3 GB/s frente a 1 GB/s obtenido por el

PENTIUM II con un bus de 133 MHz o los 0,5 GB/s del Celeron con un bus de 66MHz.

Tipos de conexión. Zócalos

El rendimiento que dan los microprocesadores no sólo depende de ellos mismos, sino de la placa donde se

instalan. Los diferentes micros no se conectan de igual manera a las placas, estos se conecta a la placa por

medio de socket este es con mecanismo ZIF (Zero Insertion Force). En ellas el procesador se inserta y se

retire sin necesidad de ejercer alguna presión sobre él. Al levantar la palanquita que hay al lado se libera el

microprocesador, siendo extremadamente sencilla su extracción. Estos zócalos aseguran la actualización

del microprocesador. Hay de diferentes tipos:

Socket 423 y 478: para procesadores Pentium 4 de Intel. El primero hace

referencia al modelo de 0,18 micras y el segundo al construido según la

tecnología de 0,13 micras. Esa longitud hace referencia al tamaño de cada

transistor, cuanto menor sea tu tamaño más pequeño será el micro y más

transistores será posible utilizar en el mismo espacio físico. Además, la

reducción de tamaño suele estar relacionada con una reducción del calor

generado y con un menor consumo de energía.

Socket 462/Socket A: ambos son el mismo tipo. Se trata

donde se insertan los procesadores Athlon en sus versiones

más nuevas, y son muy similares entre sí:

• Slot A : En este conector iban instalados los antiguos procesadores Athlon de AMD.

Versión Preliminar 19

Page 20: Arquitectura de computadoras: Introducción

Electrónica 2

• Slot 1 : A este conector le corresponden los procesadores Intel Pentium II y también los

procesadores más antiguos Pentium III.

• Slot 2 : Este conector es más conocido a nivel de servidores de red, donde iba instalado el

procesador Xeon.

Socket 370 o PPGA: Es el zócalo que utilizan los últimos modelos del

Pentium III y Celeron de Intel.

Socket 8: Utilizado por los procesadores Pentium Pro de Intel, un

micro optimizado para código en 32 bits que sentaría las bases de lo

que conocemos hoy en día.

Socket 7: Lo usan los micros Pentium/Pentium MMX/K6/K6-2 o K6-3 y muchos otros microprocesadores

de algunos años atrás.

Realizar un cuadro con las características de al menos 5 de los principales microprocesadores de PC:

desde el 8086 hasta el Itanium 2 -incluyendo los desarrollados por Intel y AMD: Pentium 4, III y II, y el

Athlon-. Incluir fechas de lanzamiento, ancho bus datos, bus direcciones, capacidad de direccionamiento,

etc.

Dejar una columna en blanco para completar mas adelante, en la actividad relacionada a los buses.

4. LOS BUSES

El bus es el camino que une al microprocesador con los demás

componentes de entrada y salida, es decir, comunica al procesador con

las controladoras de discos rígidos, la controladora de unidades de

diskette y los puertos de E/S incorporados en la motherboard, así como

con la placa de video conectada en una ranura de expansión y

encargada de enviar información al monitor. Este mismo camino

traslada los datos entre el procesador y la memoria que reside en la

motherboard y en el caso de procesadores antiguos los comunica con

el coprocesador matemático externo –que ahora están ingresados en el chip.

Realiza la comunicación con el resto de los componentes a través de vías de trazos metálicos en el circuito

impreso. Estas líneas de conductores se encuentran en paralelo, y la cantidad dependerá del ancho del bus

Versión Preliminar 20

Page 21: Arquitectura de computadoras: Introducción

Electrónica 2

con el que trabaje el procesador externamente. Para un procesador 386SX eran 16 líneas de cobre, para

un 486 eran 32, y para un Pentium y sus sucesores son 64.

El bus vincula al procesador con los dispositivos de entrada y salida, pero también vincula a estos

dispositivos con la memoria. Por lo tanto, el bus puede transportar los datos que un dispositivo de entrada

le entrega a la memoria, sin necesidad de que la CPU pierda tiempo participando de este evento y

librándola de esa tarea. También la memoria puede entregar datos a un dispositivo de salida sin necesidad

de interrumpir el funcionamiento de la CPU. Para cumplir con esa función, el dispositivo debe avisar al

procesador que utilizará el bus, de manera que éste no trate de accederlo al mismo tiempo y produzca una

mezcla, choque o corrupción de los datos existentes en el mismo. Para esto se le asigna un canal de

acceso directo a memoria -DMA- al dispositivo de E/S que trabaje de esta forma. La información más

explícita de los canales de DMA se verá más adelante.

El bus es uno de los elementos más importantes en el rendimiento global de un sistema de computación:

podemos tener el procesador más rápido existente en el mercado, pero si el sistema que lo comunica con

el mundo exterior es lento, el rendimiento será bajo, porque el procesador se pasará la mayor parte del

tiempo esperando que el bus lleve y traiga los datos. Si el bus es rápido pero trae pocos datos al mismo

tiempo, tampoco resulta óptimo, porque se subutiliza.

Diferentes tipos de bus y sus componentes

El bus de datos es el camino por donde el procesador transporta los datos desde y hacia los dispositivos de

entrada y salida, pero, los datos no sirven de nada si no se establece su destino.

Para cumplir con este fin aparece el bus de direcciones ¿recuerda que lo nombramos cuando describíamos

los diferentes procesadores?

Bus de datos

Es aquel por donde viajan las señales eléctricas que constituyen la información que lee -datos e

instrucciones de la memoria, datos de las entradas- y graba -datos en la memoria y salida- el

microprocesador, como así también los datos que se transfieren entre memoria y E/S bajo control del DMA.

Las señales pueden viajar en ambos sentidos -desde y hacia el microprocesador- por lo que se dice que el

bus de datos es bi-direccional. El número de conductores define la cantidad máxima de bits que el

microprocesador puede grabar o leer en un ciclo de máquina. Se dice que el microprocesador es de 32 bits

si puede grabar o leer 4 bytes al mismo tiempo. Cuanto mayor sea la cantidad de bytes del bus, mayor es la

velocidad de transferencia.

Bus de direcciones

Nace en el microprocesador y lleva las señales hacia los otros módulos para indicar donde grabará o leerá

el microprocesador. Por esto el conjunto de señales debe interpretarse como un código que indica el lugar

donde se almacenara el dato que sale del microprocesador o de donde se leerá el dato o instrucción que irá

hacia dentro del microprocesador.

El número de conductores -número de bits- define la cantidad máxima de lugares donde el microprocesador

puede grabar o leer, por lo tanto, la cantidad máxima de memoria que puede acceder el microprocesador.

Versión Preliminar 21

Page 22: Arquitectura de computadoras: Introducción

Electrónica 2

El 8086 tiene 20 bits, y puede acceder 1.048.576 bytes -2 elevado a la potencia 20). El 80286 tiene 24 bits

y por lo tanto puede direccionar 16 millones de bytes. El 80386 tiene 32 bits que le permite direccionar

como máximo 4 mil millones de bytes. El Pentium también tiene 32 bits.

¿Cuál es la capacidad de direccionamiento de un microprocesador con un bus de direcciones de 22 bits?

Bus de control

Como lo indica su nombre, este bus se encarga de administrar la forma en que serán encarados los

procesos a llevar a cabo, es decir, que el procesador lo utiliza para enviar comandos u órdenes. Contiene

las señales que le permiten al microprocesador sincronizarse con los circuitos que se vinculan con el. Su

función es comparable a la de un agente de tránsito, tratará de dirigir los datos por el camino adecuado y

evitará cualquier tipo de colisión.

Por ejemplo: administrar a través de señales si se escribirá a la memoria o se tomará un dato de la misma

-y en qué momento- para llevarlo directamente a un dispositivo de salida.

Estas señales actúan en forma aislada -no forman un código- y pueden salir del microprocesador, o llegar

a él.

Todo circuito que deba vincularse internamente con la computadora deberá conectarse directamente con el

BUS, a través del módulo de E/S -que como se verá más adelante, a través de los buses de expansión

normalizados).

5. LA MEMORIA

La memoria es uno de los componentes fundamentales de las computadoras, ya que sin ella no podrían

procesar información porque no tendrían un medio de almacenamiento temporario de los mismos.

La memoria principal es el medio de almacenamiento temporal en el que la CPU puede escribir, leer o

modificar información. A esta memoria se la conoce como RAM -Random Access Memory - Memoria de

acceso aleatorio).

Se puede considerar a la memoria como una gigantesca cajonera donde, cada casilla representa un byte y

tiene una dirección. La CPU puede leer, escribir o modificar la información en cada una de las casillas, pero

para ello debe indicar la dirección de la misma y la información que desea depositar o leer, es por eso que

se la llama de acceso aleatorio.

La memoria principal tiene un tiempo de acceso bajo, algunas decenas de nanosegundos -1 nanosegundo

= 1 x10-1 segundos-, es decir, que se tarda ese tiempo en encontrar la casilla por su dirección y actualizar

Versión Preliminar 22

Page 23: Arquitectura de computadoras: Introducción

Electrónica 2

la información existente en la misma por otra. La velocidad de la memoria tendrá que ser adecuada para la

CPU con la que se trabaje.

Cuando llamamos temporal a la memoria principal, significa que al apagar la computadora, se perderá toda

la información almacenada en ésta. Cuando un programa se ejecuta, se cargan partes de/ mismo en la

memoria para alimentar al procesador con las instrucciones a seguir. Cuando se necesita que la

información se mantenga constante, se utilizan los dispositivos de almacenamiento, por ejemplo: los discos

rígidos, diskettes, CD-ROM, DVD, etc.

La cantidad de memoria máxima direccionable está limitada por el tipo de procesador. Como se ha visto

anteriormente, los procesadores 386DX o superiores tienen un bus de direcciones de 32 bits, por lo tanto,

pueden direccionar hasta 4 gigabytes. Por otro lado, los procesadores Pentium Pro o superiores tienen uno

de 36 bits, capaz de direccionar hasta 36 gigabytes. Si pueden direccionar hasta 4 y 36 GB

respectivamente.

¿Por qué existe un límite de 640KB para aplicaciones DOS? ¿Cómo está conformada la memoria para el

8088?

Organización de la memoria

Basado en el microprocesador 8088, que posee un bus de direcciones de 20 bits -sólo puede direccionar 1

megabyte de memoria- se consideran las siguientes áreas que conforman la memoria.

La memoria convencional

Este tipo de memoria consiste en los primeros 640 KB. La utilizan los sistemas operativos para cargar su

parte fija en memoria, la cual les permite ejecutar el código necesario para poder acceder luego a las otras

áreas de memoria. Por más moderno que sea el sistema operativo, debe cargar y ejecutar código en los

primeros 640 KB. Es un área de memoria plana accesible en forma directa y utilizada para almacenar y

ejecutar programas.

La memoria superior (UMB)

La memoria superior está compuesta por los huecos de memoria -UMB – Upper Memory Blocks- no

utilizados entre los 640 KB y 1024 KB. No puede ser utilizada en forma directa por el Sistema Operativo

Versión Preliminar 23

Page 24: Arquitectura de computadoras: Introducción

Electrónica 2

DOS o los programas, aunque los huecos que quedan pueden aprovecharse para cargar controladores

-drivers- o residentes. Los sistemas operativos actuales -Windows 9x, XP, 200x, Linux, etc.- utilizan estos

huecos de memoria sin inconvenientes para cualquier fin.

La memoria expandida (EMS)

En 1985, Lotus, Intel y Microsoft desarrollaron un estándar -EMS – Expanded Memory Specification- para

eludir las limitaciones del DOS. Para lograrlo, paginaron la memoria, y permitieron manejar hasta 4Mb de la

memoria extendida paginando de a 64 kb en la memoria superior, accesible por los programas y el DOS.

Consulte en la bibliografía la forma de trabajo EMS.

La forma de trabajo de la memoria expandida requiere un tiempo adicional del que necesita la

convencional, debido al proceso de intercambio de bloques. De esta forma, solucionó un problema a

medias, pues solamente podía ser utilizada por programas que la entendían y era más lenta memoria

convencional.

La memoria extendida

La memoria extendida es aquella que va más allá del primer Mb y puede ser direccionada por procesadores

80286 o superiores. Pero, para direccionar esa cantidad de memoria, el procesador debe dejar de operar

en modo real -modo de compatibilidad con el 8088, limitado a direccionar sólo 1Mb-, y operar en modo

protegido -modo en cual se aprovechan las capacidades de direccionamiento de los procesadores mas

nuevos, además de incorporar el principio de protección de memoria). Los sistemas operativos Windows

XP, 2000, 2003, NT, Me, 98y95, Linux y Novell trabajan en modo protegido.

Consulte en bibliografía acerca del principio de protección de memoria, y el origen del mensaje de error

‘General Protection Fault’ originado en Windows.

La memoria alta (HIMEM)

Corresponde al bloque entre los 1024 KB y los 1088 KB. En DOS se utilizaba para cargar la parte residente

del S.O. DOS y algunos controladores, liberando de esta forma más memoria convencional, Sin embargo,

en los S.O. que trabajan en modo protegido, se puede acceder para cualquier fin sin inconvenientes.

El área de memoria reservada

El segmento de memoria entre los 640 KB y los 1024 KB es un área de memoria que no puede ser utilizada

directamente por programas, pues en la PC original era un área de memoria reservada para ser usada por

el sistema.

Esta parte de la memoria se utiliza para:

• Direcciones de memoria que necesitan algunas placas de expansión.

• La ROM BIOS.

• Memoria de video.Versión Preliminar 24

Page 25: Arquitectura de computadoras: Introducción

Electrónica 2

Direcciones de memoria de placas de expansión

Algunas placas de expansión requieren cierta cantidad de memoria temporal para uso propio. Por ejemplo,

una placa de red requiere un buffer -área de almacenamiento temporal- para guardar información de las

transmisiones y acelerar las comunicaciones.

Dos placas diferentes no pueden utilizar la misma dirección de memoria como buffer, pues se modificarían

los datos mutuamente y se perdería información. Por esa razón, la mayoría de las placas ofrecen varias

direcciones de memoria diferentes de las cuales se deberá elegir la que se encuentre libre.

La ROM BIOS

Se llama ROM -Read Only Memory / Memoria de sólo lectura- a un tipo de

memoria de la que se pueden leer datos, pero no escribir nuevos ni

modificar los existentes.

El BIOS -Basic Input Output System / Sistema Básico de Entrada Salida-

está conformado por un conjunto de pequeños programas que se

encuentran grabados en la ROM -por eso la denominación de ROM BIOS-. Estos programas pregrabados

en memoria por el fabricante -que se conocen con el nombre de firmware- se encargan de administrar a

bajo nivel el hardware de la PC, haciendo de traductor de los llamados del sistema operativo a los

dispositivos de entrada/salida.

Además, cuando uno enciende la PC, ellos son los encargados de inicializar y verificar el hardware y los

dispositivos, para luego realizar el proceso de booteo y transferir el control al sistema operativo.

El BIOS contiene también las rutinas que nos permiten acceder al CMOS Setup, mediante el cual podemos

configurar muchos parámetros de nuestra PC, lo que se analizará en detalle más adelante.

Los chips del BIOS son fáciles de identificar, son grandes, poseen 24 ó 28 patas y están colocados sobre

un zócalo, de manera que se facilita su remoción. La mayoría tienen una etiqueta pegada encima.

El BIOS se ubica habitualmente en los últimos 64 KB de la memoria reservada.

¿Qué es la Flash BIOS?

¿Para qué sirve el método ROM Shadow?

La memoria de video

Como se puede deducir, es la memoria utilizada por las placas de video para mantener el contenido de la

pantalla. Cuando se modifican los datos directamente en la memoria de video, éstos se verán reflejados en

la pantalla, encargándose de ello la placa de video. Cuando se diseñó la primera PC, se guardaron 128 KB

para esta memoria, aunque en estos tiempos de multimedia, color real y aceleración 3D, esa cantidad de

memoria es ínfima e insuficiente.

Las placas de video modernas con aceleración 3D poseen mucha mayor cantidad de memoria que 128 KB.

Aún en las placas más elaboradas, los primeros 128 KB de memoria de video se siguen ubicando en el

área de memoria superior simplemente para mantener la compatibilidad con el diseño original de la PC,

Versión Preliminar 25

Page 26: Arquitectura de computadoras: Introducción

Electrónica 2

pero el resto de la memoria es accedida mediante la misma técnica utilizada para acceder a la memoria

expandida: paginando; de esta forma no se ocupa tanta memoria reservada.

Placas y chips de memoria

La memoria de una computadora está compuesta por los chips de memoria, que se presentan de distintos

tipos y se combinan de manera tal que puedan ser alojados y/o reemplazados en zócalos o ranuras

especialmente diseñados en la placa base.

Descargar del Aula virtual el Anexo 1 – ‘Módulos de Memoria’.

La memoria caché

A pesar de ser elementos electrónicos, los chips de memoria principal no trabajan tan rápido como un

microprocesador. Los primeros microprocesadores trabajaban a una velocidad de un Mhz., lo que

posibilitaba trabajar con memorias con un tiempo de retardo -tiempo de acceso- del orden de 500 nano

segundos. En esa época no había demasiado problema para lograrlo. Y si la memoria era más lenta

frenaba al microprocesador generando uno o más tiempos inactivos denominados tiempos de wait.

Cuando los procesadores comenzaron a tener velocidades de reloj cada vez mayores y funcionaban más y

más rápido, los tiempos de acceso de las memorias RAM dinámicas no alcanzaban para seguirle el ritmo.

De esa forma, el procesador debía esperar que la memoria reaccione cada vez que necesitaba un dato de

ella, con lo que se desperdiciaba una gran cantidad de tiempo que podría estar utilizando para procesar,

que es su función principal y no esperar. Una alternativa seria utilizar memorias con menores tiempos de

acceso: las RAM estáticas, pero esta solución es muy costosa porque las memorias estáticas cuestan más

del doble que las dinámicas.

Entonces se utiliza una pequeña cantidad de memoria mucho más rápida -estática -SRAM- que la memoria

de trabajo, que respondan en un tiempo de algunos nano segundos -Un nanosegundo =10-9 segundos-,

para almacenar datos de la memoria principal y que la CPU tome los datos de esta memoria y no deba

acceder tan frecuentemente a la otra, que es mucho más lenta, basados en el ‘principio de localidad’.

Versión Preliminar 26

Page 27: Arquitectura de computadoras: Introducción

Electrónica 2

En los procesadores 386, esta memoria era externa, es decir no estaba dentro del procesador, sino

conectada al mismo a través de un bus. A partir del 486 y los Pentium aparece otra caché: la interna -de

primer nivel o L1-, que está integrada en el procesador -encapsulada junto a él-, además de la externa.

Los micros más modernos -Pentium III Athlon etc.- incluyen también en su interior otro nivel de caché, más

grande aunque algo menos rápida, la caché de segundo nivel o L2.

Principio de localidad

El éxito de la memoria caché se debe a un hecho conocido como

“Principio de Localidad el cual establece que para un computador

que accede en forma secuencial tanto a instrucciones como a datos,

el acceso a la memoria se realiza en forma repetida en una zona

restringida de la misma, en un gran porcentaje del tiempo de

procesamiento.

De esta manera el principio de trabajo de una memoria caché es el siguiente: cuando el programa busca

acceder a la memoria, primero investiga la memoria caché y si obtiene un hit el acceso es a la velocidad de

la CPU -no se intercala ningún wait-, y si se obtiene un miss, la CPU accede a la memoria principal

generándose los tiempos de wait correspondientes para acceder al dato o instrucción. Sin embargo un

bloque de datos que incluyen al dato buscado será transferido a la memoria caché. De tal manera que en

un acceso siguiente existirá una gran probabilidad de lograr un hit.

Caché externa

El tamaño de la memoria caché externa, también conocida como caché L2 -Level 2 - Nivel 2-, puede variar

entre 64 KB y 8 MB. El tamaño ideal de caché externa es 256 KB o 512 KB. Un tamaño mayor implica una

inversión que no se trasladará en un aumento considerable de rendimiento.

Se debe tener en cuenta que el tamaño de la caché externa deberá tener algún tipo de relación con la

cantidad de memoria principal. Por ejemplo, no tiene ningún sentido invertir en una caché externa de 2 MB

para una máquina equipada con 8 MB de RAM, ya que ésta no se aprovechará por completo, pero sí será

muy útil para una con 256 MB o más.

Un chip controlador de caché típico es el 82385 de Intel. Su funcionamiento es el siguiente: cuando el

microprocesador necesita leer una dirección de memoria, ésta se busca en la memoria caché muy

rápidamente, si no se encuentra allí, se toma de la memoria principal y mientras el procesador continúa

trabajando, los circuitos controladores de caché hacen que se almacenen en ésta las siguientes posiciones

de memoria consecutivas a la que pidió el procesador.

La mayoría de los programas van ejecutando una instrucción después de la otra y piden datos de la

memoria uno después del otro, por lo tanto, cuando el microprocesador necesite leer las direcciones de

memoria siguientes a la que leyó anteriormente, el contenido se encontrará en la memoria caché, que es

mucho más rápida que la memoria principal.

Versión Preliminar 27

Page 28: Arquitectura de computadoras: Introducción

Electrónica 2

Cuando el procesador tiene que escribir información en la memoria principal, ésta pasa por la caché en vez

de escribirse directamente en la memoria principal -más lenta-. El controlador de caché decidirá cuándo los

datos modificados serán escritos en la memoria principal.

Caché interna

Se llama caché interna a una pequeña cantidad de memoria que cumple la función de la caché externa,

pero que se encuentra en el mismo trozo de silicio del microprocesador, es decir, integrada dentro de su

circuito.

Las ventaja de poseer caché interna es que el procesador puede acceder a la misma a través de un bus

interno con un ancho de datos mucho mayor que el externo. La caché interna es mucho más pequeña que

la externa, pero es el doble de rápida que esta última. Al utilizar una caché integrada, los procesadores

reducen drásticamente el tiempo necesario para acceder a los datos en memoria. Si no están en la caché

interna, podrán estar en la externa y en el peor de los casos habrá que recurrir a la memoria principal.

La caché interna de seguimiento de ejecución presentada por el Pentium 4 es una versión mejorada de la

caché de código, la cual permite ir almacenando micro-operaciones ya decodificadas y de esta manera

elimina la lógica de decodificación de instrucciones de los principales caminos de ejecución del procesador

y así logra mejorar aún más su rendimiento.

Problemas de la memoria caché

La implementación de memorias caché presentó los siguientes problemas:

• Mantenimiento de la consistencia de datos: los datos de las memorias principal y caché deben

tener la misma información y que en ciertas ocasiones los datos se encuentran en la memoria

caché -hit- y otras veces no -miss). Para mantener la consistencia de los datos se deben adoptar

ciertos algoritmos que permitan tal actualización, pero la situación no es tan simple cuando otros

circuitos también acceden directamente a ella como por ejemplo el controlador de DMA, o mas

complicada en una computadora con multiprocesamiento con memoria compartida en donde existe

una memoria principal compartida por varios microprocesadores y cada uno de ellos tiene su propia

memoria caché.

• Violaciones al principio de localidad lo que ocasiona repetidos miss con la consiguiente perdida de

tiempo, debido a una frecuente conmutación de las tareas que se da en todo sistema de

multiprogramación.

Sin embargo, y pese a estas dificultades, el uso de la memoria caché hace que las computadoras actuales

logren una alta performance con un bajo costo debido al uso de una gran cantidad de memoria

relativamente lenta -memoria principal-.

¿Cómo se resuelve el control de coherencia de datos en los sistemas con múltiples procesadores?

Versión Preliminar 28

Page 29: Arquitectura de computadoras: Introducción

Electrónica 2

6. MÓDULO DE ENTRADAS Y SALIDAS

Sirve para adaptar las características eléctricas de los periféricos a las

características propias del microprocesador. De esta manera es posible que el

microprocesador, que sólo puede grabar y leer códigos binarios de una manera

muy rígida, genere acciones compatibles con cualquier tipo de circuito externo, ya

sea digital o analógico. Normalmente cada periférico requiere un circuito adaptador o INTERFASE para

comunicarse con la computadora.

Puede pensarse que este circuito tiene dos caras o fases, cada una de las cuales se relaciona con el

periférico y el computador respectivamente. Así, cada uno de ellos "ve" un circuito que responde a sus

necesidades particulares.

Para aliviar la tarea del microprocesador se utilizan chips que poseen todos, o casi todos, los atributos para

generar señales eléctricas compatibles con las requeridas por los periféricos, y a su vez se relacionan en

forma directa con el microprocesador.

Estos chips son programables y se conocen como controladores; el microprocesador -respondiendo a un

software especial de inicialización- puede "personalizarlos" para que respondan exactamente a un modo de

trabajo en particular. Normalmente se usa un controlador por cada tipo de dispositivo o periférico.

Ranuras de expansión

Las ranuras de expansión son conectores que se encuentran sobre la motherboard y se

conectan al bus del sistema a través de este módulo. En estas ranuras se conectan las placas

adicionales, por ejemplo una placa de video, un controlador de disco especial y/o una placa de

sonido.

También conocidas como slots de expansión, estas ranuras son fácilmente reconocibles: tienen

diferentes tamaños, formas y longitudes. A simple vista podemos determinar qué tipo de ranura

es. Aunque no hay que dejarse engañar por la longitud o tamaño, pues por ejemplo, las ranuras

de un bus de 64 bits son más pequeñas que las de un antiguo bus de 16 bits.

Con el pasar de los años, cada tipo de ranura de expansión fue estandarizándose junto con el bus,

tendiendo a lograr una total compatibilidad.

Versión Preliminar 29

Page 30: Arquitectura de computadoras: Introducción

Electrónica 2

A continuación se describirá brevemente cada tipo de bus de expansión, comenzando por el bus ISA de 8

bits y llegando hasta los buses PCI.

El bus ISA (AT)

El primer sistema de bus utilizado en una PC constaba de 62 líneas de comunicación ó 62 conectores en

una ranura corta, que aceptaban 8 bits de datos y 20 bits de direcciones, pues el procesador para el cual

estaba diseñado era el 8088, que tenía un bus de datos de ese mismo número de bits. Solamente 8 de

esos 62 conductores eran de datos y otros 20 formaban el bus de direcciones.

Versión Preliminar 30

Page 31: Arquitectura de computadoras: Introducción

Electrónica 2

En algunas motherboards aparecen algunas ranuras cortas de 8 bits y las demás de 16 bits. Esto se debió

para ahorrar costos en primera instancia y porque algunas placas muy antiguas de 8 bits tenían una falda

adicional que sobresalía separada del conector de 8 bits, lo que no permitiría su conexión en slots de 16

bits.

ISA Industry Standard Architecture -AT- Bus

Pins Data Bus Address Bus Transfer Rate Speed

98 8/16 bits 24 bits 5.5MBs 6-8.33 MHz

Cuando los procesadores tenían velocidades de reloj bajas, el bus podía trabajar a la misma velocidad del

procesador, pero a medida que fue aumentando dicha velocidad surgieron problemas para trabajar con el

sistema de bus a la misma frecuencia. Es por eso que cuando Compaq introduce su AT de 12 MHz al

mercado, lo hace con un bus que trabajaba a 8 MHz. Todos copiaron la idea y así nació el estándar en

sistemas de bus de 16 bits, que se denominó de la misma forma que el bus anterior de 8 bits: ISA

-Industrial Standard Architecture -Arquitectura Industrial Estandarizada-. Cuando se habla del bus ISA, se

hace referencia al bus AT de 16 bits.

Los buses de 32 Bíts

Con la llegada de los procesadores de 32 bits comenzaron a aparecer ranuras especialmente diseñadas

para trabajar con el nuevo ancho de datos, pero no eran estándar y cada fabricante las adaptaba a su

manera. De esta forma, solamente se conseguían placas para esos conectores de los fabricantes de la

motherboard, limitando las posibilidades de ampliación. Era necesaria una normalización, que llegó en 1987

y 1988 con los buses Micro Canal -MCA- y EISA. Cinco años más tarde, en 1993, se desarrollaron el VESA

Local Bus 1.0 y el PCI 1.0. En la actualidad, el único que sigue vigente de estos cuatro buses es el PCI en

una versión más avanzada; sin embargo, los primeros buses de 32 bits establecieron varios conceptos que

son vigentes en la actualidad.

Analice las ventajas que ofrecieron PCI, EISA y MCA respecto al bus ISA de 16 bits: El ruido, el ancho de

datos, bus mastering y configuración por software. Describir cada uno de estos elementos.

El Bus MCA

En 1987, IBM desarrolló el bus MCA -MicroChannel Architecture – Arquitectura Microcanal - con el fin de

acelerar la transferencia de datos y disminuir los niveles de ruido en sus equipos PS/2. Consiste en un

sistema de canalización de los datos - de ahí su nombre - en el cual se activan canales a medida que se

desea transmitir información y se transporta por éstos hacia el destinatario. De esta tarea se encarga el

Versión Preliminar 31

Page 32: Arquitectura de computadoras: Introducción

Electrónica 2

sistema de control del bus, liberando al procesador de estos procedimientos de control y mejorando el

rendimiento global del sistema.

Es menos susceptible a los ruidos, por lo tanto su frecuencia de reloj puede ser elevada a 10 MHz o más,

con lo que se logran velocidades de transferencia de datos máximas de 40 megabytes por segundo.

El MCA era totalmente incompatible con los buses anteriores -ISA de 8 y 16 bits-, por lo tanto no resultó

muy atractivo para los fabricantes de placas. Es por ello que este sistema no ha tenido mucha aceptación.

Solamente se lo ha visto en equipos PS/2 de IBM porque aparte de tener sus desventajas, la rigurosa

tendencia de IBM de querer obtener muy buenas ganancias por la patente de su diseño, motivó a que

ningún otro fabricante se adhiera al estándar.

El bus EISA

En 1988, Compaq, Tandy, AST, AT&T y otros fabricantes de computadoras personales se pusieron de

acuerdo para desafiar al bus MCA de IBM.

Así surge el bus EISA -Enhanced Industrial Standard Architecture - Arquitectura industrial estandarizada y

ampliada). Se trató de una ampliación del bus ISA de 16 bits -como éste lo fue del bus ISA de 8 bits- con la

gran ventaja de estar normalizado.

Es un bus con un ancho de datos de 32 bits y con soporte para bus mastering y configuración por software.

Tiene total compatibilidad con el bus ISA, es decir, que se pueden enchufar tanto placas de 32 bits

diseñadas para EISA así corno placas de 16 bits para ISA en el mismo slot de expansión. La frecuencia de

reloj sigue siendo de 8 MHz, pero al tener un ancho de datos mayor, adquiere una capacidad de

transferencia de datos de 33 megabytes por segundo, más del cuádruple del bus ISA de 16 bits.

Semejante velocidad de transferencia de datos por segundo es suficiente para las placas de red

-actualmente FastEthernet logra una velocidad de 100 Mbps = 15 MBps, por lo cual no sobrepasa la tasa

de transferencia de EISA-, pero ya no es suficiente para las altas velocidades de transferencia de datos que

han conseguido las nuevas controladoras de discos rígidos y menos aún para las placas de video con

aceleración 3D.

Versión Preliminar 32

Page 33: Arquitectura de computadoras: Introducción

Electrónica 2

Los sistemas basados en el bus EISA se utilizaron en servidores de alto rendimiento y en estaciones de

trabajo específicas, pero no llegaron a hacerse masivos debido a sus altos costos, y a que sus

características sobresalientes fueron superadas por nuevos buses.

En una primera instancia los sistemas basados en bus local -y luego los PCI- fueron reemplazando al viejo

EISA, que ya no está presente en ningún sistema moderno.

El bus local

Se llama bus local a cualquier sistema de bus que permita a los dispositivos conectados a éste trabajar a

velocidades de reloj altas como la velocidad externa del reloj del procesador. En una PC basada en un

procesador 80486DX de 33 MHz, el bus local corría a 33 MHz con un ancho de datos de 32 bits, pero en

una motherboard con un Pentium 4, el mismo corre a 800 MHz con un ancho de datos de 64 bits.

En una PC basada en el bus ISA, el procesador necesita dos caminos electrónicos para transportar la

información: el bus local del mismo y el bus de expansión. Los componentes en el bus local trabajan a la

misma velocidad que lo hace el procesador externamente y con el mismo ancho de datos.

Sólo un reducido número de chips está conectado al bus local: la memoria principal y la lógica del

controlador. Los demás componentes: controladores de discos rígidos, placas de video, placas de red y

módems están conectados a los diferentes buses de expansión, que en los tiempos de ISA corrían a los

lentísimos 8 MHz.

Para solucionar esta gran diferencia de velocidades, surgieron motherboards basadas en implementaciones

de bus local que establecieron puentes que permitían la conexión de dispositivos al bus local del

procesador, consiguiendo de esta manera, por ejemplo, que la placa de video, la controladora del disco

rígido y la placa de red pudieran aprovechar los 33 MHz de velocidad y 32 bits de ancho del bus local. El

VESA Bus Local -VL-Bus- y el PCI fueron los pioneros en implementaciones de este nuevo modo de

trabajo.

VESA bus local (VL-Bus Versión 1.0 y 2.0)

Es un estándar de bus local que fue introducido en el año 1993 por un grupo de fabricantes: Video

Electronic Standards Association - Asociación de estándares de video electrónico -VESA).

Versión Preliminar 33

Page 34: Arquitectura de computadoras: Introducción

Electrónica 2

Este sistema de bus permitía conectar un máximo de tres dispositivos al sistema de bus local del

procesador, es decir, trabajaban a la misma velocidad que la externa del procesador. En las motherboards

se presentaban tres conectores ISA con el agregado de un conector de 32 bits similar al MCA en línea con

el mismo, en forma de parche o agregado. Si no se utilizaba el conector de VL-Bus, la ranura podía

aprovecharse para conectar una placa ISA sin problemas de incompatibilidad.

VL-BUS VESA Bus Local

Pins Data Bus Address Bus Transfer Rate Speed

112 32 bits 32 bits 133 MBs 33 MHz

“ “ “ 148 MBs 40 MHz

“ “ “ 267MBs 50 MHz

Las placas típicas para VL-Bus se conectan en el conector de 112 pines estilo MCA en un extremo y en el

conector ISA en el otro. La parte conectada a ISA maneja el acceso directo a memoria -DMA- y el acceso a

las interrupciones, direcciones de puertos y líneas de alimentación. Mientras que el conector MCA brinda

una línea de datos rápida de 32 bits. El VL-Bus tiene capacidades de bus mastering al igual que EISA y

MCA.

Versión Preliminar 34

Page 35: Arquitectura de computadoras: Introducción

Electrónica 2

Solamente los sistemas basados en

procesadores 486 se beneficiaron del VL-BUS.

Se desarrollaron muchas placas de video y

controladoras de discos rígidos basadas en este

bus, pero al limitarse a un procesador que

pronto quedó obsoleto, se extinguió para dejarle

su lugar a una arquitectura con más futuro: el

bus PCI.

PCI de 32 y 64 Bits (1.0; 2.x)

Este sistema de bus local fue diseñado por Intel en 1993 como base de sistema de bus para el Pentium.

PCI -Peripheral Component Interconnect - Interconexión de Componentes Periféricos- fue ideado para

acomodar procesadores más rápidos sin necesidad de actualizar constantemente los dispositivos y

rediseñarlos.

La arquitectura del bus PCI consiste en establecer un puente entre el bus local y el procesador con un

buffer -memorias temporarias- FIFO -first in, first out - el primero que entra, el primero que sale-. Intel lo

denomina un bus intermedio porque está diseñado para desacoplar al procesador del bus de expansión

mientras se mantiene un ancho de datos de 32 ó 64 bits y una velocidad de 33 MHz para comunicarse con

los dispositivos.

Versión Preliminar 35

Page 36: Arquitectura de computadoras: Introducción

Electrónica 2

Esto es así porque es muy costoso diseñar y construir una motherboard cuyas ranuras de expansión

trabajen a tan altas frecuencias como las que ha alcanzado el bus local de los procesadores actuales.

Además, si esto se hiciera, los fabricantes deberían desarrollar placas de expansión que pudieran trabajar a

estas nuevas velocidades. Es por ello que el bus PCI cumple su función de desacoplar y no siguió la

arquitectura del VL-Bus, que solamente funcionó con un procesador 486.

Un Pentium 4 de 3,20 GHz tiene un bus local de 800 MHz, mientras que las placas conectadas a las

ranuras de expansión del bus PCI trabajan a 33 MHz, a una frecuencia 24 veces menor que el bus local del

procesador (800 / 24 = 33).

Si bien en su momento esta especificación de bus requirió mucho trabajo por parte de los fabricantes para

adaptar sus diseños de placas, especialmente la transformación completa de sus placas ISA, ha logrado

transformarse en el estándar para las placas de expansión y está presente en todas las motherboards

modernas.

El bus PCI tiene las siguientes características y limitaciones:

Versión Preliminar 36

Page 37: Arquitectura de computadoras: Introducción

Electrónica 2

• Permite un máximo de 10 dispositivos trabajando sobre el mismo bus PCI, incluyendo el

controlador de PCI y un controlador de bus de expansión ISA, EISA o MCA opcional. En la mayoría

de las motherboards modernas ya no se incluyen ranuras ISA.

• Originalmente estaba limitado a 33 MHz. Sin embargo, algunas motherboards ofrecen la posibilidad

de aumentar en algunos puntos la velocidad del trabajo del bus PCI, llegando a una velocidad

máxima de 40 MHz. Hace un par de años apareció la versión de 66 MHz, que todavía no es tan

popular como la de 33 MHz.

• Ofrece un ancho de datos de 32 bits o de 64 bits (Versión 2.0 desarrollada en 1994). Vale aclarar

que esta última versión tuvo poca repercusión en el mercado y recién hace algunos años

comenzaron a aparecer las primeras placas de 64 bits.

• Permite al procesador efectuar sus tareas al mismo tiempo que se realiza el bus mastering con

otros dispositivos, una ganancia de rendimiento que resultó muy atractiva para las aplicaciones

multimedia y servidores de alto rango.

• Habilita un modo rápido para lecturas y escrituras -VL-Bus solamente lo permitía en lecturas).

Detalle Conector PCI 32 bits Detalle Conector PCI-X de 64 bits

El diseño de PCI requiere que los dispositivos devuelvan estados de configuración al controlador, lo que

significa un rediseño de los chips utilizados en placas para otros sistemas de bus. También utiliza la técnica

de multiplexado para enviar más de una información en un solo canal eléctrico, con el beneficio de la

reducción de los pines necesarios para comunicarse con los chips y una posible reducción en el costo de

producción de los mismos.

PCI Peripheral Component Interconnect Bus

Pins Data Bus Address Bus Transfer Rate Speed

124 32 bits 32 bits 132 MBps 33 MHz

188 64 bits 64 bits 264 MBps 33 MHz

188 64 bits 64 bits 528 MBps 66 MHz

Este sistema fue introducido con las primeras PC basadas en el Pentium y se transformó rápidamente en el

estándar para los siguientes microprocesadores, como el Pentium MNIX, el Pentium II, III y 4, el Celeron en

todas sus versiones, el K6, K7, Athlon XP y demás procesadores de AMD, entre otros. Su rendimiento es

Versión Preliminar 37

Page 38: Arquitectura de computadoras: Introducción

Electrónica 2

similar al extinguido VL-Bus: la máxima transferencia de datos es de 132 MBps para PCI 1.0 con 32 bits de

ancho de datos y 33 MHz de velocidad de reloj, y de 264 MBps para PCI 2.0/2.1 con 64 bits y 33 MHz.

Ahora, con sus implementaciones de 64 bits y 66 MHz, alcanza los 528 MBps. Actualmente PCI es un

estándar y está presente en todas las motherboards modernas.

Bus AGP.

La tecnología AGP -Accelerated Graphics Port- fue creada por INTEL. Dicha tecnología, mejora el

rendimiento del sistema proporcionando un camino de alta velocidad entre la controladora gráfica del PC y

la memoria del sistema. Este camino permite a la controladora ejecutar mapas de texturas directamente en

la memoria del sistema en vez de traerlas a su memoria de vídeo limitada. Esto también demora la

velocidad del flujo de vídeo decodificado desde la CPU a la controladora.

El BUS AGP únicamente consta de 1 slot, y está pensado para gráficos a alta velocidad. No es importante

llevar un chequeo de la integridad de los bits en este bus -ya que si se pierde un bit de un gráfico en un

instante dado, ni se nota-. Lo único importante aquí es la velocidad. Existen varios estándares 1X, 2X, 4X,

8X. En general, se va a llegar a utilizar la misma frecuencia que el BUS de la placa madre. Con esto,

actualmente se consiguen tasas de transferencia de 500 Megas por segundo. Solo es importante aquí un

matiz: el bus AGP se inicializa "después" del bus PCI. Esto para respetar al pie de la letra la norma PCI.

Por tanto, si tenemos dos placas gráficas, una PCI y otra AGP, siempre será la placa primaria la PCI

-teóricamente más lenta que la AGP-. Algunos fabricantes de BIOS empezaron a poner la pregunta

"Primary AGP/PCI o PCI/AGP" en la configuración de la BIOS para saltear esta secuencia.

Las técnicas de terminación mejoran los márgenes de ruido y reducen las reflexiones de señales que

degradan la integridad de la señal. Los diseñadores necesitan incluir terminaciones en sus diseños por dos

razones: 1) para hacer el diseño más robusto minimizando las reflexiones y el ruido debido a las mezclas

de impedancias, y 2) para minimizar el ruido de salida.

Las ventajas son muchas:

• Gestiona mapas de texturas de tamaño, detalle y realismo ilimitado.

• Permite que las aplicaciones 3D corran más rápido, ya que la necesidad de transferir las texturas a

la memoria de vídeo se elimina.

• Minimiza la necesidad de memoria de vídeo.

• Permite transferencias a gran velocidad, ya que AGP no es un BUS con múltiples entradas como

PCI; permite únicamente la conexión de dos dispositivos: el chipset y el chip gráfico.

AGP Accelerated Graphics Port

Pins Data Bus Address Bus Transfer Rate Speed

188 32 bits 32 bits 264MBs 66 MHz

Versión Preliminar 38

Page 39: Arquitectura de computadoras: Introducción

Electrónica 2

Complete en el cuadro realizado en la actividad de proceso del punto 3 -Microprocesadores- e indique en

la columna en blanco cuáles de los buses de expansión vistos son compatibles con el microprocesador

indicado.

Busque en Internet un modelo de motherborad que contenga a ambos -micro y bus de expansión-. Incluir

solamente modelo y vínculo a su página técnica.

Recursos de placas y dispositivos

Se debe tener en cuenta que la gran mayoría de las motherboards modernas incorporan muchas

funcionalidades que antes eran placas conectadas en las ranuras de expansión. Sin embargo, esto no

significa que no están conectadas a ningún bus de expansión, todo lo contrario, están conectadas a un bus

PCI, PCI-X, AGP o AGP Pro, o cualquier otro ya explicado. La diferencia es que utilizan directamente los

conductores de cobre en la misma motherboard para conectarse a un bus de expansión, en vez de ser

placas enchufadas en una ranura de expansión.

Determinados recursos del sistema utilizan las placas y dispositivos conectados a los buses de expansión.

Estos recursos no se pueden acceder al mismo tiempo desde diferentes placas o dispositivos, es decir, son

de uso exclusivo para uno de ellos. Por lo tanto, se debe hacer conocer o bien configurar a cada placa o

dispositivo determinados parámetros para que utilicen los recursos apropiados y avisarle al resto del

sistema que son exclusivos para ésta, así ningún otro los reclama para su uso.

Los recursos que puede utilizar una placa o dispositivo, incluyendo aquéllos que están integrados en la

motherboard, son los siguientes:

• La dirección o rango de Entrada/Salida -I/0 Address Range- asignada para el intercambio de datos.

• El canal de DMA (DMA Channel).

• La línea de solicitud -o petición- de interrupción (IRQ).

• La dirección de ROM (ROM Address).

Las placas ya vienen preconfiguradas por el fabricante. En muchos casos, la configuraci6n original de la

misma puede ser adecuada en un sistema y no presentar ningún tipo de problemas al funcionamiento, pero

existen grandes posibilidades de que interfiera con el funcionamiento de las demás placas, debido a que el

fabricante no podrá saber qué direcciones de E/S, canales de DMA, líneas de IRQ y direcciones de ROM

se encuentran libres en la PC que se instalará, pues no todas están equipadas con los mismos dispositivos

o placas y, menos aún, configuradas de la misma manera.

Plug & Play y ESCD

Enchufar y usar -Plug & Play- o también PnP, es un estándar que define una forma de trabajo según la cual

todos los componentes del sistema intervinientes en el reconocimiento y la configuración de un dispositivo

de hardware, puede interactuar para realizar este proceso en forma automática utilizando los recursos que

Versión Preliminar 39

Page 40: Arquitectura de computadoras: Introducción

Electrónica 2

se encuentren disponibles. De esta forma se evitan los conflictos y complejidades cuando se agregan

nuevos dispositivos o placas.

Con PnP, en teoría, simplemente nos tendremos que ocupar de abrir la PC, conectar la placa nueva y

cerrarla nuevamente. Luego, al reiniciar el sistema, el BIOS y el sistema operativo reconocerán al nuevo

hardware que se ha instalado y se encargarán de configurarlo apropiadamente para que no interfiera con el

resto de los dispositivos. Ni bien arranque el sistema operativo, nos hará saber que ha reconocido la placa

o el dispositivo instalado y pedirá confirmación para instalar los drivers necesarios para que funcione

correctamente. Nuestra tarea en ese momento quedará limitada a introducir el CD-ROM o la carpeta del

disco rígido en donde se encuentren los drivers necesarios.

Sin embargo, para que PnP funcione como la teoría lo indica, deben estar perfectamente preparados los

siguientes elementos:

• El BIOS: los BIOS modernos incluyen el manejo completo de PnP para todos los puertos y buses

de EIS. También incorporan el manejo de ESCD -Extended System Configuration Data - Datos de

Configuración del Sistema Extendidos-, el cual reconoce los detalles de cada una de las placas y

dispositivos que se encuentran conectados a la PC a nivel BIOS. Además, estos BIOS permiten

realizar una asignación de recursos, tanto manual como automática, configurable completamente

desde el CMOS Setup, por cualquier incompatibilidad que se pueda presentar.

• El sistema operativo: el soporte de PnP está incorporado en los sistemas operativos Windows 9X,

Me, 2000; 2003 y XP. Además de facilitar la instalación de placas y dispositivos nuevos, facilitan la

detección y solución de conflictos entre los existentes.

• La placa o dispositivo que se va a instalar en la PC: la mayoría de las placas para los buses AGP,

PCI y PCI-X son totalmente compatibles con PnP y permiten una instalación muy sencilla y

eficiente, mucho de ello es debido a que estos buses fueron pensados para ser PnP desde sus

orígenes.

• Todas las placas y los dispositivos ya instalados en la PC: si se poseen placas conectadas con el

bus ISA, la especificación no funciona del todo bien y muchas veces es necesario terminar

configurando todos los parámetros en forma manual.

• El bus de expansión, puerto de E/S o bus de E/S en el cual se va a conectar la placa o dispositivo:

por ejemplo: cuando se enchufa una impresora al puerto USB, el sistema operativo la detectará

automáticamente y comenzará el proceso de instalación de los drivers; al finalizar tendremos la

impresora disponible para comenzar a trabajar sin necesidad de reiniciar el sistema. Otros ejemplos

del mismo caso son la instalación de cualquier otro dispositivo externo, como un lector de DVD

externo, una cámara digital o una unidad ZIP conectados al bus USB.

Si alguno de los componentes mencionados en la lista anterior no es cien por ciento PnP, se deberá

configurar la nueva placa o dispositivo manualmente, utilizando jumpers o DIP switches, facilitando así la

tarea de instalación, con la complejidad que ello implica. Además, debemos tener en cuenta que la

tecnología PnP no es perfecta y puede fallar. Eso nos obliga a efectuar el proceso de instalación en forma

manual, indicando todos los parámetros necesarios para que el nuevo componente funcione.

Versión Preliminar 40

Page 41: Arquitectura de computadoras: Introducción

Electrónica 2

Actualmente, la mayoría de los dispositivos y placas disponibles en el mercado son compatibles con PnP, o

por lo menos permiten configurar sus parámetros a través del software.

Direcciones de entrada/salida (E/S – I/O)

Las direcciones de E/S son las direcciones que utiliza la placa de expansión para comunicarse con el

microprocesador. El procesador es capaz de leer y escribir en la memoria accediendo a ésta por medio de

direcciones, que se transfieren a través del bus de direccionamiento. Así como la memoria tiene asignada

direcciones, también hay direcciones de entrada y/o salida para que el procesador pueda leer y escribir en

estas posiciones de la misma forma que lo hace con la memoria y pueda entonces comunicarse con

cualquier dispositivo por su dirección.

Cada dispositivo que se quiera comunicar con el procesador deberá tener asignado una dirección de E/S o

un rango de direcciones. Una misma dirección de E/S no puede ser utilizada por más de un dispositivo.

Una dirección de E/S se puede comparar con un armario con cajones numerados, en los cuales se puede

depositar información o tomar la información depositada. Cada cajón o grupo de cajones pertenecerán a un

dispositivo, por lo tanto, cuando el dispositivo desee comunicarse con el procesador, depositará información

en los cajones que tiene asignados.

Cuando el procesador quiera información sobre ese dispositivo, buscará dentro de los cajones que tiene

asignados y leerá la información, para luego dejarle otro mensaje, si así lo desea.

La PC tenía originalmente 1024 direcciones de E/S disponibles, de las cuales las primeras 256 (000h –

0FFh) están reservadas para los componentes de la motherboard o placa del sistema, mientras que los 768

restantes (100h - 3FFh) se pueden utilizar por las placas de expansión. Sin embargo, cuando se

estandariz6 el bus PCI, la cantidad de direcciones de E/S pasó a ser de 65.535, brindando una mayor

flexibilidad a las placas que utilizan este bus para configurarse. Se debe tener en cuenta que solamente las

placas PCI pueden acceder al rango completo de direcciones de E/S, las obsoletas basadas en un bus ISA

quedan limitadas a las antiguas 768 direcciones restantes.

Seguramente se preguntará, ¿si todas las direcciones de E/S de las placas estándar están

predeterminadas, cómo pueden surgir problemas? La respuesta es fácil si atiende al siguiente ejemplo:

instalo una placa de sonido que usa la dirección de E/S 220 Hex, dicha dirección se encuentra libre, por lo

tanto, no será utilizada por cualquier otro dispositivo estándar. Al poco tiempo, instalo una placa de red, la

cual ofrece varias direcciones de E/S, entre las cuales figura 220 Hex. Si selecciono esa dirección, no me

funcionarán ninguna de las dos placas correctamente y tendré que reconfigurar una de ellas para usar otra

dirección de E/S. A pesar de haber utilizado ambas direcciones que no traerían problemas con otros

dispositivos, éstas son la misma dirección.

Consulte en la bibliografía la lista de direcciones E/S más comunes utilizadas por dispositivos estándar.

Versión Preliminar 41

Page 42: Arquitectura de computadoras: Introducción

Electrónica 2

Se debe tener mucho cuidado, pues algunas placas no permiten cambiar el rango de direcciones de E/S, y

por lo tanto pueden causar problemas. Las placas compatibles con PnP son totalmente flexibles. Cuando

se cambian las direcciones de E/S de una placa, se debe notificar al driver. Por ejemplo, si se cambia la

dirección de E/S de una placa de sonido, se deberá indicar al controlador la nueva dirección de E/S.

Canales DMA (acceso directo a memoria)

Cuando la transferencia de información entre un dispositivo y el sistema se hace a través del

microprocesador, ésta puede resultar un tanto lenta. Algunos dispositivos están preparados para acceder

directamente a la memoria sin intervención del procesador, es decir, eliminando al intermediario. A esto se

lo denomina DMA (Direct Memory Access - acceso directo a memoria).

El controlador de DMA de las PC permite hasta cuatro canales de acceso directo a memoria. Como éstos

resultaban insuficientes, a partir de las AT se usaron dos controladores DMA, que permiten la utilización de

ocho canales.

Los primeros dos canales de DMA -0 y 1- estaban ocupados de arranque en las prehistóricas XT, pero

están libres en las PC modernas. El canal 2 está ocupado por el controlador de unidades de diskettes, por

lo tanto, en el mejor de los casos quedan solamente 7 canales DMA libres.

Las placas ISA -de 16 bits-, PCI y PCI-X pueden utilizar cualquiera de los 7 canales DMA libres. Es difícil,

pero no imposible, instalar una placa y que los DMA que ofrece la misma ya estén ocupados y no haya

manera alguna de encontrar un canal DMA libre. Si esto sucediera, es posible que la placa tenga la opción

de desactivar el canal DMA y transmitir información con el procesador como intermediario.

Líneas de IRQ (solicitud de interrupción)

Las líneas de IRQ -Interrupt Request - solicitud de interrupción- son vías para llamar la atención del

procesador. Cuando se activa una línea de IRQ, el procesador deja lo que estaba haciendo -de ahí viene el

nombre de interrupción- y desvía su atención al generador de la interrupción, ejecuta lo que éste desee y

luego continúa con su tarea anterior.

Un ejemplo típico del uso de interrupciones es la posibilidad de ver el desplazamiento del puntero del

mouse en la pantalla mientras éste se mueve por nuestro escritorio. A medida que se desplaza, se activa

una línea de interrupción que le indica al procesador que desplace el puntero en la pantalla y luego el

procesador vuelve a su tarea. Ésta es la razón por la cual, a veces, cuando se cuelga un programa bajo

Windows, el sistema no responde, pero el puntero del mouse se sigue desplazando.

Las prehistóricas XT poseían 8 líneas de interrupción, de las cuales solamente las últimas 6 estaban

disponibles para las nuevas placas, ya que las dos primeras se utilizaban para el cronómetro y el teclado,

respectivamente.

Las líneas de IRQ tienen prioridades que son respetadas, es decir, la línea de interrupción 3 es más

importante que la línea 6 y tiene prioridades sobre esta última. Sin embargo, las líneas de interrupción

pueden ser ignoradas, solamente basta que un programa le dé la orden al procesador y éste no prestará

atención a ninguna línea de interrupción que se active, hasta tanto el programa le dé la orden al procesador

de volver a prestarles atención.

Versión Preliminar 42

Page 43: Arquitectura de computadoras: Introducción

Electrónica 2

IRQ Dispositivo

0 Cronómetro del sistema (System timer).

1 Teclado

2 Esta interrupción se utiliza como vía de acceso a las IRQ 8-15.; Algunas

placas Super VGA con capacidades de cambio automático del modo de

video -autoswitching-, la utilizan en combinación con la IRQ 9.

3 COM2

4 COM1

5 Placa de sonido o controlador USB

6 Controladora de unidades de diskette.

7 LPT1:

8 Reloj en tiempo real.

9 Sin uso o placa de red.

10 Sin uso o placa de video con aceleración 3D.

11 Sin uso o placa de sonido.

12 Sin uso.

13 Coprocesador matemático

14 Canal IDE Primario.

15 Canal IDE Secundario.

En la tabla anterior se listan los usos más comunes que reciben las distintas líneas de interrupción. Una

línea de interrupción no se puede utilizar por más de un dispositivo al mismo tiempo, por lo tanto, se deben

configurar las placas de expansión que utilicen IRQ para que cada una use uno distinto y no haya colisión

de datos, lo cual haría que ninguna de las dos funcione correctamente.

Direcciones de ROM BIOS y Buffers (RAM)

Algunas placas controladoras incluyen una pequeña cantidad de memoria de sólo lectura -ROM-

pregrabada de fábrica, que contiene código de bajo nivel -BIOS- pudiendo ser llamado desde cualquier

programa. Un ejemplo de esto son las placas EGA y VGA que tienen un pequeño BIOS, mediante llamadas

a los códigos de bajo nivel incluidos en dicha memoria de solo lectura, se pueden escribir datos en pantalla,

cambiar un modo de video, acceder a funciones VESA, etc.

Es posible que más de una placa contenga una cierta cantidad de memoria. Si las placas intentan colocar

su ROM en la misma dirección de memoria, ninguna de ellas va a funcionar y habrá que cambiar sus

configuraciones.

Algunas placas incorporan una pequeña cantidad de RAM para utilizarla como memoria temporal. Éste es

el caso de las placas de red que necesitan un buffer -memoria temporal- de los mensajes de entrada o

salida para agilizar las transmisiones de datos.

Versión Preliminar 43

Page 44: Arquitectura de computadoras: Introducción

Electrónica 2

7. RENDIMIENTO DE UN SISTEMA

Se puede definir el rendimiento de un sistema como la capacidad que éste tiene para realizar un trabajo en

función del valor de una determinada característica.

En el caso particular de los computadores, su función primordial es la ejecución de instrucciones, luego su

rendimiento estará relacionado con el tiempo de ejecución de los programas. Este suele ser el de

respuesta, que es el tiempo total que necesita un sistema para completar una tarea.

Por lo tanto, el tiempo es la característica fundamental que condiciona el rendimiento y para maximizarlo se

intenta que el tiempo de respuesta sea el mínimo posible.

Cuando se comparan alternativas de diseño, con frecuencia lo habitual es relacionar el rendimiento de dos

máquinas diferentes. Es común oír la frase «la máquina X es más rápida que la máquina Y», pero, ¿qué

significa? Pues que el tiempo de respuesta de X es menor que el de la máquina Y.

Intuitivamente se puede decir que el computador que realiza la misma cantidad de trabajo que otro en

menos tiempo es el más rápido -a menor tiempo, mejor rendimiento-.

Parámetros del rendimiento

El rendimiento de una computadora depende de los siguientes parámetros:

• Frecuencia de la CPU (Fcpu) : es el número de ciclos por segundo al que trabaja el procesador, no

el sistema, ya que el resto de elementos, por ejemplo los buses, trabajan a menor frecuencia que la

CPU. La frecuencia de la CPU es un factor que viene determinado por la tecnología de fabricación

y la arquitectura interna entre otras características.

• Período de la CPU (Tcpu) : es una de las medidas básicas y es el tiempo que dura un ciclo de reloj

del procesador, cuya frecuencia es siempre constante. Esta relacionado con la frecuencia: T= 1/f.

Las microinstrucciones elementales se van ejecutando una a una en cada ciclo, por lo que el

número de ciclos total será igual al número de operaciones elementales en las que se divide una

instrucción.

• Ciclos por instrucción (CPI) : es el número medio de ciclos que una instrucción necesita para

ejecutarse en un programa determinado. Las diferentes instrucciones pueden necesitar diferentes

cantidades de ciclos en función de las operaciones que realicen. El CPI proporciona una medida

sencilla de comparación entre dos arquitecturas distintas. Es un valor fundamental a la hora de

determinar el rendimiento de una computadora.

• Número de instrucciones del programa : cuantas más instrucciones tenga un programa, más tiempo

tardará en ejecutarse, con la consecuente bajada del rendimiento. Por eso es fundamental que los

programas estén bien diseñados, lo cual es tarea del programador, y que el compilador asociado a

la máquina también reduzca al máximo el número de instrucciones máquina en las que se

descomponen las de alto nivel. Además, también será fundamental el repertorio de instrucciones

que soporte el procesador.

• Multitarea : las posibilidades de los computadores modernos de ejecutar varias tareas

simultáneamente dificultan la medida del rendimiento, ya que los tiempos son aquí menos

predecibles. El SO divide el tiempo del procesador entre las distintas tareas, cuando se refiere al

rendimiento se entiende que es el tiempo que dedica el procesador a una única tarea.

Versión Preliminar 44

Page 45: Arquitectura de computadoras: Introducción

Electrónica 2

Unidades de medida del rendimiento

Debido a la dificultad que supone calcular de manera precisa el rendimiento, se ha intentado recurrir a

métricas que lo evalúen sin tener en cuenta el tiempo de ejecución, ya que éste ha conducido en alguna

ocasión a resultados falseados o no del todo cercanos a la realidad. Estos métodos son buenos para

evaluar o comparar diferentes repertorios de instrucciones y también para evaluar el impacto de distintas

decisiones de diseño.

MIPS nativos

Se define la unidad de medida del rendimiento «MIPS» como los millones de instrucciones por segundo

que ejecuta un procesador para un programa determinado. Se puede calcular con facilidad partiendo de

una expresión general y sustituyendo en ella los valores que ya se conocen, tal y como se muestra a

continuación:

MIPS = Fcpu / (CPI x 106)

Esta medida se suele llamar «MIPS original» o nativo, ya que como se verá más adelante hay otras

definiciones de MIPS. La interpretación de los resultados es altamente intuitiva, a más MIPS, la máquina

será más rápida.

Sin embargo, esta unidad resulta poco útil ya que los MIPS pueden variar dependiendo del programa y del

tipo de instrucciones utilizadas. En general, al usar MIPS se presentan tres problemas potenciales:

• El número de MIPS está estrechamente relacionado con el número de instrucciones ejecutadas,

pero sin tener en cuenta las características de estas instrucciones. Por lo tanto, no es posible

comparar dos computadoras con parámetros distintos.

• El número de MIPS varía entre programas para un mismo computador, de forma que unificar MIPS

para todos los programas es imposible. ,

• Puede darse la situación de que los MIPS varíen inversamente al valor del rendimiento. Por

ejemplo, una computadora que tenga hardware especial para operaciones en coma flotante tendrá

instrucciones que necesiten más tiempo para su ejecución y tendrán menor valor de MIPS.

MIPS VAX

Para poder utilizar a los MIPS como unidad de medida del rendimiento en forma correcta, y para diferentes

escenarios de instrucciones, se deben convertir en un valor relativo que haga referencia a alguna máquina

elegida por consenso. Esta unidad se denomina MIPS Relativos y se define como:

MIPS Relativos CPU = (Tp Referencia / Tp CPU) x MIPS Referencia

Se suele utilizar el VAX11/780 como computador de comparación y los MIPS VAX son simplemente la

relación entre el tiempo de ejecución de un programa en el VAX y el tiempo de ejecución del programa en

el computador que se desea comparar, con lo que se obtendrá una relación de velocidad entre uno y otro.

MFLOPS nativos y normalizados

Tanto los MIPS nativos como los MIPS relativos se emplean para hacer referencia a instrucciones que

trabajan con números enteros. Con la aparición de numerosos programas que trabajaban en coma flotante

surgieron los MFLOPS como una nueva alternativa para la medida del rendimiento. Los MFLOPS nativos

Versión Preliminar 45

Page 46: Arquitectura de computadoras: Introducción

Electrónica 2

se definen como los millones de operaciones en coma flotante por segundo. Matemáticamente se expresa

de la siguiente forma:

MFLOPS = Número de operaciones en coma flotante / (Tiempo de ejecución x 106)

Se recibieron muchas críticas por parte de los fabricantes, ya que este índice no distingue en la complejidad

de las operaciones y algunos computadores sólo tienen operaciones sencillas, en tanto otros tienen

algunas más complejas que tardan más en ejecutarse. Por eso, se comenzó a hablar de los MFLOPS

Normalizados o Relativos, que son un intento de normalizar las instrucciones más complejas en una

cantidad equivalente de operaciones simples que sea aceptada por los fabricantes.

Rendimiento pico

El «rendimiento pico» es el rendimiento máximo que se puede llegar a obtener de una máquina.

Lógicamente. Para calcularlo habrá que elegir muy bien las instrucciones y ponerlas en la forma adecuada

para evitar las posibles detenciones y minimizar al máximo el CPI. El rendimiento pico bien calculado

asegura que su valor no se sobrepasará en ningún caso el real.

Conociendo esta unidad de medida es posible averiguar la potencia aprovechada de la máquina, en

muchos casos bastante inferior al máximo. Por ejemplo, hay casos en que los rendimientos pico son hasta

10 veces superior al rendimiento observable con los programas normalmente utilizados.

Como conclusión se puede decir que hay que huir de caracterizar una máquina con una única estimación,

bien sea MIPS, MFLOPS, frecuencia de reloj, etc., ya que pueden inducir a error. Actualmente se utilizan

programas de prueba avanzados que miden características concretas de los computadores lo que puede

proporcionar una visión de conjunto del rendimiento global de la máquina.

¿Que es y para que sirve un programa de Benchmarks?

Utilice algún programa de benchmark disponible en la Web y medir rendimiento de por los menos dos

equipos similares, y compararlos. (SYSMark. CPUmark99, Winston99, JMark u otro)

8. OTRAS ARQUITECTURAS DE PCS

Consulte y descargue el material del aula virtual referido al tema (o en la bibliografía obligatoria).

Versión Preliminar 46