You are on page 1of 15

Ensayo Unidad 1

Unidad 1: Arquitectura CISC y RISC Joel Jonathan Prez Delgado Organizacin de Computadoras I Clave: CC322

Cdigo: 005057396 Correo: ing.jonny@hotmail.com Maestro: Miguel Lizcano Snchez

A 13 de septiembre de 2012

ndice

1. Organizacin de la CPU 2. Estructura de lenguaje de bajo nivel ESTRUCTURA DE UNA INSTRUCCIN IDENTIFICADOR 3. Estructura de una instruccin 4. Procesador CISC y RISC CISC RISC CICS VS RISC 5. Conclusiones 6. Referencias

Introduccin En este escrito trataremos sobre la unidad 1 en la cual se vieron temas con relacin a la organizacin de un CPU, Estructura de lenguaje de bajo nivel, Estructura de una instruccin de bajo nivel y Procesadores CISC y RISC. Para empezar a hablar breve mente sobre esto podra decir que un CPU cuenta con una unidad aritmtico lgica, cuenta con un camino de datos y tiene registros. Las instrucciones de bajo nivel nos hablan sobre sus tipos y sobre cmo es que funcionan y en cuanto a tecnologa CISC y RISC nos habla sobre el pasado de la innovacin de la tecnologa y lo ms actual. Organizacin de un CPU Diagrama de bloques Los bloques funcionales bsicos son: la unidad de procesamiento central (CPU), la memoria principal, y el procesador de Entrada - Salida. Unidad de proceso central: esta es la responsable de la interpretacin y ejecucin de instrucciones contenidas en la memoria principal, las comunicaciones entre la CPU y la memoria principal se realizan a travs de 2 canales funcionalmente distintos: el de direcciones y el de datos. Para introducir en la memoria, una instruccin especifica, la CPU enva a dicha memoria la direccin de la instruccin por el canal de direcciones y recibe por el mismo medio la instruccin que est en esa direccin. Parte de la instruccin es utilizada por la CPU para identificar la operacin. Esta parte se llama cdigo de operacin de la instruccin. La informacin restante se utiliza para determinar la o las localidades de los datos con los cuales se va a efectuar la operacin. La accin de leer una instruccin en la CPU y prepararla para su ejecucin se denomina ciclo de bsqueda. Para completar una instruccin la CPU decodifica el cdigo de operacin, genera las seales de control que se necesitan para introducir los operandos requeridos y controla la ejecucin de la instruccin. Por ejemplo, suponiendo que la operacin especificada consiste en sumar 2 nmeros requeridos en 2 registros de la CPU y almacenar el resultado en un tercer registro de la CPU. Para efectuar esta instruccin, la CPU identificar los 2 registros y generar las seales de control adecuados para conectar los registros a la unidad de Aritmtica y Lgica (ULA). La CPU tambin hara que la ULA funcione como sumadora y dirija la salida hacia el tercer registro. El proceso de realizacin que especifica una funcin se denomina ciclo de ejecucin.

Los nombres ciclos de bsqueda y ciclos de ejecucin derivan de la naturaleza cclica de la operacin de la computadora una vez que esta empieza a funcionar repite los ciclos de bsqueda y ejecucin de manera continua. Para hacer referencia a cada ciclo suele utilizar el trmino ciclo de mquina. La CPU puede dividirse funcionalmente en 3 subunidades, la unidad de control, dedicada a los ciclos de bsqueda y ejecucin, la ULA que desempea funciones aritmticas como por ejemplo, suma y resta, de lgica por ejemplo AND, OR y un conjunto de registros dedicados al almacenamiento de datos en la CPU y a ciertas funciones de control.

La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros estn dedicados

al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos. Dentro del conjunto bsico de registros de control se deben incluir a los siguientes:

1) Contador de programa (PC). 2) Registro de direcciones de la memoria (MAR). 3) Registro de datos (RD). 4) Registro de instrucciones (IR). 5) Palabra de estado de programa (PSW).

1) (PC): La funcin del PC consiste en seguir la pista de la instruccin por buscar (capturar) en el siguiente ciclo de mquina, por lo tanto contiene la direccin de la siguiente instruccin por ejecutar. El PC es modificado dentro del ciclo de bsqueda de la instruccin actual mediante la suma de una constante. El nmero que se agrega al PC es la longitud de una instruccin en palabras. Por lo tanto, si una instruccin tiene una palabra de longitud se agrega 1 al PC, si una instruccin tiene dos palabras de largo se agrega 2, y as sucesivamente. 2) Registro de direcciones de la memoria (MAR): funciona como registro de enlace entre la CPU y el canal de direcciones. Cuando se logra el acceso a la memoria la direccin es colocada en el MAR por la unidad de control y ah permanece hasta que se completa la transaccin. El nmero de bit que hay en el MAR es igual al del canal de direcciones. La diferencia que existe entre el PC y el MAR es que durante el ciclo de ejecucin de una instruccin, el PC y el MAR sirven al mismo fin. Sin embargo, muchas de las instrucciones de la maquina hacen referencia a la memoria y operan con los datos que estn en ella. Como la direccin de los datos suele ser diferente de la instruccin siguiente se necesita el MAR. 3) Registro de datos: la funcin del RD consiste en proporcionar un rea de almacenamiento temporal (memoria intermedia, acumulada o buffer) de datos que se intercambian entre la PCU y la memoria. Los datos pueden ser instrucciones (obtenidos en el ciclo de ejecucin) o datos del operando (obtenidos en el ciclo de ejecucin). Debido a su conexin directa con el canal de datos el RD contiene el mismo nmero de bit que dicho canal.

4) Registro de instrucciones (IR): es un registro que conserva el cdigo de operacin de la instruccin en todo el ciclo de la maquina. El cdigo es empleado por la unidad de control de la CPU para generar las seales apropiadas que controla le ejecucin de la instruccin. La longitud del ER es la longitud en bit del cdigo de operacin. 5) Palabra de estado de programa (PSW): la palabra de estado o condicin de programa almacena informacin pertinente sobre el programa que este ejecutndose. Por ejemplo al completarse una funcin de la unidad aritmtica lgica se modifica un conjunto de bit llamados cdigos (o seales de condicin). Estos bit especifican si el resultado de una operacin aritmtica fue 0 o negativo o si el resultado se desbord.

El programa puede verificar estos bit en las instrucciones siguientes cambiar en forma condicional su flujo de control segn su valor. Adems el PSW contiene bit que hacen posible que la computadora responda a solicitudes de servicio asincrnicas generadas por dispositivos de EntradaSalida, o condiciones de error interno. Estas seales se denominan interrupciones. Los registros restantes que se pueden encontrar en un microprocesador son de uso general. Estos se utilizan para almacenar informacin en forma temporal. Tambin retienen operandos que participan en operaciones de la ULA. Algunas veces el conjunto de instrucciones de la computadora y el esquema de direccionamiento de la arquitectura restringe el uso de alguno de estos registros. Si bien en todas las maquinas la informacin contenida en el registro puede manipularse como datos ordinarios durante la ejecucin de algunas instrucciones los datos se utilizan en forma explcita para decidir una direccin de la memoria. La ventaja de usar registros para retener datos de operaciones es la velocidad. Tipo de instrucciones Las instrucciones pueden clasificarse en 5 categoras: 1. Instrucciones de aritmtica y lgica. 2. Instrucciones de movimientos de datos. 3. Operaciones de datos en bloques.

4. Instrucciones de control del programa. 5. Instrucciones de Entrada - Salida.

1) Instrucciones de Aritmtica y Lgica: Entre ellas se encuentran operaciones binarias, las cuales requieren dos operandos y producen un resultado nico. La suma, la resta, la multiplicacin y divisin, son operaciones standard en la mayor parte de las maquinas con excepcin de algunas mini-computadoras y microprocesadores. Las operaciones de lgica incluida en el conjunto de instrucciones son las operaciones AND, NAND, NOR, XAND, XOR. Tambin dentro de las instrucciones de aritmtica y lgica se encuentran las operaciones de desplazamiento y las de rotacin.

2) Instrucciones de movimientos de datos: Esta instruccin da por resultados la copia de datos desde una localidad de operando a otra; adems del cdigo de operacin, estas instrucciones requieren informacin que identifique los operandos fuentes y destinos. En una computadora de uso general, los datos se pueden mover de: (a) Registro a registro. (b) Registro a memoria. (c) Memoria a registro. (d) Memoria a memoria. 3) Operaciones de datos en bloques: Son aquellas que se efectan con un conjunto de operandos y no con un solo operando. Tambin dentro de esta instruccin se encuentra la de control del programa. Esto hace posible que un programa se adapte a la secuencia inherente al ciclo de mquina de la computadora. En otras palabras, se pueden pasar por alto secciones de instrucciones como resultado de la activacin de un cdigo de condiciones o como resultado directo del diseo del programa. 4) Instrucciones de Entrada salida:

Desde el punto de vista de la programacin para el acceso a la memoria o a un perifrico simplemente se requiere el mismo conjunto de instrucciones. Estos sistemas se denominan sistemas de Entrada - Salida mapeados por memoria. La programacin de un dispositivo en estos sistemas requiere el conocimiento de este dispositivo y sus caractersticas, aunque no se necesitan instrucciones especiales. El dispositivo se caracteriza como un conjunto de localidades de la memoria que se dividen en dos sub-categoras: un conjunto de registro de estado de control y un registro de informacin. Registro de estado y control. Estos suelen contener informacin acerca del estado inactivo, ocupado, etc. En estos registros tambin se almacena informacin de control, como por ejemplo el tipo de paridad y la velocidad de transmisin de los datos. La informacin contenida en los registros de estado y control se utiliza principalmente para proporcionar una imagen global del hardware cuando este en el programa Registro de informacin: estos constituyen una memoria intermedia para la informacin que se transfiere entre la CPU y el perifrico. En el caso de un dispositivo se transfieren datos sobre la base de carcter por carcter y suele haber solo dos registros. Uno que retiene datos de la CPU al dispositivo y otro que utilice datos del dispositivo a la CPU. Si la Entrada - Salida programada se realiza en un dispositivo unidireccional (solo transmite o solo recibe) entonces nicamente se necesitara un registro.

Lenguajes de Bajo Nivel. Los lenguajes de bajo nivel son ms fciles de utilizar que los lenguajes mquina, pero, al igual que ellos, dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotcnicos. Por ejemplo, nemotcnicos tpicos de operaciones aritmticas son: en ingls, ADD, SUB, DIV, etc.; en espaol, SUM, RES, DIV, etc. Una instruccin tpica de suma sera: ADD M, N, P Esta instruccin podra significar sumar el nmero contenido en la posicin de memoria M al nmero almacenado en la posicin de memoria N y situar el resultado en la posicin de memoria P. Evidentemente es mucho ms sencillo recordar la instruccin anterior con un nemotcnico que su equivalente en cdigo mquina.

0110 1001 1010 1011 Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora en esto se diferencia esencialmente del lenguaje mquina, sino que requiere una fase de traduccin al lenguaje mquina. El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje mquina se conoce como programa objeto, ya directamente entendible por la computadora. El traductor de programas fuente a objeto es un programa llamado ensamblador, existente en casi todos los computadores. Programa fuente en ensamblador (assembly) Programa Ensamblador (assembler) Programa objeto en cdigo mquina.

No se debe confundir el programa ensamblador, encargado de efectuar la traduccin del programa fuente escrito a lenguaje mquina, con el lenguaje ensamblador, lenguaje de programacin con una estructura y gramtica definidas. Ventajas del lenguaje ensamblador. Los lenguajes ensambladores presentan la ventaja frente a los lenguajes mquina de su mayor facilidad de codificacin y, en general, su velocidad de clculo.

Desventajas del lenguaje ensamblador. Los inconvenientes ms notables de los lenguajes ensambladores son: Dependencia total de la mquina lo que impide la transportabilidad de los programas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Macintosh. La formacin de los programadores es ms compleja que la correspondiente a los programadores de alto nivel, ya que no slo las tcnicas de programacin, sino tambin el conocimiento del interior de la mquina.

Hoy da los lenguajes ensambladores tienen sus aplicaciones ms reducidas en la programacin de aplicaciones y se centran en aplicaciones de tiempo real, control de procesos y de dispositivos electrnicos, etc.

Intrpretes. Un intrprete es un traductor que toma un programa fuente, lo traduce y a continuacin lo ejecuta. Programa Fuente Intrprete Traduccin y ejecucin lnea a lnea.

Un lenguaje que soporte un traductor de tipo intrprete se denomina lenguaje interpretado. BASIC es el modelo por excelencia de lenguaje interpretado. Los programas fuente en BASIC se escriben con ayuda de un programa denominado editor que suele venir incorporado al programa intrprete. Compiladores. Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel: Pascal, FORTRAN.... a lenguaje mquina. Los programas escritos en lenguajes de alto nivel se llaman programa fuente y el programa traducido se le llama programa objeto cdigo objeto. El compilador traduce sentencia a sentencia el programa fuente. Lenguajes compiladores tpicos son: Pascal, FORTRAN, COBOL..., hoy da es posible encontrar tambin versiones de compiladores BASIC y de C.

La compilacin es el proceso de traduccin de programas fuente a programas objeto. Programa Fuente. Compilador.

Programa Objeto.

El programa objeto obtenido de la compilacin no ha sido traducido normalmente a cdigo mquina sino a ensamblador. Para conseguir el programa mquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje mquina directamente ejecutable. Programa Fuente. Compilador (traductor). Programa Objeto. Montador. Programa mquina. ejecutable en lenguaje

El proceso de ejecucin de un programa Pascal, por ejemplo, tiene los siguientes pasos: Escritura del programa fuente con un editor y guardarlo en un dispositivo de almacenamiento. Introducir el programa fuente en memoria. Compilar el programa con el compilador Pascal. Verificar y corregir errores de compilacin. Obtencin del programa objeto. El montador obtiene el programa ejecutable. Se ejecuta el programa y si no existen errores, se tendr la salida del programa. Estructura de una instruccin en bajo nivel Lenguajes Un lenguaje de programacin es una herramienta utilizada para escribir programas de una computadora que puedan ser entendidos por ellas. Los Lenguajes de Programacin se clasifican en: 1.Lenguajes Maquina. 2. Lenguajes de bajo nivel. 3. Lenguajes de alto nivel.

*Lenguajes Maquina: Son aquellos cuyas instrucciones son directamente entendibles por las computadoras y no necesitan traduccin posterior para que la maquina pueda comprender y ejecutar el programa. Las instrucciones del Lenguaje Maquina se expresan en la unidad ms pequea: el bit un ejemplo de una serie de instrucciones en Lenguaje Maquina seria: 0000 0100 1100 0101. *Lenguaje de bajo nivel: La programacin en lenguaje maquina es difcil, por ello, se necesitan lenguajes que permitan simplificar el proceso.los lenguajes de Bajo Nivel han sido diseados con este fin. Estos lenguajes son generalmente dependientes de la computadora, es decir, dependen de un conjunto de instrucciones especificas de una computadora. Un lenguaje tpico de bajo nivel es el Ensamblador. En este lenguaje las instrucciones se describen en cdigos alfabticos conocidos como nemotecnicios (Abreviaturas del Ingles al Espaol). Algunas instrucciones Nemotcnicas son: ADD, SUB, MPY, DIV, MOVE. Una serie de instrucciones de ensamblador serian ADD 3, A MOVE, B ADD A, B, C. *Lenguajes de alto nivel: Estos lenguajes son aquellos en las que las instrucciones o sentencias son escritas con palabras similares a los lenguajes humanos, lo que facilita su escritura y la fcil comprensin por el programador. Algunos lenguajes de Alto Nivel son: Cobol, Turbo Pascal, Basic, etc. Estructura de una instruccin. Un programa en lenguaje ensamblador est compuesto por enunciados: hay dos tipos de enunciados: 1. Instrucciones (como MOV y ADD), que el ensamblador traduce a cdigo objeto. 2. Directivas, indican al ensamblador que realice una accin especfica (como definir un elemento de dato). El formato general del enunciado est separado por lo menos con un espacio en blanco o una tabulacin. Mxima 132 caracteres en una lnea, aunque la mayora de los programadores prefieren 80 que son los que ven en la pantalla. Identificador: el termino nombre se aplica al nombre de un elemento o directiva definida, mientras que el termino etiqueta se aplica al nombre de la instruccin. Un identificador puede utilizar los caracteres: *Letras del alfabeto (desde A hasta Z). *Dgitos (desde 0 hasta 9).

*Caracteres especiales (signo ?, subrrayado__,sugno $, arroba @, ounto. (No permite carcter()) El primer carcter puede ser letra o un carcter especial pero no punto. Enviar usar el @. Longitud mxima de un identificador es de 31 caracteres. *Ensamblador trata igual maysculas que minsculas. Operacin: es usada para la definicin de reas de datos (DB) y codificacin de instrucciones (MOV). Operando: proporciona informacin para la operacin que acta sobre el para un elemento de datos, el operando identifica su valor inicial. Un operando indica donde realizar la accin. Un operando de una instruccin puede tener una, dos o tal vez ninguna entrada. Directivas: enunciados que permiten controlar la manera en que un programa ensambla y lista. Actan solo durante el ensamblado de un programa y no genera cdigo ejecutable de mquina. Procesador de CISC y RISC CISC El origen de la arquitectura CISC se remonta a los inicios de la programacin ubicada en los aos 60 y 70. Para contrarrestar la crisis del software de ese entonces, empresas electrnicas fabricantes de hardware pensaron que una buena solucin era crear una CPU con un amplio y detallado manejo de instrucciones, a fin de que los programas fueran ms sencillos. Los programadores en consecuencia crearon multitud de programas para esa arquitectura. La posterior masificacin de los PCs, permiti que el mercado fuera luego copado de software creado para procesadores CISC.

Entre las bondades de CISC destacan las siguientes: 1. Reduce la dificultad de crear compiladores. 2. Permite reducir el costo total del sistema. 3. Reduce los costos de creacin de Software. 4. Mejora la compactacin de cdigo.

5. Facilita la depuracin de errores (debugging).

Adems se debe mencionar que fue la primera tecnologa de CPUs con la que la maquina PC se dio a conocer mundialmente. Fueron adoptadas por Intel y se colocaron en las primitivas PCs como ejemplo el procesador 8088, que fueron lanzados por IBM el 12 de agosto de 1981. Se basa en la microprogramacin, esta tcnica consista en hacer que cada instruccin sea interpretada por un microprocesador. A su vez estas instrucciones se codificaban para ser ejecutadas en microinstrucciones almacenadas en la ROM interna y las operaciones se realizaban al ritmo del reloj. RISC Es considerada como una innovacin tecnolgica que fue creada a partir del anlisis de la primitiva arquitectura CISC. RISC ha dado origen a la aparicin de Microprocesadores poderosos, tambin han llegado a posicionarse en ciertas maquinas de Apple, computadoras de mano, maquinas de juegos, y otros artefactos electrnicos domsticos. Se trata de microprocesadores con un conjunto de instrucciones muy reducidas en contraposicin a CISC. Tiene ciertas ventajas como: 1. La CPU trabaja ms rpido al utilizar menos ciclos de reloj para cumplir sus funciones (ejecutar instrucciones). 2. Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a diferencia de CISC, RISC conserva despus de realizar sus operaciones en memoria los dos operndoos y su resultado (total tres direcciones), lo que facilita a los compiladores conservar llenos los 'pipelines' (conductos) de la CPU para utilizarlos concurrentemente y reducir la ejecucin de nuevas operaciones. 3. Cada instruccin puede ser ejecutada en un solo ciclo de la CPU (mxima velocidad y eficiencia). CICS VS RISC Se deben evaluar las ventajas y desventajas de ambas maquinas, para que puedan escoger la ms adecuada segn las necesidades por ejemplo: RISC es ms rpida pero ms costosa y hablando en trminos de costo se debe de tomar en cuenta que RISC utiliza mas los circuitos para ejecutar operaciones directas, en tanto que CISC utiliza micro cdigo ejecutado por el microprocesador lo que la hace mas econmica y ms lenta tambin. Tambin debemos tomar en cuenta que hay ms software para la plataforma CISC. Pero la informtica demanda peridicamente mayor velocidad y

administracin de espacio en RAM y discos duros, el lugar donde estar arquitecturas se siguen innovando. Dado que CISC es ms popular a nivel de PCs, las innovaciones en esta categora son ms. Tcnicamente hablando, el rendimiento en RISC basado en la menor cantidad de carga de instrucciones en el microprocesador compensa a la mayor cantidad de cdigo en software que es necesario utilizar, por lo que su arquitectura se considera ms potente que CISC.

Conclusin Podemos decir que como usuarios que conocen sobre el tema podemos elegir que tipo de arquitectura utilizar de acuerdo a nuestras necesidades, debemos recordar las bases sobre la estructura CISC y RISC para poder tomar esta decisin y elegir la ms apropiada para nosotros. Tambin podemos decir que la tecnologa RISC por ser mas actual es mejor en varios aspectos ya que un procesador de CISC tiene que procesar instrucciones ms largas de longitud desigual en cambio un procesador RISC facilita el multiprocesamiento verdadero, donde varios CPUs trabajan simtricamente mientras dividen, ejecutan y ensamblan una cadena de instruccin.
Cabe mencionar tambin que dado las tendencias actuales que podemos utilizar ambas tecnologas en conjunto para facilitar el proceso y as obtener mejores resultados.

Referencias

Fundamentos de Programacin. Editorial. Mc Graw Hill. http://www.docstoc.com/docs/20649207/MODULO-1_-ORGANIZACINDE-LA-CPU-Y-EL-NIVEL-LGICO www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r21733.DOC http://html.rincondelvago.com/lenguajes-de-bajo-nivel.html Garca Pilar, F.J. Conceptos de SOSs procesadores CISC y RISC. 2-4

You might also like