Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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.
Caractersticas
Se desarrollan las microcomputadoras, o sea, computadoras personales o PC.
Se desarrollan las supercomputadoras.
Compiladores e Interpretes
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.
Visual Basic.
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.
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
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:
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:
4. Manera de ejecutarse.
Segn la manera de ejecutarse:
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:
7. Lugar de ejecucin.
En sistemas distribuidos, segn dnde se ejecute:
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:
11. Determinismo.
Segn se pueda predecir o no el siguiente estado del programa a partir del estado actual:
12. Productividad.
Segn se caractericen por tener virtudes tiles o productivas, u oscuras y enrevesadas:
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 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.
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