Vous êtes sur la page 1sur 11

Introduccin e Historia de los Microprocesadores

1. El microprocesador: es el elemento de control (el ms importante) en una


computadora o sistema digital avanzado (PDAs, Celulares, Ipods, etc.).
2. Qu tipo de instrucciones puede ejecutar un microprocesador?
Las instrucciones de un microprocesador pueden ser tpicamente:
Operaciones lgicas como AND y OR
Operaciones aritmticas como sumar, restar, multiplicar y dividir
Guardar y leer variables o constantes en memoria
Realizar saltos (branches) a otras partes del programa (muy importante
ya que me permite tomar decisiones)
AND AX,BX BRA LOOP
3. Cmo funciona un Microprocesador?
En la ejecucin de las instrucciones, el microprocesador hace las mismas cosas
constantemente:
Una instruccin es leda de memoria.
El microprocesador descubre que debe hacer.
La instruccin es ejecutada.

Historia del Microprocesador


El factor principal que empujo el desarrollo de los microprocesadores fue la
necesidad de tener un dispositivo de control de propsito general.
Los circuitos integrados que se diseaban eran de propsito especfico y debido a
los grandes tiempos de diseo e implementacin y a la baja produccin, eran muy
costosos.
Fiabilidad y Robustez:
Mientras menos conexiones mecnicas tiene
Una aplicacin muy rentable y de gran demanda en esos tiempos las calculadoras
de bolsillo.
Esto motiv a Texas Instruments a desarrollar el primer microprocesador, el TMS
1000 en Septiembre 17, 1971
Casi al mismo tiempo, Busicom, una empresa Japonesa de calculadoras contrat
a una pequea empresa para que le desarrollar un microprocesador para su
lnea de calculadoras.
Como recordarn, Robert Noyce co-descubri el circuito integrado.
Gordon Moore es ms conocido por una observacin y prediccin que l realiz
llamada ahora Moores Law. Esta indica que el nmero de transistores en un
microprocesador se duplica cada ao.
Intel realiz el proyecto para Busicom y desarroll el 4004 en Noviembre 15, 1971.

Intel se propuso desarrollar un microprocesador de 8 bits que pudiera utilizarse


para cualquier aplicacin y en 1974 desarroll el 8080.
El 8080 fue extremadamente popular y fue uno de los microprocesadores de
eleccin en las primeras computadoras personales como la Altair 8800. Tena
aprox. 5,000 transistores y operaba a 2 MHz.
La Altair 8800 fue la computadora que inspir a dos jvenes a fundar una empresa
de software, ahora muy conocida.
Quines estuvieron detrs de estos procesadores de Intel?
Los principales desarrolladores tanto del 4004 como del 8008 y 8080 fueron
Federico Faggin y Ted Hoff.
Motorola desarroll en 1974 el 6800, competencia directa del 8080.
procesador es el inicio de una familia de procesadores muy populares

Este

El 6809 fue muy utilizado en computadoras como la TRS-80 y juegos como


Defender y Robotron.
AMD desarroll en 1975 el AM9080, un cln del 8080 realizado por medio de
ingeniera inversa.
Este bajo costo motiv a otros dos jvenes a iniciar un negocio de computadoras
en 1976
Los dos fundadores de Apple, Steve Jobs y Steve Wozniak comenzaron en su
garage a armar computadoras y el resto es historia conocida
Zilog desarroll en 1976 el Z-80. El Z-80 era un procesador ms rpido, ms
avanzado y ms barato que el 8080. Fue muy popular, al igual que el 6502.
Zilog fue fundada en 1974 por Federico Faggin, como recordaran, el principal
diseador de Intel.
Volviendo al Z-80, este fue utilizando en varias computadoras como la Sinclair y la
Commodore 128 as como en perifricos como impresoras, juegos como Pac-Man
y Galaga y, calculadoras como la TI-86
A finales de los 70s, IBM, que era la empresa lder de computadoras comerciales,
quera ingresar al mercado de las computadoras personales.
Aparentemente, IBM habl con Intel y Motorola para que le presentaran un
procesador funcional de 16 bits.
Intel respondi antes, y en 1978 lanz al mercado el 8086 que dara inicio a la
familia x86.
IBM escogi al 8086 sobre el producto (68000) de Motorola para su IBM-PC.
La IBM-PC utilizaba una versin ms barata del 8086 con bus de datos de 8 bits,
el 8088.

Durante este tiempo, comienza a surgir un movimiento en el diseo de


microprocesadores, buscando diseos ms simples, este era el movimiento RISC.
Paralelamente, David Patterson (en Berkeley) trabaj en el proyecto RISC y
John Hennessy (en Stanford) en el proyecto MIPS.
Las principales arquitecturas RISC han sido: MIPS, Sun SPARC, ARM, IBM
RS6000, HP Precision, DEC Alpha, Intel i860 y el Motorola 88000.
De todos los procesadores RISC, posiblemente los ms utilizados han sido los
MIPS y ARM. Entre las aplicaciones ms conocidas de los MIPS estn: Routers
Cisco, Nintendo 64, Playstation 1 y 2 y PSP. Los procesadores ARM se utilizan
principalmente en telfonos celulares y PDAs.
El 80486 tena aproximadamente 1,180,000 transistores y operaba a una
frecuencia de entre 16 y 100 MHz. El i486 implementaba muchas de las mejoras
de los procesadores RISC como caching, pipelining y unidad de punto flotante.

CISC vs RISC
CISC (Complex Instruction Set Computer).
Al iniciarse el desarrollo de Microprocesadores, los diseadores se encontraron
con los mismos problemas que con los circuitos digitales de propsito especfico:
Largos tiempos de desarrollo
Gran costo de errores de diseo/implementacin
La complejidad tpicamente se originaba en la lgica de control que hace que
todos los componentes trabajen de la forma correcta.
La solucin: utilizar una memoria (tipo ROM, no voltil) para implementar esta
lgica de control. Las entradas de la lgica de control crean la direccin de la
memoria y el contenido de la posicin de memoria son las salidas de control
internas.
As, se acortan los tiempos de desarrollo y si hay cambios, basta con modificar
el microcdigo.
Se busc entonces resolver un problema de ese tiempo: acortar la brecha
semntica (semantic gap).
El semantic gap es la diferencia entre la representacin de un problema en un
lenguaje de alto nivel y el lenguaje de mquina.

CISC (Resumen)
Objetivo: Ayudar al programador de Assembler.
Estrategia: Reducir la brecha semntica.
Caractersticas de CISC:
Control interno por medio de microcdigo
Gran cantidad de instrucciones
Muchos modos de direccionamiento
Pocos registros
Casi todas la instrucciones pueden utilizar la memoria como operando
Largo de instrucciones variable

RISC
Surgi un movimiento, plasmado en un artculo tcnico de
llamado Reduced Instruction Set Computer.

William Stallings

Propona reducir drsticamente el nmero de instrucciones, los modos de


direccionamiento y restringir los accesos a memoria a las instrucciones de Load y
Store
Su objetivo era maximizar el desempeo del procesador.
Estos cambios implicaban que la lgica de control sera ms simple y podra ser
implementada con compuertas (ms rpido que microcdigo), como en los inicios
del microprocesador.
La simplificacin permiti implementar ciertas mejoras arquitecturales que a la
fecha solo se encontraban en los procesadores de mainframes y
supercomputadoras, como caching y pipelinening.
El rea de pastilla que ocupara la lgica de control era menor y permita incluir
otras cosas deseables en la pastilla como caches y Floating Point Unit (FPU).
Los procesadores RISC deben tener ms registros y normalmente implementan
una arquitectura de set de instrucciones 3 address machine.

RISC (Resumen)
Objetivos: Maximizar el desempeo.
Estrategia: Implementar mejoras arquitecturales, lgica de control ms rpida,
facilitar la implementacin de algoritmos optimizantes en los compiladores.
Caractersticas de RISC:
Control interno por medio de compuertas (hardwired)
Poca cantidad de instrucciones
Pocos modos de direccionamiento
Muchos registros
Accesos a memoria restringidos a Loads y Stores
Largo de instrucciones fijo

CISC vs RISC
En la actualidad, las arquitecturas CISC de alto desempeo se han beneficiado de
las mismas mejoras arquitecturales que los RISC implementaron por primera vez
(caching, pipelinening, etc.).
Debido a compatibilidad y a recursos de desarrollo, los RISC no han obtenido
popularidad en el segmento de desktops y laptops.
Son populares en los segmentos de Servidores de medio y alto desempeo y
aplicaciones embedded.

Aceleracin de una Tarea


Paralelismo
Consiste en realizar trabajo en paralelo, al mismo tiempo.
Hay, tpicamente dos acercamientos al paralelismo:
Realizar la misma tarea al mismo tiempo ,
Dividir la tarea en sub-tareas y realizar estas al mismo tiempo.
Pipelining
Es una forma de paralelismo que consiste en dividir la tarea en sub-tareas y
realizar estas al mismo tiempo.

Pipeline latency: El tiempo en que el pipeline tarda en llenarse.


Speed-up: aumento de desempeo
Instruction level parallelism (paralelismo a nivel de instruccin): Para
acelerar la ejecucin de una tarea en la computacin podemos aplicar
pipelining a la ejecucin de las instrucciones.
En la ejecucin de una instruccin siempre se realizan ciertos pasos:
Leer la instruccin de memoria,
Decodificar la instruccin (qu debe hacer la instruccin),
Ejecutar la instruccin y a veces,
Guardar un resultado.

Pipeline Hazards
Existen problemas adicionales, propios de la naturaleza secuencial de la ejecucin
de los programas.
Estos se denominan pipeline hazards.
Los pipeline hazards se dividen en tres tipos:
Structural Hazards
Control Hazards
Data Hazards
Structural Hazards
Los Structural Hazards ocurren cuando dos o ms etapas del pipeline tratan de
utilizar el mismo recurso nico. Esto es reconocido como un error de diseo.
Control Hazards
Los Control Hazards ocurren cuando se altera el flujo normal secuencial de un
programa debido a saltos (branches) y llamadas a subrutinas (calls).
Para tratar de disminuir este impacto hay dos tipos de soluciones:
Estrategias Estticas
Estrategias Dinmicas
Las estrategias estticas son las que se implementan durante la compilacin.
Las estrategias dinmicas son las que se implementan durante la ejecucin del
cdigo.
Data Hazards
Los Data Hazards ocurren cuando una etapa del pipeline trata de accesar un dato
que an no est disponible, ya que est siendo actualizado por una istruccin
anterior

Data Dependencies
Hay dos tipos de Data Dependencies:

True o Real Data Dependencies


Name Dependencies
True Data Dependencies:
Esto es cuando hay flujo de informacin entre dos instrucciones i y j.
Name Dependencies:
Esto es cuando no hay flujo de informacin entre dos instrucciones que utilizan
el mismo Name. Name es el conjunto que incluye tanto a los registros como a las
posiciones de memoria. Hay de dos tipos:
Write After Write (WAW) y
Write After Read (WAR).
Name Dependencies:
En el Write After Write (WAW), dos instrucciones escriben al mismo name.
En el Write After Read (WAR), una instruccin lee y luego otra escribe al mismo
name.
Los mtodos para reducir o eliminar los data hazards son:
a) Incorporar hardware adicional al pipeline para que estn disponibles los
resultados antes (en registros temporales).
b) Reordenar las instrucciones para cambiar la separacin entre data
dependencies.
Paginacin consiste en dividir la memoria fsica en bloques de tamao fijo
llamados frames (marcos) y dividir la memoria lgica en bloques de mismo
tamao llamados pages (pginas)
John Von Neumann (28-12-1903 a 8-2-1957)
En la arquitectura von Neumann consta de un solo dispositivo de almacenamiento
en el cual se encuentran tanto las instrucciones como los datos.
UNIDAD DE CONTROL: Es la unidad encargada de interpretar las instrucciones
del programa y el control de las partes del procesador:

Registro de instrucciones
Conteo de instrucciones
Registro de estados o flags
Decodificador
Reloj

UNIDAD DE EJECUCIN: Es la unidad central del procesador. En ella se da los


siguiente:
Unidad aritmtica lgica
Los registros
MEMORIA: En ella se almacenan las instrucciones y los datos del programa.

UNIDAD DE ENTRADA Y SALIDA: es la unidad que conecta el procesador con la


parte exterior.
CICLO DE TRABAJO
Como todo sistema se requiere un orden de ejecucin para lograr el objetivo del
programa, para el modelo de von Neumann el ciclo de trabajo es:
Obtener
El programa ejecuta el primer segmento de memoria, incrementando el contador
de instrucciones para el siguiente ciclo, y as poder ir a la siguiente instruccin.
Decodificar
La instruccin se traduce o decodifica en un lenguaje utilizable para la unidad de
ejecucin
Buscar operadores lgicos
Aqu es donde se busca la posicin de memoria donde se encuentra el operador
lgico deseado para luego ser ejecutado.
Ejecutar
La unidad lgica aritmtica realiza las operaciones deseadas y reescribe en los
registros o la memoria de acuerdo con el resultando
Tipos de memorias para un procesador con arquitectura Von Neumann
En el modelo de Von Neumann se utilizan memorias tipo EPROM. En dicha
memoria se encuentran tanto los datos como las instrucciones siendo 00h

TIPOS DE REGISTROS
MBR = Registro de Buffer de memoria
MAR = Registro de direccin de memoria
IR = Instruccin de registro
IBR = Instruccin de buffer de registro
PC = Contador de programa
AC = Acumulador

Ventajas del modelo Von Neumann


Eficiencia de tamao:
Un programa en ensamblador no ocupa mucho espacio en memoria porque
no tiene que cargar libreras.
Flexibilidad:
La flexibilidad el sistema es tan grande como las aplicaciones de la
computadora a procesos o aplicaciones, y dado que se programa en
lenguaje maquina no se requiere de cambios de software o hardware.

Desventajas del modelo Von Neumann


Tiempo de programacin: Como es un lenguaje de bajo nivel requiere
ms instrucciones para realizar el mismo proceso en programacin que con
un lenguaje de alto nivel.
Programas fuentes muy extensos: Por las mismas razones que aumenta
el tiempo de programacin as aumenta el tamao del programa, dado que
requiere ms instrucciones en lenguaje mquina que en un entorno grfico.
BUS DE DATOS: Posee un nico bus de datos para acceso a memoria.

Vous aimerez peut-être aussi