Sie sind auf Seite 1von 25

UNIVERSIDAD NACIONAL DE INGENIERIA

RECINTO UNIVERSITARIO SIMON BOLIVAR Facultad de Electrotecnia y Computacin Departamento de Arquitectura y Sistemas

Folleto de Arquitectura de Mquinas Computadoras II Curso 2010

Docente: Jos Daz Chow

Managua, Agosto de 2010

INDICE DE CONTENIDO
1
1.1 1.2 1.3 1.4 1.4.1 1.4.2

INTRODUCCION A LA ARQUITECTURA DE COMPUTADORAS


INTRODUCCION A LA ASIGNATURA EVOLUCION DE LAS COMPUTADORAS. MQUINA SECUENCIAL DE PROGRAMA ALMACENADO. ORGANIZACION DE LA COMPUTADORA. ENFOQUE FUNCIONAL ENFOQUE ESTRUCTURAL

1
1 1 6 8 8 10

2
2.1 2.2 2.3 2.4 2.5

ORGANIZACION DEL PROCESADOR


EL PROCESADOR INSTRUCCIN Y CICLO DE INSTRUCCIN ELEMENTOS PARA ESTRUCTURAR EL PROCESADOR ESTRUCTURA BSICA DEL PROCESADOR ARQUITECTURAS DE ACUMULADOR, PILA Y REGISTROS. MQUINA DE ACUMULADOR MQUINA DE PILA MQUINA DE REGISTROS.

12
12 12 12 14 16 16 17 19

2.5.1 2.5.2 2.5.3

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

1 INTRODUCCION A LA ARQUITECTURA DE COMPUTADORAS


1.1 INTRODUCCION A LA ASIGNATURA
En esta asignatura se inicia al estudio de la Arquitectura de Computadoras que en nuestro caso comprende diseo, estructura e implementacin de las mismas. Aunque se suele diferenciar entre Arquitectura y Organizacin de computadoras, en nuestro curso, cubriremos los aspectos de ambas reas bajo el mismo nombre de arquitectura. Dado que estos conceptos estn ntimamente relacionados, es importante diferenciarlos. Para ello podemos partir de que: Arquitectura son los atributos de un sistema que son visibles para un programador. Es decir, aquellas caractersticas que determinan la ejecucin lgica de un programa. Conjunto de instrucciones, nmero de bits usados para representar datos, modos de direccionamiento de los mismos, forma de codificacin de las instrucciones, denominacin de los registros, puertos y mecanismos de E/S, tcnicas para mapeo y direccionamiento de memoria. Ejemplo: Hay una instruccin de multiplicar? Organizacin se refiere a cmo se implementan las caractersticas estructuralmente. Estructura y funcionamiento de la ALU, Seales de control, buses e interfaces, tecnologa de memoria. Ejemplo: Hay una unidad de multiplicar o se hace por sumas repetidas? Podemos relacionar la Arquitectura con la Organizacin si tomamos en cuenta que la organizacin es la forma de implementar la Arquitectura. Por ejemplo, una Arquitectura puede tener diferentes implementaciones generando familias de mquinas que tienen la misma arquitectura pero diferente organizacin. Esto permite compatibilidad del software (al menos hacia atrs). Ejemplos claros de estas familias de mquinas son la IBM System/370 y la 80x86 de Intel.

1.2 EVOLUCION DE LAS COMPUTADORAS.


Histricamente podemos definir dos grandes eras en la evolucin de las computadoras. La primera denominada mecnica que comprende ms o menos desde el ao 1600 hasta 1943. En sta se han registrado una serie de artefactos de clculo mecnico como la Pascalina, el cilindro de pasos de Leibniz, culminando con una serie computadoras ms o menos programables que empleaban rels electromecnicos. La mayora de estas mquinas no son de mucho inters, dada su tecnologa y la asignatura que nos atae, sin embargo es importante anotar algunos hechos relevantes que fundaron los conceptos de la arquitectura de computadoras como la conocemos hoy da. Anotaremos algunos de estos hitos: Blaise Pascal (1642): Matemtico. Pascalina: suma y resta.
Profesor: Jos Daz Chow Pgina 1

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

Gottfried Leibniz (1673): Matemtico e inventor. Mejora Pascalina: Sumar, restar, multiplicar y dividir. Antonius Braun (1727): Matemtico Primera calculadora mecnica completa. Charles Babbage (1822): Matemtico, Padre del computador moderno. Mquina diferencial: Clculo automtico de tablas matemticas. Mquina analtica: Realiza cualquier operacin matemtica. (No se complet) George Boole (1847): Anlisis matemtico lgico. Investigacin de las leyes del pensamiento, Algebra de Boole. Herman Hollerith (1889): Mquina de tarjetas perforada moderna. Constituy la Tabulating Machine Company (IBM actual). Redujo tabulacin del censo de EUA de 7.5 aos a dos meses. Konrad Zuse (1938): Construy el primer computador mecnico, el Z1. Mquina binaria. Sin apoyo del gobierno. No quedan vestigios. Howard Aiken (1943): Diseo el Harvard Mark 1. Computador electromecnico inspirado en la mquina de Babbage. En resumen, en la era mecnica se disearon computadores basados en dispositivos mecnicos para reducir el tiempo de clculo y aumentar la precisin de los resultados. Esto tuvo dos grandes desventajas: la velocidad limitada debido a la inercia de los componentes mviles (engranajes y poleas) y un producto pesado, poco fiable y costoso. Destaca con especial connotacin, la conceptualizacin de una mquina de propsito general, la mquina analtica de Babbage que ya presenta un diseo basado en unidades especializadas (Mill, control, entrada y salida) y el empleo de instrucciones para definir la operacin a realizarse. Esta misma conceptualizacin fue la base del xito del Mark I (aunque lo venci la tecnologa) e ingrediente de la arquitectura de computadoras posterior. La segunda era, en la cual an vivimos, se denomina electrnica y se inicia en 1946 con el lanzamiento oficial de la primera computadora electrnica de propsito general, el ENIAC. El ENIAC (Electronic Numerical Integrator And Calculator) fue completado hasta en 1946, bastante tarde para su propsito, pues el proyecto fue una respuesta a necesidades militares de los Estados Unidos en tiempos de la segunda guerra mundial. El laboratorio de Investigacin de Balstica (BRL) del Ejrcito, una agencia responsable del desarrollo de tablas de tiro y de trayectorias para nuevas armas, tenia dificultades para elaborar tales tablas con exactitud y dentro de un plazo de tiempo razonable. Sin estas tablas de tiro, las nuevas armas y piezas de artillera eran intiles para los artilleros. El BRL emple a ms de 200 personas, la mayora mujeres; las cuales, utilizando calculadoras de mesa resolvan las ecuaciones balsticas necesarias. La preparacin de las tablas para una sola arma le habra llevado a una persona muchas horas, incluso das. John Mauchly, un fsico catedrtico de Ingeniera Elctrica de la Universidad de Pensilvania, y John Presper Eckert unos de sus alumnos, propusieron construir un computador de uso general usando tubos de vaco,
Pgina 2 Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

para utilizarlo en las aplicaciones de la BRL. En 1943 esta proposicin fue aceptada por el ejrcito y se comenz a trabajar en el ENIAC. La mquina era enorme: pesaba 30 toneladas, ocupaba 1,5000 (unos 9 x 15 metros) pies cuadrados. Contena ms de 1,8000 tubos de vaco, unas 70,000 resistencias, 10,000 condensadores, 6, 000 conmutadores y consuma 140 kilovatios de potencia. Su ventaja era su velocidad, unas 1,000 veces ms rpida que cualquier predecesor electromecnico, ya que era capaz de efectuar 5,000 sumas por segundo. Con el surgimiento del ENIAC se da la primera generacin de Computadoras. Para hacer justicia a la historia, debe mencionarse que aparentemente antes del ENIAC, Konrad Suze en Alemania dise y construy un computador electrnico completo y funcional, sin embargo ste fue destruido en la segunda guerra mundial y no existe evidencia que respalde el dato histrico. El ENIAC era una mquina decimal y no binaria. Es decir, los nmeros estaban representados en forma decimal y la aritmtica se haca tambin en forma decimal. Su memoria consista en 20 acumuladores cada uno capaz de mantener un nmero de 10 dgitos. Cada dgito estaba representado por una serie de diez tubos de vaco. En un momento dado slo un tubo estaba en ON representando un dgito. Uno de los mayores inconvenientes del ENIAC era que tena que ser programado mediante conmutadores e interconectando cables. Como hemos visto, la tarea de programar una mquina como el ENIAC era muy tediosa. Se lleg a la conclusin que la programacin de la misma sera ms fcil y prctica si se pudiera especificar el programa de alguna manera formal y sencilla que la mquina pudiera interpretar de la misma manera en que se interpretan los datos. Es ms, si estas instrucciones se guardaran en alguna parte de la memoria, el procesador podra cargar y ejecutarlas secuencialmente desde all. Esta idea conocida como Concepto de Programa Almacenado, se atribuye a John Von Neumann, Matemtico Hngaro asesor del proyecto ENIAC. Paralelamente Turing, haba propuesto la misma idea de una forma diferente basada en un autmata finito que lee la definicin de su comportamiento desde una cinta perforada. La arquitectura de Von Neumann, especificada como modelo para la construccin de un computador de programa almacenado denominado IAS, fue Implementada en 1952. Los aos 50 contemplaron el nacimiento de la industria de los computadores comerciales. Dos compaas dominaron el mercado: Sperry e IBM. En 1947 Eckert y Mauchly se asociaron y crearon la primera computadora con fines comerciales UNIVAC I que poda realizar tanto operaciones cientficas como comerciales. A la UNIVAC I sigui una serie de computadores comercializados por la Sperry-Rand, con un predominante enfoque al campo cientfico. Un hecho importante es la invencin de la memoria de ferrita en 1952 por Jay Forrester en el MIT. IBM por su parte sac al mercado su primera mquina de programa almacenado en 1953: el 701, diseado sobre todo para aplicaciones de gestin. La serie que sucedi al 701 de IBM en los 50 la puso a la cabeza del mercado de Computadores para negocios. Tambin en 1953 Fujitsu lanza la primera computadora japonesa: Facom100. La segunda generacin: Los transistores. El primer cambio importante en los computadores vino con la sustitucin de tubos de vaco por transistores. El transistor es ms pequeo, ms barato, disipa menos calor, se puede conectar en placas discretas evitando las grandes masas de conductores y puede ser usado de la misma manera que los tubos en la construccin de computadores. Este fue inventado en 1947 en los laboratorios Bell y en los 50 provoc una gran revolucin electrnica. Sin embargo las computadoras totalmente transistorizadas emergieron hasta finales de la dcada. Con la nueva tecnologa, aparecieron
Profesor: Jos Daz Chow Pgina 3

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

nuevos nombres en el mercado cono NCR, RCA y la DEC, creadora de las populares PDP. IBM pronto consigui cerrar la brecha y se puso a la cabeza en ventas con la serie 7000 donde destac la 7094, que introdujo un prefetch rudimentario y el multiplexor para organizar los accesos a memoria desde el CPU o los canales de datos. Emergen las supercomputadoras a principios de los sesentas. Tercera Generacin: Circuitos integrados. Con la introduccin de la microelectrnica a mediado de los 60 se pudo autocontener una cantidad de componentes discretos en un solo encapsulado, logrando mejoras en la velocidad de transferencia entre los dispositivos internos. A esta poca corresponden mquinas con tecnologa de pequea y mediana escala de integracin. La memoria, antes de ncleos de ferrita, es semiconductora ahora. Surge la lnea 360 de IBM y las PDP-5 / PDP-8. La Cuarta Generacin bsicamente la pauta INTEL con la invencin del chip microprocesador ( P). Un procesador completo autocontenido en un integrado, gracias a las ventajas de la tecnologa MOS. Debido al gran xito de los microprocesadores Intel, pronto aparecen otros fabricantes en el terreno, como la National Semiconductor, Zilog y Motorola. El 4004. El primer P del mundo era de 4 bits y poda acceder a 4,096 palabras de 4 bits. Su repertorio consista de 45 instrucciones que limitaban bastante su campo de aplicacin. En 1971, Intel lanz el 8008, un P de 8 bits, con 3 instrucciones nuevas y memoria direccionable de 16K x 8. Todava muy limitado para aplicaciones grandes, el 8008 tuvo que ser reemplazado en 1973 por el 8080, el primer P moderno. El 8080 corra 10 veces ms rpido que el 8008, poda direccionar ms memoria y era TTL compatible lo que hizo al P viable para muchas otras aplicaciones. Tena 7 registros de 8 bits, un puntero de pila de 16 bits y un PC de 16 bits tambin. Pronto las otras compaas empezaron la produccin masiva de Ps de 8 bits. La explosin haba comenzado. En el 77, Intel introdujo el 8085, que era slo un poco ms rpido que el 8080 e integraba el reloj y el controlador del sistema al chip. Zilog introdujo el Z80 de 8 bits, con 80 instrucciones ms que el 8008, bus de direcciones de 16 bits (512K en RAM) y permita interrupciones vectorizadas. El Z80 ha sido un procesador muy popular en la industria de controladores de hardware para mando de procesos productivos. Por este tiempo, tambin Motorola lanz su procesador 6800 de 8 bits, 16 bits de direcciones, 2 registros de datos, 1 de ndice y un SP, todos de 8 bits. Pronto lo siguieron el 6801, 6803 y el 6809 que duplicaba los ndices y el SP y poda multiplicar. En 1978 se lanza el 8086 y un ao despus el 8088. Ambos eran dispositivos de 16 bits, con un tiempo de ejecucin de unos 400 ns/instruccin. Adems podan direccionar hasta 1MB de RAM o 512K palabras de 16 bits. Esto permiti al P poder ejecutar las aplicaciones que se corran en minicomputadoras pequeas. Se agreg hardware para multiplicar y dividir. La diferencia del 8088 con el 8086 era la bsqueda de compatibilidad hacia atrs. El 8086 tena una ruta de datos de 16 bits en tanto el 8088 la tena de 8, adems su capacidad de prefetch variaba pues la cola del 8086 era de 6 y la del 8088 slo de 4 bytes. Por ese tiempo National Semiconductor presenta el PACE de 16 bits y Texas Instruments saca al mercado su TMS9900 que tena todos sus registros en memoria (que para la poca era ms rpida que los registros). Un hecho de necesaria mencin es el surgimiento de la PC o microcomputadora personal de IBM en 1981, que vino a revolucionar el mercado y las tendencias de la computacin en los ltimos aos.
Pgina 4 Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

Pronto la revolucin de los 16 bits cobra auge con la aparicin de grandes mejoras en los diseos. Aqu vale la pena mencionar el MC68000 de Motorola y el Zilog Z8000, el NS16032 de National, el i80286 y el MC68010. El Z8000 tena 16 registros de 16 bits utilizables como registros de 8, 16, 32 y 64 bits. Inclua multiplicacin y divisin de 32 bits. El 68000 era un procesador de 32 bits en realidad con empaquetado externo de 16. Su bus de direcciones era de 24 bits y no usaba registros de segmentos. Estos procesadores permitan el uso de dos modos de operacin: usuario y supervisor o sistema operativo (protegido). Los 80 trajeron la produccin de chips de 32 bits y los procesadores RISC. El 80386 de Intel apareci en el 85. Intel entr algo tarde a los productos de 32 bits. Sabemos que Motorola tena procesadores de 32 bits internos que mantena como de 16 para estar en la competencia. Los laboratorios Bell y Hewlett Packard haban lanzado ya procesadores de 32 bits al mercado al igual que la NS con el NS32032. Una serie de mejoras a los procesadores de 32 bits se incluyen a finales de los 80 con la aparicin del 80486 que ya incluye caractersticas de paralelismo prestadas de RISC. Toman auge como competencia de Intel en la produccin de P, las compaas Cyrix, IBM y AMD. El campo de mayor produccin y venta es el mercado de las microcomputadoras del tipo IBM Compatibles, basadas en la familia 80x86 de Intel y sus competidores, con lo cual se lucha por darle al microprocesador toda la potencia de las maxicomputadoras. En el mundo del microprocesador, tan vasto, la ruta de los procesadores para IBM PC compatibles es ms fcil de seguir y afn a nuestro entorno, por tanto en el resto de esta breve resea histrica, nos centraremos en la evolucin de estos procesadores. En 1993, al 80486 le sucede el Pentium, un procesador de 32 bits con ruta de datos de 64. El Pentium introduce mejoras grandes en su arquitectura, que se irn refinando con el tiempo. Los competidores lanzan el respectivo Pentium relative 5x86 de Cyrix y luego el 6x86. AMD por su cuenta presenta el K5. Al Pentium le sigui el Pentium-Pro de Intel, diseado para sistemas de alto rendimiento. Integra muchas tcnicas de paralelismo y una gran cach en el mismo chip. El uso de gran volumen de informacin grfica y sonido en los ltimos aos hizo que los fabricantes pusieran especial inters en el paralelismo y los multimedios, con lo cual aparecen en escena el MMX y posteriormente el Pentium II de Intel. Por su lado Cyrix presenta el Media GX y 6x86MMX para competir con Intel. AMD presenta el K6 y el K6-2 con un nuevo repertorio grfico 3D Now. Con la introduccin del Pentium II, Intel clasific sus procesadores en tres categoras, segn su capacidad y mercado destino: Celeron (inicialmente sin cach y luego con solo 128 KB a velocidad plena del CPU para una PC bsica), Pentium II propiamente (de 512K de cach iniciales y orientado a estaciones de trabajo) y el Xeon que est especialmente diseado para servidores y que contaba con cachs de hasta 2Mb y velocidades de hasta 450 MHz. Para evitar perder el liderazgo en el mercado, con la introduccin del conjunto de instrucciones especializados para multimedios y juegos de AMD, Intel reposta con la introduccin de su propio conjunto extendido SSE que integra en el Pentium III. La frecuencia del ncleo del procesador tambin es objeto de competencia y se logran procesadores Pentium III de hasta 1,13GHz de frecuencia del ncleo y 133MHz en el bus del sistema con la lnea Coppermine. AMD introduce el Athlon, inicialmente de 1GHz y posteriormente Duron, de menor precio, para competir con el Celeron. Al Pentium III sigui el Pentium 4. Esta es una nueva y revolucionaria arquitectura que optimiza el paralelismo obtenido en procesadores de 32 bits. Su frecuencia de ncleo bsica es de 1.4 GHz, Nuevos Athlon y Duron (este ltimo, competencia del Celeron) de AMD han salido al mercado, Nuevas caras como Transmeta, han emergido en la competencia de las pc mviles (notebooks, palms, etc). El Pentium 4 ha
Profesor: Jos Daz Chow Pgina 5

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

mantenido las tres lneas de procesadores: Celeron con destino al mercado SOHO (Small Office and HOme) con frecuencias de ms de 2 GHz y 256kB de cach L2, el Pentium 4 para estaciones de trabajo y el Xeon para servidores. Estos ltimos con frecuencias de hasta poco ms de 4 GHz, nuevas tcnicas paralelas como hiperthreading y cachs L2 de 256 y 512 en el primero y hasta 1MB en el segundo. Paralelamente al P4, Intel diseo y lanz al mercado en el ao 2001 una totalmente nueva arquitectura de 64 bits en un procesador denominado Itanium, orientado a estaciones de trabajo y servidores, que guarda compatibilidad con la arquitectura de 32 bits. Ante la dificultad de aceptacin del Itanium en el mercado, y la introduccin de procesadores de AMD de 64 bits, Intel lleva su arquitectura ix86 a un nuevo nivel expandindola a 64 bits con compatibilidad binaria a su arquitectura de 32 bits original. As hoy da tenemos en la misma lnea del procesador Pentium, sucesores del P4, dos opciones de arquitectura en el mismo CPU: la x86 tradicional y la nueva x64 que tiene un nuevo repertorio de instrucciones con espacio de direccionamiento de 264 bytes que remueve las barreras de 4GB de la arquitectura x86. Es ahora como nunca antes que el microprocesador ha competido con las grandes mquinas. Hoy da es posible encontrar una mquina de escritorio de menos de mil dlares con la misma capacidad de procesamiento, memoria y almacenamiento que una mainframe de antao de varios millones de dlares. Actualmente las barreras de la frecuencia de ncleo se est ganando con paralelismo, por lo cual ya los procesadores solo son la excepcin y el mercado se est orientando a procesadores multincleo que contienen varios CPUs en un mismo chip. Podemos finalizar diciendo que la computadora ha evolucionado a pasos agigantados desde sus orgenes a la fecha, convirtindose probablemente, en la herramienta ms verstil que haya inventado el hombre jams. La computadora ha generando toda una revolucin social, tan importante como la agrcola y la industrial. Las repercusiones de esta revolucin se maximizan con las redes de computadoras, los dispositivos mviles y las telecomunicaciones digitales. Esto ha definido una nueva era en la historia de civilizacin humana, la era de la informacin. Era en que tenemos el privilegio de vivir.

1.3 MQUINA SECUENCIAL DE PROGRAMA ALMACENADO.


En uno de los reportes del proyecto ENIAC, John Von Neumann, que funga como asesor matemtico, propone una nueva forma de disear y construir computadoras. Algunos de estos conceptos recogen ideas anteriores, pero lo revolucionario de la propuesta de Von Neumann era el concepto de mquina secuencial de programa almacenado. Este concepto establece que los principios de diseo de las computadoras deben contemplar tres aspectos bsicos: a) Programa almacenado: Definicin de instrucciones simples con las que se pueda programar cualquier tarea de clculo de la mquina en forma de una secuencia de instrucciones y la posibilidad de cargar estos programas en la misma memoria que se cargan los datos. b) Mquina secuencial: Una vez cargados el programa y los datos en la memoria, para realizar la tarea de cmputo, basta lograr que la mquina realice el programa ejecutando instruccin tras instruccin desde la memoria gracias a un secuenciador o dispositivo de control. c) La implementacin de tal mquina requiere cinco unidades funcionales (actualizacin del concepto de Babbage): Un rgano de clculo que ejecute las instrucciones, la memoria, el control, y finalmente unidades de entrada y salida que permitan a la computadora obtener los datos y programas del mundo exterior y entregar los resultados de los clculos.
Pgina 6 Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

A tal especificacin de diseo de mquinas computadoras se denomin Arquitectura Von Neumann o de programa almacenado y constituyen hoy da la base de la arquitectura de computadoras modernas. Algunas ventajas y caractersticas de la arquitectura de Von Neumann sobre las implementaciones de su poca son: Las secuencias de instrucciones o programas se podan guardar en la memoria y por tanto, alimentar la mquina con nuevos programas para nuevas operaciones, modificar el programa en tiempo de ejecucin y tener un computador de verdadero propsito general. La mquina secuencialmente ejecuta un ciclo de instruccin, leyendo instrucciones y ejecutndolas una tras otra. El dispositivo de control recoge una instruccin desde la memoria, interpreta su significado, trae los datos necesarios desde la memoria al rgano de clculo, instruye al mismo realizar la operacin y luego almacena el resultado. Todas estas acciones implican traslado de datos e instrucciones entre las unidades funcionales. Para ello existe una estructura de interconexin. Los principales enlaces de sta se muestran en la figura 1.1.

Entrada

Memoria

Salida

Control

Clculo

Camino o Flujo de los Datos Seales de Control desde la UC . Solicitudes o seales hacia la UC .

Figura 1.1. Unidades Funcionales de la Arquitectura Von Neumann

Profesor: Jos Daz Chow

Pgina 7

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

1.4 ORGANIZACION DE LA COMPUTADORA.


La arquitectura Von Neumann, ha sido el punto de partida de la mayora de las mquinas computadoras modernas. La organizacin de las unidades ha cambiado un poco hoy da con los avances en tecnologa, sin embargo la esencia an se mantiene. Se han introducido nuevos enfoques respecto a cmo se describe una organizacin y los trminos aplicados. Adicionalmente, en la bsqueda de mejores prestaciones se han definido nuevas tcnicas de diseo basadas en paralelismo y ejecucin no secuencial, que no se ajustan a la arquitectura Von Neumann en algunas de sus caractersticas, pero stas mquinas sern tratadas hasta en Arquitectura de Mquinas Computadoras III. La organizacin de una computadora puede definirse tanto de forma funcional como estructural. De manera funcional se expresa en trminos de las operaciones que se realizan y el flujo de los datos entre los componentes funcionales. Estructuralmente, la organizacin se define en trminos de los componentes fsicos que conforman el todo y sus relaciones. En nuestro caso, decimos que un ordenador es un sistema que se compone de subsistemas, los cuales a su vez, se conforman de unidades o componentes. Los subsistemas se interconectan y comunican mediante una estructura de interconexin.

1.4.1 Enfoque Funcional Las operaciones que una computadora es capaz de hacer son: Procesamiento de datos Almacenamiento de Datos Traslado de datos Operaciones de control Por tanto se requieren cuatro elementos que ejecuten estas funciones. La figura 1.2 muestra la definicin funcional de una computadora con estos elementos.

Facilidad de Almacenamiento de Datos

Aparato de Traslado de datos

Mecanismo de Control

Facilidad de Procesamiento de Datos

Figura 1.2. Vista funcional de la computadora

Pgina 8

Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

Las flechas muestran la interaccin entre los elementos funcionales y el camino que seguiran los datos para recibir servicio de las diferentes operaciones de la computadora. Por ejemplo, la operacin de movimiento de datos que se efecta desde el teclado a la pantalla, seguir el camino mostrado en la figura 1.3. El camino de los datos se muestra con la flecha en color rojo.

Facilidad de Almacenamiento de Datos

Aparato de Traslado de datos

Mecanismo de Control

Facilidad de Procesamiento de Datos

Figura 1.3. Operacin de traslado de datos

Profesor: Jos Daz Chow

Pgina 9

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

1.4.2 Enfoque Estructural Estructuralmente, podemos considerar que la computadora se compone de tres componentes: El sistema de procesamiento o procesador, el sistema de almacenamiento o memoria y el sistema de entrada / salida que permite la comunicacin con dispositivos perifricos u otras computadoras. Interconectando los tres sistemas tenemos a la estructura de interconexin, que en las mquinas actuales se implementa mediante buses. Una visin general de esta propuesta se puede observar en las figura 1.4.

Perifricos

Computadora
Memoria

Procesador

Computadora

Estructura de Interconexin

E/S Lneas de Comunicacin

Figura 1.4. Estructura General de una Computadora

Las cinco unidades funcionales de la especificacin original de Von Neumann, todava son vlidas, solo que algunas de ellas se han unido para crear un subsistema. El rgano de clculo junto al controlador constituye el procesador o Unidad Central de Proceso (CPU). Por otro lado, la unidad de entrada y la de salida, son un mismo subsistema al cual se denomina sistema de entrada / salida o E/S. La figura 1.5. muestra estas relaciones.
CPU
Mecanismo de Control

Organo de Clculo

Estructura de Interconexin

Unidad de Entrada

Unidad de Salida

Sistema de Memoria

Sistema de E/S

Figura 1.5. Organizacin de la computadora orientada a partes o bloques constructivos.

Pgina 10

Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

1.4.2.1 PROCESADOR O CPU

Desde una perspectiva ms estructural, requerimos definir cmo la mquina ejecutar las instrucciones. Estas instrucciones regularmente se traen de la memoria al CPU, donde se ejecutan. En este proceso, el CPU requiere algn almacenamiento temporal interno. Para suplir esta necesidad se emplean registros. stos no se muestran en la organizacin bsica a bloques, ni tampoco el camino que los datos siguen dentro del CPU. Una organizacin ms detallada, muestra estos detalles arquitecturales y por lo general define nuevas clasificaciones de unidades dentro del CPU. Hoy da el rgano de clculo de Von Neumann se denomina Unidad de ejecucin o unidad aritmtica y lgica (ALU por sus siglas en ingls) y el mecanismo de control se denomina Unidad de Control. En el CPU, adems de los elementos de clculo (ALU y opcionalmente otros dispositivos de clculo especializado), se encuentran los registros de almacenamiento temporal para manipulacin de datos e instrucciones, las estructuras de interconexin internas del CPU y los elementos de acceso a la estructura de interconexin general del sistema.

1.4.2.2 SISTEMA DE MEMORIA

El sistema de memoria permite el almacenamiento de los datos y programas con los cuales interacta el ordenador. Podemos diferenciar, a groso modo, tres tipos de Almacenamiento: El Principal, el Secundario y el Intermedio. El primero, llamado memoria principal, consiste en un arreglo de celdas de almacenamiento de lectura /escritura donde deben residir los programas para que el procesador los pueda acceder. Generalmente esta memoria es voltil, es decir, que una vez que se completa la ejecucin del programa o se apaga el ordenador los datos que no se almacenen en un medio permanente, se pierden. El almacenamiento secundario tambin llamado masivo, es por lo general, permanente y permite almacenar los datos y programas durante largo tiempo en forma de archivos. Est organizado de diferente manera que la memoria principal, en funcin de la tecnologa de implementacin. Actualmente se emplean tecnologas magnticas y pticas para implementar este tipo de almacenamiento en forma de discos y cintas. El almacenamiento intermedio, tambin llamado cachs, permite acelerar el acceso a programas y datos durante la ejecucin.

1.4.2.3 SISTEMA DE ENTRADA / SALIDA

Esta es la interfaz al exterior de la computadora. Le permite obtener los datos y programas desde el exterior y poder entregar los resultados del procesamiento o una copia de parte del almacenamiento secundario al exterior. Generalmente se denominan perifricos a todos los dispositivos que pueden conectarse al sistema de E/S y funcionar como dispositivos de entrada o salida de la computadora. Por ejemplo, el teclado es la unidad de entrada estndar o predeterminada de la computadora y la pantalla del monitor, la de salida.

Profesor: Jos Daz Chow

Pgina 11

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

2 ORGANIZACION DEL PROCESADOR


2.1 El Procesador
Los procesadores tienen como misin ejecutar operaciones de cmputo que le indica el programador. Sabemos del modelo de Von Neumann que estas operaciones se definen como instrucciones. El procesador, desde que recibe energa hasta que se apaga ejecuta constantemente instrucciones. Esta funcin de procesamiento es la ms importante en el funcionamiento de una computadora, por lo cual al procesador se le denomina Unidad Central de Procesamiento o CPU. En esta unidad analizaremos las estructuras que requiere un CPU muy sencillo para poder ejecutar una instruccin siguiendo los pasos del ciclo de Instruccin.

2.2 Instruccin y ciclo de instruccin


Como hemos estudiado antes, una instruccin es una orden que emite el programador al procesador para que ejecute una de las operaciones que forman parte de su repertorio. La instruccin debe especificar la operacin a realizar y cmo obtener los datos u operandos para realizarla. Para este fin, la instruccin debe tener una estructura lgica denominada formato de instruccin, que se estudiar ms adelante. La secuencia de pasos que sigue el procesador para ejecutar una instruccin se denomina Ciclo de Instruccin. El Ciclo de Instruccin, se pueden organizar en dos bloques o fases de acuerdo a la accin que ocurre. La primera fase, denominada FETCH o de Carga. Corresponde a los pasos necesarios para cargar la instruccin desde la memoria al procesador. La segunda fase, denominada EXECUTE, corresponde a aquellos pasos que permiten ejecutar la operacin en s y almacenar el resultado:
FASE FETCH

Cargar la siguiente instruccin Incrementar el secuenciador Interpretar la Instruccin

FASE EXECUTE

Cargar los operandos Ejecutar la operacin Guardar el resultado Verificar si hay solicitudes de interrupcin

2.3 Elementos para estructurar el Procesador


Para poder realizar su funcin, el procesador, necesita una serie de estructuras. A continuacin se expondr qu tareas requiere llevar a cabo un procesador muy simple y deduciremos qu elementos
Pgina 12 Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

constructivos se requieren para ejecutar estas tareas, siguiendo las pautas que nos brinda el ciclo de instruccin. Para estar preparado para realizar sus funciones, el procesador debe: Poder acceder a memoria para leer las instrucciones y los operandos as como escribir los resultados. Se necesita acceder a la direccin de memoria que apunta el PC para leer la prxima instruccin. De acuerdo a la instruccin, puede requerirse leer de memoria los operandos y/o escribir a memoria, los resultados de la operacin. Para esto, el CPU debe tener un registro conectado al bus de direcciones donde poner la direccin a acceder. A este registro lo llamaremos registro de direccin de memoria o MAR por sus siglas en ingls. Tambin requerimos otro conectado al bus de datos donde poner el valor a escribir o tomar el valor ledo desde la memoria. Este lo llamaremos registro de datos de memoria o MDR por sus siglas en ingls. Por supuesto, se necesita una forma de indicarle a la memoria que realice la operacin de lectura o escritura y adems poder saber cuando la memoria termin la operacin, sobre todo la de lectura. Hasta entonces el procesador puede asumir que en el MDR hay datos vlidos. Estas seales se implementan en la unidad de control: READ, WRITE, (que puede ser una sola lnea del Procesador R/W, 0 =R; 1 =W, adems de alguna lnea de habilitacin de Memoria.) y MFC (Que en nuestro caso ser parte de la lgica de control de Memoria y que indicar al CPU que la funcin de memoria se ha completado). Llevar control de la secuencia de instrucciones: Se necesita un secuenciador de instrucciones, es decir, un mecanismo que vaya indicando una a una las instrucciones a cargar desde la memoria. Para ello, todas las instrucciones del programa a ejecutar deben estar almacenadas de forma secuencial en la memoria. El secuenciador se implementa empleando un registro que inicialmente se hace apuntar a la primera instruccin del programa y luego se incrementar para apuntala a la siguiente y as en lo sucesivo. Este registro de llama contador de programa o PC por sus siglas en ingls. Este enfoque es muy flexible pues el PC, puede incrementarse dentro del procesador una vez cargada la instruccin para que apunte a la siguiente. Otra ventaja, es en el caso de la implementacin de saltos o llamados a subrutinas, pues slo se pone en el PC la direccin destino del salto o la subrutina y as controlamos el flujo de instrucciones en el programa. Guardar la instruccin en un lugar donde la unidad de control la pueda interpretar. Para que durante la ejecucin de la instruccin, se pueda acceder a su contenido en cualquier momento, es necesario otro registro para almacenar la instruccin durante la fase de ejecucin. Este registro se le denomina registro de instrucciones o IR por sus siglas en ingls. El IR est conectado directamente a los circuitos de la unidad de control. Poder realizar clculos aritmticos y lgicos. Para esto el CPU requiere de una unidad de clculos aritmticos y lgicos a la que llamaremos ALU por sus siglas en ingls. Realiza todas las operaciones aritmticas, como la suma y la resta. Y lgicas como AND, OR, XOR, NOT, etc. Tambin realiza otras operaciones como comparaciones y operaciones a nivel de Bits. Obtener los operandos para realizar las operaciones. Estos pueden estar en memoria, ser definidos directamente en la instruccin o residir en un almacenamiento interno del CPU. Es ventajoso mantener los operandos dentro del CPU. Para esto se pueden disponer de registros de propsito general con los cuales pueda la ALU realizar las operaciones.

Profesor: Jos Daz Chow

Pgina 13

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

Mantener el estado de la mquina. Para esto se requieren tener banderas y cdigos de condicin. Por ejemplo, para comparar dos nmeros se puede restar el primero del segundo y si el resultado fue cero, podemos asegurar que son iguales. Si el resultado de diferente de cero y positivo, el primero es mayor pero si es negativo, el segundo es mayor. Para llegar a estas conclusiones necesitamos almacenar las condiciones de resultados como cero (Z), Signo (S), etc. Estas banderas y cdigos se almacenan en un registro llamado F o Flags. Interpretar la instruccin y luego controlar la ejecucin de todos los pasos para ejecutarla. Para esto se requiere de una unidad de control o CU que tenga un decodificador capaz de interpretar los diferentes campos lgicos del formato de instrucciones. Adems esta unidad debe poder generar las seales necesarias para que se realicen todos los pasos del ciclo de instruccin adecuadamente.

2.4 Estructura Bsica del Procesador


Los elementos constructivos del CPU se organizan de acuerdo al trabajo que realizan. Para estructurar coherentemente el procesador estos elementos se agrupan en unidades que se interconectan para estructurar un todo. Cada elemento se debe comunicar con los otros para poder realizar su funcin. Esto se logra a travs de una estructura de interconexin. Existen dos formas de implementar esta estructura: Uso de conexin directa: Consiste en realizar la conexin cableada directamente de la salida de un elemento a la entrada del otro. En caso de requerirse lgica de enrutamiento, se emplean los elementos digitales adecuados como multiplexores.

Uso de Buses: Consiste en definir un conjunto de lneas para interconectar mltiples elementos entre s. Debe, sin embargo, implementarse la lgica de control que garantice el enrutamiento del dispositivo fuente al destino. Cabe mencionar que debe evitarse que dos dispositivos sean fuente en el bus de forma simultnea pues esto provocara cortocircuitos en las lneas cuando esta est sometida a dos valores lgicos diferentes.

La figura a continuacin muestra un ejemplo de estructura de CPU con una posible interconexin de los elementos mediante buses.

Pgina 14

Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

CPU

R0

MAR
Entrada / Salida

Bus Interno del Procesador

R1 . . . Rn-1

MDR

SOURCE
Bus de Datos Bus de Direcciones

TMP

Bus del sistema

SP

ALUsel

PC

ALU IR Z
Memoria Unidad de Control

FLAGS
READ WRITE IO/M INTACK INT

Figura 2.1 Elementos estructurales del procesador. Modernamente se suele separar la estructura del CPU en dos partes generales: El camino de los datos o Datapath y el control. Conforman el Datapath todos los elementos por los que discurren los datos dentro del CPU, especialmente la ALU, los registros de propsito general, los registros de acceso a memoria y los registros adicionales. Dentro del Datapath se organizar los rganos de clculo (ALU y Registros de datos) en una entidad lgica denominada unidad de ejecucin. Los registros de acceso al bus y registros auxiliares se suelen organizar en una unidad denominada de Interfaz o carga.

CPU
Control
Unidad de Control
Instrucciones Seales de Control

Lneas de Control

Registros de Propsito General

ALU

Interfaz al Bus y Carga de Instrucciones

Direcciones y Datos

Flags

Unidad de Ejecucin

Datapath

Figura 2.2. Organizacin del CPU en Datapath y Control

El control incluye a la unidad de control que se encarga de coordinar y realizar las acciones necesarias para que se ejecuten las instrucciones.

Ejecucin de la instruccin:
Habiendo definido una estructura organizativa para nuestro procesador, estudiemos de forma general, los pasos para traer y ejecutar una instruccin basndonos en stos elementos constructivos:
Profesor: Jos Daz Chow Pgina 15

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

El PC tiene siempre la direccin de la prxima instruccin (Cuando la mquina se enciende, ste se inicializa por hardware para apuntar la primera instruccin del programa de arranque). Primero el contenido del PC es transferido al MAR y la unidad de control enva una seal de lectura a la memoria. El PC es incrementado por el esquema de secuenciamiento para apuntar a la siguiente direccin. Despus de un cierto tiempo correspondiente al tiempo de acceso de memoria, la palabra direccionada (la instruccin del programa) es leda de la memoria y cargada en el MDR. El contenido del MDR es transferido al IR Ahora la instruccin esta lista para ser decodificada y ejecutada. Si dicha instruccin involucra una operacin que requiere operandos y estos residen en la memoria (ya que podran estar en los registros generales del procesador) tienen que ser trados enviando su direccin al MAR e iniciando un ciclo de lectura. Cuando el operando ha sido ledo y trasladado de la memoria al MDR, entonces ser transferido del MDR a la ALU o a algn registro de trabajo auxiliar para almacenarlo temporalmente mientras se traen otros operandos. La operacin se repite para traer todos los operandos, normalmente dos. Se ejecuta la operacin, mediante la ALU y el resultado es enviado al MDR si debe ser almacenado en memoria o al registro destino en el CPU. Si los operandos o el resultado requiere acceso al subsistema de E/S, se procese de igual forma que si se accede a Memoria, excepto que la UC se encarga de habilitar el dispositivo especfico en lugar de la Memoria.

2.5 Arquitecturas de Acumulador, Pila y Registros.


Dependiendo de la forma en que trae, almacena temporalmente y trata los operandos y el resultado, los procesadores se han clasificado en tres tipos de arquitecturas o estilos de procesador: De acumulador, de Registros y de Pila. Cabe mencionar que en la actualidad las mquinas ms exitosas combinan caractersticas de las tres aunque predominan las mquinas orientadas a registros. 2.5.1 Mquina de Acumulador Este es el esquema tpico de Von Neumann. En un procesador basado en un solo registro denominado acumulador, de acuerdo a su funcin. Se carece de registros de propsito general para manipular los operados dentro del CPU. Todo el trabajo se realiza el acumulador y la memoria. Hoy da esto parece contraproducente, sin embargo, en el tiempo que esta arquitectura se implement, la memoria era ms rpida que los registros del procesador y estos ltimos eran extremadamente caros de producir. Para realizar una operacin, el programador debe tomar el primer operando y llevarlo al acumulador, realizar la operacin con el acumulador y el contenido de una direccin de memoria (el resultado se guarda en el acumulador) y finalmente transferir el contenido del acumulador a memoria. La figura 2.3 nos muestra una arquitectura tpica de acumulador.
Pgina 16 Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

PC

MAR

MDR Memoria e Interface de E/S

IR Acc Unidad de Control

ALU

Figura 2.3. Posible arquitectura de una mquina de Acumulador.

En este tipo de procesador tenemos dos instrucciones de acceso a memoria: la que carga un dato al acumulador y la almacena el acumulador en memoria. Las instrucciones binarias se realizan con el acumulador como primer operando y un operando en memoria o definido directamente como nmero. Por ejemplo: INSTRUCCION LOAD X LOAD (m) LOAD n STORE X STORE (m) ADD X ADD (m) ADD n OPERACIN REALIZADA Acc M(X) ; X es una variable de memoria Acc M(m) ; m es una direccin de memoria Acc n ; n es un nmero entero. M(X) Acc ; X es una variable de memoria M(m) Acc ; m es una direccin de memoria Acc (Acc) + M(X) ; X es una variable de memoria Acc (Acc) + M(m) ; m es una direccin de memoria Acc (Acc) + n ; n es un nmero entero.

Ejemplos de procesadores basados en acumulador son el IAS de Von Neumann, el M6502 y el 6809 de Motorola. Este ltimo cuenta con dos acumuladores A y B. 2.5.2 Mquina de Pila Una mquina de pila es una computadora en la cual el elemento primario de almacenamiento de datos para la CPU es una pila. Esta se implementa como un rea de la memoria controlada por el CPU a la cual no tienen acceso los programas del usuario. En las primeras mquinas de pila, todos los operandos se

Profesor: Jos Daz Chow

Pgina 17

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

manejaban mediante la pila, hoy da, sin embargo, la pila se emplea como una estructura de datos auxiliar para el CPU. La ventaja principal de esta organizacin es que las manipulaciones de las pilas pueden ser realizadas en una alta velocidad. La alta velocidad es una caracterstica deseable en una computadora que va proporcionar un servicio rpido de interrupciones, por ejemplo la IBM-370. Las pilas ms comunes son las de empuje hacia abajo, es decir, que inician en la direccin ms alta de memoria y crecen en el sentido de las direcciones de memoria ms bajas. La organizacin de la mquina de pila es mostrada en la figura 2.4 . El registro SP es el puntero a Pila, es un registro que siempre tiene la direccin de la ltima palabra insertada en la pila: Tope de pila o TOS (Top of Stack). En funcin de este registro, tambin se puede obtener el elemento inmediato bajo TOS: Prximo en pila o NOS (Next on Stack).

PC

MAR

SP

Area de la memoria para pila

Resto de la memoria IR Unidad de Control temp

ALU

En el evento de una operacin binaria, el primer operando ser Figura 2.4 Posible arquitectura de una mquina de pila removido de la pila y mantenido en el registro TEMP. El segundo operando ser directamente llevado de la pila a la entrada derecha de la ALU, que en nuestro ejemplo corresponde al puerto x o primer operando. El resultado de la operacin es almacenado en la cabeza o tope de la pila.

Instrucciones tpicas para una mquina de pila son: Instruccin PUSH X PUSH (m) PUSH n POP Z POP (m) ADD SUB MUL DIV Operacin TOS M(X) TOS M(m) TOS n M(Z) TOS M(m) TOS (TOS) = (NOS) + (TOS) = (NOS) (TOS) = (NOS) * (TOS) = (NOS) /

(TOS) (TOS) (TOS) (TOS)

NOS: Next on the stack

TOS: Top of the stack.

En la actualidad no existen ejemplos de esta organizacin en forma pura, sin embargo existieron mquinas que se construyeron con esta arquitectura como las grandes computadoras Burroughs B5500, B6500 y B6700 y la minicomputadora HP3000. Una de las ventajas de esta arquitectura es que el compilador
Pgina 18 Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

slo necesita convertir a postfija las expresiones algebraicas y luego hacer una traduccin directa a ensamblador, empleando PUSH por cada aparicin de variable y la operacin correspondiente con cada operando. El pop es un caso especial; que corresponde a la asignacin y se evala al final y adems arrastra consigo al miembro izquierdo de la expresin. 2.5.3 Mquina de Registros. La organizacin de un procesador de Registros Generales es mostrada en la figura 2.5. En este estilo de diseo respecto al manejo de los operandos, se promueve el uso de muchos registros de propsito general para almacenar los operandos temporalmente dentro del CPU. Esto tiene la ventaja que los datos ms frecuentes slo se cargan una vez desde la memoria. Una arquitectura tpica consta de un banco o fichero de m registros de propsito general (Ro... Rm-1). Son llamados de esta forma porque en cualquiera de ellos se pueden mantener datos, direcciones de memoria o el resultado de alguna operacin aritmtica o lgica. El programador puede emplear estos registros para realizar las diferentes operaciones en un programa. Algunos procesadores tienen algn destino especfico para algunos de ellos; el registro F (Flag) o PSW (Processor status Word) es un registro de banderas y/o cdigos de condicin que mantiene informacin importante del estado del procesador o del desarrollo del programa. Por ejemplo, cuando el resultado de una operacin fue cero (bandera Z = 1) o cuando ocurri un acarreo (bandera C = 1).
PC MAR MDR Memoria e Interf ace de E/S R0 R1 R2 IR Unidad de Control

Rm-1

ALU

Figura 2.5. Posible arquitectura de una mquina de Registros Generales

Con procesadores de registros generales podemos tener instrucciones de dos y tres operandos. En mquinas 2 operandos, el destino o resultado de la operacin est implcito en uno de los dos operandos. Este fenmeno se denomina lectura destructiva de operandos, pues el valor del registro que es a la vez operando y destino se pierde por sobre escritura del resultado.

Profesor: Jos Daz Chow

Pgina 19

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

Instrucciones de 3 operandos
Instruccin ADD Rd, Rf1, Rf2 SUB Rd, Rf1, Rf2 MUL Rd, Rf1, Rf2 DIV Rd, Rf1, Rf2 Operacin ; Rd Rf1 + Rf2 ; Rd Rf1 - Rf2 ; Rd Rf1 * Rf2 ; Rd Rf1 / Rf2

Instrucciones de 2 operandos
MOV Rd, Rf MOV Rd, n MOV Rd, X MOV Rd, (m) MOV X, Rf MOV (m), Rf ADD Rf, Rd SUB Rf, Rd MUL Rf, Rd DIV Rf, Rd ; Rd Rf ; Rd n | n es un nmero ; Rd M(X) ; X es una variable en memoria ; Rd M(m) ; m es una direccin en memoria ; M(X) Rf ; X es una variable en memoria ; M(m) Rf ; m es una direccin en memoria ; Rd Rf + Rd ; Rd Rf - Rd ; Rd Rf * Rd ; Rd Rf / Rd

Procesadores del tipo de registros de propsito general son la mayora de las mquinas grandes modernas y los procesadores RISC por excelencia. Ejemplos: IBM 370, VAX-11 de DEC, MC 68000 de Motorota, MIPS en todos sus modelos, SPARC, PowerPC, ARM. Los diseadores modernos de computadoras, valorando las virtudes de cada estructura han adoptado maneras de implementar mquinas con todas las ventajas de cada una, eliminando las limitaciones que tenan cada una por separado. Por ejemplo, la familia 80x86 de INTEL, son mquinas orientadas a acumulador con una cantidad no muy abundante de registros de propsitos generales con una pila integrada adems. Para entender mejor cmo varan las instrucciones respecto a cada estilo de CPU, se presenta a continuacin un ejemplo que permite hacer comparaciones entre los diferentes tipos. Se tiene la siguiente sentencia en pascal: D:= A + B * C, Escriba la secuencia de instrucciones en lenguaje de mquina con tres, dos, una y una y cero direcciones. Tres operandos: (Suponer A est en R1, B en R2 y C en R3, R4 es D) MUL R4, R2, R3 ; D = (B) * (C) ADD R4, R1, R4 ; D = (A) + (B * C) Dos operandos: (Suponer A est en R1, B en R2 y C en R3, R4 es D) MOV R4, R3 ;D = ( C) MUL R2, R4 ;D = (B)*(C) ADD R1, R4 ;D = (A) + (D)

Pgina 20

Profesor: Jos Daz Chow

A R Q U I T E C T U R A

D E

M Q U I N A S

C O M P U T A D O R A S

I I .

C U R S O

2 0 1 0 .

Un operando (Acumulador) : LOAD B ;Acc= (B) MULT C ;Acc= (A)*(C) ADD A ;Acc= (Acc) + (A) STORE D ;D = (Acc)

Mquina de Pila:
PUSH A PUSH B PUSH C MUL ADD POP D

; calcula B*C ; suma A a B*C ; salva resultado

Profesor: Jos Daz Chow

Pgina 21

Das könnte Ihnen auch gefallen