Está en la página 1de 15

Compiladores e Interpretes

UNIVERSIDAD NACIONAL PEDRO RUIZ


GALLO

Curso:
Compiladores e Interpretes
V
Alumnos:
Carrasco Zea Jessica
Barrios Yanayaco Mijal
Vera Cruz Steven
Gonzales Dvila Eyner
Mayo 2017
:MICROPROCESADORES Y MEMORIA

Chiclayo- Lambayeque
Generaciones de Computadoras
Todo este desarrollo de las computadoras suele divisarse por generaciones

1.0 Primera Generacin


En esta generacin haba un gran
desconocimiento de las capacidades de
las computadoras, puesto que se realiz
un estudio en esta poca que determin
que con veinte computadoras se saturara
el mercado de los Estados Unidos en el
campo de procesamiento de datos.
Caractersticas
Usaban tubos al vaco para
procesar informacin.
Usaban tarjetas perforadas para
entrar los datos y los programas.
Usaban cilindros magnticos para almacenar informacin e instrucciones
internas.
Eran sumamente grandes, utilizaban gran cantidad de electricidad, generaban
gran cantidad de calor y eran sumamente lentas.
La computadora ms exitosa de la primera generacin fue la IBM 650, de la cual se
produjeron varios cientos. Esta computadora que usaba un esquema de memoria
secundaria llamado tambor magntico, que es el antecesor de los discos actuales.
2.0 Segunda Generacin
En esta generacin las computadoras
se reducen de tamao y son de menor
costo. Aparecen muchas compaas y
las computadoras eran bastante
avanzadas para su poca como la serie
5000 de Burroughs y la ATLAS de la
Universidad de Manchester. Algunas
computadoras se programaban con
cinta perforadas y otras por medio de
cableado en un tablero.

Caractersticas
Usaban transistores para procesar informacin.
Los transistores eran ms rpidos, pequeos y ms confiables que los tubos al
vaco.
200 transistores podan acomodarse en la misma cantidad de espacio que un tubo
al vaco.
Usaban pequeos anillos magnticos para almacenar informacin e instrucciones.
cantidad de calor y eran sumamente lentas.
Se mejoraron los programas de computadoras que fueron desarrollados durante la
primera generacin.
Se desarrollaron nuevos lenguajes de programacin como COBOL y FORTRAN,
los cuales eran comercialmente accesibles.
Se usaban en aplicaciones de sistemas de reservaciones de lneas areas, control
del trfico areo y simulaciones de propsito general
3.0 Tercera Generacin
La tercera generacin de
computadoras emergi con el
desarrollo de circuitos integrados
(pastillas de silicio) en las que se
colocan miles de componentes
electrnicos en una integracin en
miniatura. Las computadoras
nuevamente se hicieron ms
pequeas, ms rpidas, desprendan
menos calor y eran energticamente
ms eficientes
Caractersticas
Se desarrollaron circuitos integrados para procesar informacin.
Se desarrollaron los "chips" para almacenar y procesar la informacin. Un "chip" es
una pieza de silicio que contiene los componentes electrnicos en miniatura
llamados semiconductores.
Los circuitos integrados recuerdan los datos, ya que almacenan la informacin como
cargas elctricas.
Surge la multiprogramacin.
Las computadoras pueden llevar a cabo ambas tareas de procesamiento o anlisis
matemticos.
Emerge la industria del "software".
Se desarrollan las minicomputadoras IBM 360 y DEC PDP-1.
Otra vez las computadoras se tornan ms pequeas, ms ligeras y ms eficientes.
Consuman menos electricidad, por lo tanto, generaban menos calor.

4.0 Cuarta Generacin


Aparecen los microprocesadores que es un
gran adelanto de la microelectrnica, son
circuitos integrados de alta densidad y con
una velocidad impresionante. Las
microcomputadoras con base en estos
circuitos son extremadamente pequeas y
baratas, por lo que su uso se extiende al
mercado industrial. A
qu nacen las computadoras personales que
han adquirido proporciones enormes y que
han influido en la sociedad en general sobre
la llamada "revolucin informtica
Caractersticas
Se desarroll el microprocesador.
Se colocan ms circuitos dentro de un "chip
Cada "chip" puede hacer diferentes tareas.
Un "chip" sencillo actualmente contiene la unidad de control y la unidad de
aritmtica/lgica. El tercer componente, la memoria primaria, es operado por
otros "chips".
Se reemplaza la memoria de anillos magnticos por la memoria de "chips" de
silicio.
Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.

5.0 Quinta Generacin


En vista de la acelerada marcha de la
microelectrnica, la sociedad industrial se
ha dado a la tarea de poner tambin a esa
altura el desarrollo del software y los
sistemas con que se manejan las
computadoras. Surge la competencia
internacional por el dominio del mercado de
la computacin, en la que se perfilan dos
lderes que, sin embargo, no han podido
alcanzar el nivel que se desea: la capacidad
de comunicarse con la computadora en un
lenguaje ms cotidiano y no a travs de
cdigos o lenguajes de control especializados.

Caractersticas
Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.
Se desarrollan las supercomputadoras.
Compiladores e Interpretes

LINEA DE TIEMPO DE EVOLUCIN DE LENGUAJES DE PROGRMACIN


Compiladores e Interpretes

Principales lenguajes de Programacin


FORTRAN

Fue el primer lenguaje de alto nivel: fue desarrollado por IBM y su primera versin se
lanz en 1957. Su nombre proviene de la contraccin de Formula Translacin, y da
una buena indicacin del lenguaje que fueron, segn consta en el primer manual
FORTRAN, proporciona un lenguaje capaz de expresar cualquier problema en funcin
de un clculo numrico, en particular aquellos problemas en los que hay involucradas
numerosas formas y muchas variables.
Fue diseado para su uso en aplicaciones cientficas y tcnicas.
Se caracteriza por su potencia
en los clculos matemticos,
pero est limitado en lo relativo
al tratamiento de datos no
numricos, por lo que no resulta
adecuado para aplicaciones de
gestin manejo de ficheros,
tratamiento de caracteres y
edicin de informes.
Por esta razn no a sido usado
extensamente en el mbito del
microordenador, pero sigue siendo un lenguaje comn en aplicaciones de
investigacin, ingeniera y educacin

ALGOL.

El ALGOL ("ALGOrithmic Lenguage") es el primer lenguaje que fue creado por un


comit internacional. En 1960 se reunieron representantes de varios pases europeos
y de Estados Unidos para crear un lenguaje destinado a "describir procesos" mediante
instrucciones de control (iteraciones y alternaciones) de nivel ms elevado que las
existentes en las versiones existentes de su predecesor, el FORTRAN.

Visual Basic.

Versin de BASIC de Microsoft utilizado para desarrollar aplicaciones de Windows,


que se ha vuelto popular. Es similar a QuickBASIC de Microsoft, pero no es 100%
compatible con ste. Las interfaces de usuario se desarrollan llevando objetos de la
caja de herramientas de Visual Basic hacia el formato de aplicacin.

El C es un lenguaje moderno de propsito general que combina las caractersticas de


un lenguaje de alto nivel (programacin estructurada, tipos y estructura de datos,
recursividad, etc.) con una serie de caractersticas ms propias de lenguajes de mas
bajo nivel. Esta cualidad del C hace posible que el programador use la programacin
estructurada para resolver tareas de bajo nivel, obteniendo un cdigo ejecutable veloz
y eficiente.

C++.

El C++, el sucesor del lenguaje C, fue desarrollado por Bjarn Stroustup en los
laboratorios Bell a principio de la dcada de los ochenta. En el lenguaje C, C++ es
una orden que equivale a C: =C+1, por lo que se entiende que con C++ el lenguaje C
se eleva hacia su siguiente nivel.

HTML.

Esta formado por un conjunto de


identificadores, designados con el termino
ingles tag, que definen el formato de una
pagina de texto, permitiendo insertar en
ella elementos multimedia, tales como
imgenes, sonido y vdeo. Por lo tanto, la
funcin del navegador de Internet es la de
traducir este cdigo un contenido grfico

PHP

Lenguaje que se acopla al HTML (pginas Web) para definir procedimientos que ha
de realizar el servidor de web, por ejemplo procesar un formulario, enviar o extraer
datos de una base de datos (acoplndose tambin con un lenguaje de tipo SQL),
enviar una u otra pgina Wed segn determinadas condiciones prefijadas por el
programador, etc.

SQL

Lenguaje desarrollado especialmente para facilitar la consulta de bases de datos (BD),


acotando progresivamente la bsqueda (de ah el nombre de "Sequential Query
Language").

Java.

Java naci para intentar encontrar la solucin a un problema. Este problema radicaba
en las dificultades y costes que supona la actualizacin muy frecuente del software
de microprocesadores de reducidas prestaciones que se montan en dispositivos
electrnicos de bajo precio, como electrodomsticos, relojes y calculadoras.
CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN
Un lenguaje de programacin es un lenguaje inventado para controlar una mquina,
(normalmente, un ordenador). Hay muchsimos, de toda clase de tipos y caractersticas,
inventados para facilitar el abordaje de distintos problemas, el mantenimiento del software,
su reutilizacin, mejorar la productividad, etc.

Hay que tener en cuenta tambin, que en la prctica, la mayora de lenguajes no pueden ser
puramente clasificados en una categora, pues surgen incorporando ideas de otros lenguajes
y de otras filosofas de programacin, pero no importa al establecer las clasificaciones, pues
el autntico objetivo de las mismas es mostrar los rangos, las posibilidades y tipos de
lenguajes que hay.

1. Nivel de abstraccin.
Segn el nivel de abstraccin, o sea, segn el grado de cercana a la mquina:

Lenguajes de bajo nivel: La programacin se realiza teniendo muy en cuenta las


caractersticas del procesador.
El lenguaje maquina: Este lenguaje ordena al dispositivo las operaciones
fundamentales para su funcionamiento. Consiste en un codigo binario (0,1)que
forma las ordenes entendibles por el hardware. Este lenguaje es mucho ms
rpido que los lenguajes de alto nivel. La desventaja es que son bastantes
difciles de manejar y usar, adems de tener cdigos fuente enormes donde
encontrar un fallo es casi imposible.
El lenguaje ensamblador: Es un derivado del lenguaje mquina y esta
formado por abreviaturas de letras y nmeros llamadas mnemotcnicos. Con
la aparicin de este lenguaje se crearon los programas traductores para poder
pasar los programas escritos en lenguaje ensamblador a lenguaje mquina.
Como ventaja con respecto al cdigo mquina es que los cdigos fuente sern
ms cortos y los programas creados ocupaban menos memoria. Las
desventajas de este lenguaje siguen siendo prcticamente las mismas que las
del lenguaje ensamblador, aadiendo la dificultad de tener que aprender un
nuevo lenguaje difcil de probar y mantener.
Lenguajes de nivel medio: Permiten un mayor grado de abstraccin pero al mismo
tiempo mantienen algunas cualidades de los lenguajes de bajo nivel. Ejemplo: C
puede realizar operaciones lgicas y de desplazamiento con bits, tratar todos los tipos
de datos como lo que son en realidad a bajo nivel (nmeros), etc.
Lenguajes de alto nivel: Ms parecidos al lenguaje humano. Manejan conceptos,
tipos de datos, etc., de una manera cercana al pensamiento humano ignorando
(abstrayndose) del funcionamiento de la mquina. Ejemplos: Java, Ruby.
Hay quien slo considera lenguajes de bajo nivel y de alto nivel, (en ese caso, C es
considerado de alto nivel).
2. Propsito.
Segn el propsito, es decir, el tipo de problemas a tratar con ellos:

Lenguajes de propsito general: Aptos para todo tipo de tareas: Ejemplo: C.


Lenguajes de propsito especfico: Hechos para un objetivo muy concreto. Ejemplo:
Csound (para crear ficheros de audio).
Lenguajes de programacin de sistemas: Diseados para realizar sistemas
operativos o drivers. Ejemplo: C.
Lenguajes de script: Para realizar tareas varias de control y auxiliares. Antiguamente
eran los llamados lenguajes de procesamiento por lotes (batch) o JCL (Job Control
Languages). Se subdividen en varias clases (de shell, de GUI, de programacin web,
etc.). Ejemplos: bash (shell), mIRC script, JavaScript (programacin web).

3. Evolucin histrica.
Con el paso del tiempo, se va incrementando el nivel de abstraccin, pero en la prctica, los
de una generacin no terminan de sustituir a los de la anterior:

Lenguajes de primera generacin (1GL): Cdigo mquina.


Lenguajes de segunda generacin (2GL): Lenguajes ensamblador.
Lenguajes de tercera generacin (3GL): La mayora de los lenguajes modernos,
diseados para facilitar la programacin a los humanos. Ejemplos: C, Java.
Lenguajes de cuarta generacin (4GL): Diseados con un propsito concreto, o
sea, para abordar un tipo concreto de problemas. Ejemplos: NATURAL, Mathematica.
Lenguajes de quinta generacin (5GL): La intencin es que el programador
establezca el qu problema ha de ser resuelto y las condiciones a reunir, y la mquina
lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.

4. Manera de ejecutarse.
Segn la manera de ejecutarse:

Lenguajes compilados: Un programa traductor traduce el cdigo del programa


(cdigo fuente) en cdigo mquina (cdigo objeto). Otro programa, el enlazador, unir
los ficheros de cdigo objeto del programa principal con los de las libreras para
producir el programa ejecutable. Ejemplo: C.
Lenguajes interpretados: Un programa (intrprete), ejecuta las instrucciones del
programa de manera directa. Ejemplo: Lisp.
Tambin los hay mixtos, como Java, que primero pasan por una fase de compilacin en la
que el cdigo fuente se transforma en bytecode, y este bytecode puede ser ejecutado
luego (interpretado) en ordenadores con distintas arquitecturas (procesadores) que tengan
todos instalados la misma mquina virtual Java.
5. Manera de abordar la tarea a realizar.
Segn la manera de abordar la tarea a realizar, pueden ser:

Lenguajes imperativos: Indican cmo hay que hacer la tarea, es decir, expresan los
pasos a realizar. Ejemplo: C.
Lenguajes declarativos: Indican qu hay que hacer. Ejemplos: Lisp, Prolog. Otros
ejemplos de lenguajes declarativos, pero que no son lenguajes de programacin, son
HTML (para describir pginas web) o SQL(para consultar bases de datos).

6. Paradigma de programacin.
El paradigma de programacin es el estilo de programacin empleado. Algunos lenguajes
soportan varios paradigmas, y otros slo uno. Se puede decir que histricamente han ido
apareciendo para facilitar la tarea de programar segn el tipo de problema a abordar, o para
facilitar el mantenimiento del software, o por otra cuestin similar, por lo que todos
corresponden a lenguajes de alto nivel (o nivel medio), estando los lenguajes ensambladores
atados a la arquitectura de su procesador correspondiente. Los principales son:

Lenguajes de programacin procedural: Divide el problema en partes ms


pequeas, que sern realizadas por subprogramas (subrutinas, funciones,
procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C, Pascal.
Lenguajes de programacin orientada a objetos: Crean un sistema de clases y
objetos siguiendo el ejemplo del mundo real, en el que unos objetos realizan acciones
y se comunican con otros objetos. Ejemplos: C++, Java.
Lenguajes de programacin funcional: La tarea se realiza evaluando funciones,
(como en Matemticas), de manera recursiva. Ejemplo: Lisp.
Lenguajes de programacin lgica: La tarea a realizar se expresa empleando
lgica formal matemtica. Expresa qu computar. Ejemplo: Prolog.
Hay muchos paradigmas de programacin: Programacin genrica, programacin reflexiva,
programacin orientada a procesos, etc.

7. Lugar de ejecucin.
En sistemas distribuidos, segn dnde se ejecute:

Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP es el ms utilizado


en servidores web.
Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: JavaScript en navegadores
web.

8. Concurrencia.
Segn admitan o no concurrencia de procesos, esto es, la ejecucin simultnea de varios
procesos lanzados por el programa:
Lenguajes concurrentes. Ejemplo: Ada.
Lenguajes no concurrentes. Ejemplo: C.

9. Interactividad.
Segn la interactividad del programa con el usuario u otros programas:

Lenguajes orientados a sucesos: El flujo del programa es controlado por la interaccin


con el usuario o por mensajes de otros programas/sistema operativo, como editores de texto,
interfaces grficos de usuario (GUI) o kernels. Ejemplo: VisualBasic, lenguajes de
programacin declarativos.

Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos


exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo ms claro
(actualizaciones de bases de datos, colas de impresin de documentos, etc.). Ejemplos:
Lenguajes de programacin imperativos.

10. Realizacin visual.


Segn la realizacin visual o no del programa:

Lenguajes de programacin visual: El programa se realiza moviendo bloques de


construccin de programas (objetos visuales) en un interfaz adecuado para ello. No
confundir con entornos de programacin visual, como Microsoft Visual Studio y sus
lenguajes de programacin textuales (como Visual C#). Ejemplo: Mindscript.
Lenguajes de programacin textual: El cdigo del programa se realiza
escribindolo. Ejemplos: C, Java, Lisp.

11. Determinismo.
Segn se pueda predecir o no el siguiente estado del programa a partir del estado actual:

Lenguajes deterministas. Ejemplos: Todos los anteriores.


Lenguajes probabilsticos o no deterministas: Sirven para explorar grandes
espacios de bsqueda, (como gramticas), y en la investigacin terica de
hipercomputacin. Ejemplo: mutt (generador de texto aleatorio).

12. Productividad.
Segn se caractericen por tener virtudes tiles o productivas, u oscuras y enrevesadas:

Lenguajes tiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez,


claridad, productividad, etc., motiva que sean utilizados en empresas,
administraciones pblicas y/o en la enseanza. Ejemplos: Cualquier lenguaje de uso
habitual (C, Java, C++, Lisp, Python, Ruby,).
Lenguajes esotricos o exticos: Inventados con la intencin de ser los ms raros,
oscuros, difciles, simples y/o retorcidos de los lenguajes, para diversin y
entretenimiento de frikis programadores. A veces exploran nuevas ideas en
programacin. Ejemplo: Brainfuck.

Conjunto de instrucciones complejas de computacin (CISC).


Arquitectura de microprocesador caracterizada por ejecutar un conjunto de instrucciones complejas, estas
instrucciones pueden realizar funciones muy especficas, en contraposicin a la arquitectura RISC.

Arquitecturas CISC
Computador con repertorio de instrucciones complejo.
Gran nmero de instrucciones complejas.
Gran variedad de tipos de datos y de modos de direccionamiento.
Permite implementar instrucciones de alto nivel directamente o con un nmero pequeo de
instrucciones ensamblador.
Adems se pueden aadir nuevas instrucciones al repertorio manteniendo las antiguas.
La filosofa CISC
El objetivo principal de la arquitectura CISC es completar una tarea en el menor nmero de lneas de
cdigo ensamblador posibles. Este objetivo es conseguido mediante la construccin de un
microprocesador capaz de comprender y ejecutar una serie de operaciones complejas.

Para esta tarea en particular, un procesador CISC vendra preparado con una instruccin especfica (la
llamaremos "MULT"). Cuando se ejecuta, esta instruccin lee los dos valores de memoria, multiplica
los operandos en la unidad de ejecucin, y despus almacena el resultado en la posicin de memoria
adecuada. De esta manera, la tarea completa de multiplicar dos nmeros puede ser llevada a cabo
con una nica instruccin:

MULT (2:3), (5:2)

MULT es lo que se conoce como una "instruccin compleja". Opera directamente sobre los bancos de
memoria del computador y no requiere al programador para llamar explcitamente a una carga de
operandos o funciones de almacenamiento. Se parece mucho a un comando en un lenguaje de
programacin de alto nivel. Por ejemplo, si permitimos que "a" represente el valor de (2:3) y "b"
represente el valor de (5:2), entonces este comando es idntico a la expresin en C "a = a * b".

Una de las ventajas principales de esta filosofa es que el compilador tiene que hacer muy poco trabajo
para traducir un lenguaje de alto nivel a ensamblador. Adems, debido a que la longitud del cdigo es
relativamente corta, hace falta poca RAM para almacenar las instrucciones. Pero la dificultad est en
construir instrucciones complejas directamente en hardwar
Computadora con Conjunto de Instrucciones Reducidas
(RISC).
Arquitecturas RISC
Computador con repertorio de instrucciones reducido.
Pocas instrucciones y muy bsicas.
Repertorio simple y ortogonal.
Formatos de instruccin uniformes.
Pocos tipos de datos y de modos de direccionamiento, siempre los ms sencillos.

Es un tipo de microprocesador con las siguientes caractersticas fundamentales:

Instrucciones de tamao fijo y presentado en un reducido nmero de formatos.


Slo las instrucciones de carga y almacenamiento acceden a la memoria por datos.

Adems estos procesadores suelen disponer de muchos registros de propsito general.

El objetivo de disear mquinas con esta arquitectura es posibilitar la segmentacin y el paralelismo


en la ejecucin de instrucciones y reducir los accesos a memoria. Las mquinas RISC protagonizan la
tendencia actual de construccin de microprocesadores. PowerPC, DEC Alpha, MIPS, ARM, son
ejemplos de algunos de ellos.

RISC es una filosofa de diseo de CPU para computadora que est a favor de conjuntos de
instrucciones pequeas y simples que toman menor tiempo para ejecutarse. El tipo de procesador
ms comnmente utilizado en equipos de cmputo, est basado en CISC en lugar de RISC, aunque las
versiones ms nuevas traducen instrucciones basadas en CISC a instrucciones ms simples basadas en
RISC para uso interno antes de su ejecucin.

El diseo RISC est basado en la premisa de que la mayora de las instrucciones que una computadora
decodifica y ejecuta son simples. Como resultado de este concepto, la arquitectura RISC limita el
nmero de instrucciones incorporadas en el microprocesador, pero optimiza cada una de ellas de
forma que se ejecuten muy rpidamente (generalmente en un solo ciclo de reloj). Por lo tanto, los
chips RISC ejecutan las instrucciones simples ms rpidamente que los microprocesadores que
cuentan con un conjunto ms amplio de instrucciones.

Entre las familias de chips RISC que estn ganando popularidad se encuentran los SPARC de Sun
Microsystems, los PowerPC de Motorola, los Alpha de Digital Equipment Corporation, los R4000 y
R4400 de Mips y los ARM de Acorn. Vase Arquitectura (informtica).

Uno de los principios bsicos de diseo para todos los procesadores es aadir velocidad al proveerles
alguna memoria muy rpida para almacenar informacin temporalmente, estas memorias son
conocidas como registros. Por ejemplo, casi cada CPU incluye una orden para sumar dos nmeros. La
operacin bsica de un CPU sera cargar esos dos nmeros en los registros, sumarlos y almacenar el
resultado en otro registro, finalmente, tomar el resultado del ltimo registro y devolverlo a la memoria
principal.

Cada uno est representado por transistores en el chip, en este aspecto la memoria principal tiende a
ser mucho ms simple y econmica. Adems, los registros le aaden complejidad al cableado, porque
la CPU necesita estar conectada a todos y cada uno de los registros para poder utilizarlos por igual.
Como resultado de esto, muchos diseos de CPU limitan el uso de registros de alguna u otra manera.
Algunos incluyen pocos registros, aunque esto limita su velocidad. Otros dedican sus registros a tareas
especficas para reducir la complejidad; por ejemplo, un registro podra ser capaz de hacer operaciones
con uno o ms de los otros registros, mientas que el resultado podra estar almacenado en cualquiera
de ellos.

La filosofa RISC
Los procesadores RISC slo usan instrucciones sencillas que se puedan ejecutar rpidamente. Por este
motivo suelen ser arquitecturas basadas en registros de propsito general que operan siempre sobre
operandos que se encuentran almacenados en el procesador, cerca de la unidad de ejecucin.

De esta forma, el comando "MULT" descrito ms arriba podra ser dividido en tres comandos por
separado: "LOAD", que mueve datos del banco de memoria a un registro; "PROD", que halla el
producto de dos operandos situados en los registros; y "STORE", que mueve datos de un registro al
banco de memoria. Para realizar la serie de pasos descritos en la filosofa CISC, un programador
debera codificar la instruccin en 4 lneas de cdigo ensamblador:

LOAD A, (2:3)

LOAD B, (5:2)

PROD A, B

STORE (2:3), A

A primera vista, puede parecer una manera mucho menos eficiente de completar la operacin. Debido
a que hay ms lneas de cdigo, hace falta ms RAM para almacenar las instrucciones en ensamblador.
El compilador debe realizar tambin ms trabajo para convertir un lenguaje de alto nivel en cdigo.

Sin embargo, la estrategia RISC tambin tiene grandes ventajas. Debido a que cada instruccin realiza
una operacin muy simple, el cdigo se ejecutar en aproximadamente el mismo tiempo que el
comando "MULT" de la arquitectura CISC. Estas "instrucciones reducidas" RISC requieren menos
hardware y ms sencillo que las instrucciones complejas, dejando ms espacio para registros de
propsito general. Adems, las optimizaciones sobre un hardware ms sencillo son mucho ms fciles
de realizar.
Ejemplos de los lenguajes de programacin que se basaron en la arquitectura
CISC:
Lenguaje mquina
Lenguaje Ensamblador
Fortran
Lisp
Algol
Cobol
Basic
Pascal

Ejemplos de los lenguajes de programacin que se basaron en la arquitectura


RISC:
C
C++
ADA
PERL
Phyton
Ruby
PHP
Java

También podría gustarte