PDF de programación - Tesis: Octavio Juarez - ESTUDIO COMPARATIVO DE ARQUITECTURAS DE PROCESADORES CON BASE EN LA GENERACION DE CODIGO

Imágen de pdf Tesis: Octavio Juarez - ESTUDIO COMPARATIVO DE ARQUITECTURAS DE PROCESADORES CON BASE EN LA GENERACION DE CODIGO

Tesis: Octavio Juarez - ESTUDIO COMPARATIVO DE ARQUITECTURAS DE PROCESADORES CON BASE EN LA GENERACION DE CODIGOgráfica de visualizaciones

Actualizado el 12 de Septiembre del 2020 (Publicado el 14 de Enero del 2017)
642 visualizaciones desde el 14 de Enero del 2017
14,6 MB
121 paginas
Creado hace 11a (29/01/2013)
~1-I/73C.

bOIV

N=ttJ- "1057'
te~s

CENTftO DE INVE ST G A ·: 10111 Y Ol

ESTU r:o s (VHUO OS D[L

I. P. N.

B IBLI O TECA
I>!!'TN IER !A tl F(TI'\ IU

CENTRO DE

INVESTIGACION Y DE ESTUDIOS AVANZADOS DEL

INSTITUTO POLITECNICO NACIONAL

f? O ':;, 0

DEPARTAMENTO DE INGENIERIA ELECTRICA

SECCION DE COMPUTACION

ESTUDIO COMPARATIVO DE ARQUITECTURAS DE PROCESADORES CON

BASE EN LA GENERACION DE CODIGO

CENT~O D~ I:J':':STIGf~CT,i·' Y DE

ESL

'

:.v NfOOO~ vEL
I . p N

B IBLIO TECA

Tesis que presenta el

Ing. Octavia Hector Juarez

Espinosa para obtener el grado de MAESTRO EN CIENCIAS en la

especialidad

de

INGENIERIA

ELECTRICA

con

opcion

en

COMPUTACION.

Trabajo dirigido por el Dr . Jan Janecek Hyan.

Mexico D. F .

junio de

1990

CUTitt II£ INVESTIIA CIU y n

U TU t 18S AVAN ZAttS Il l

I. P. N.

.
IB LIOTE CA
INr,ENJERIA ELECTRI CA

Becario de

CONACYT

xM

A

LA MEMORIA DE MI PADRE

A MI MADRE Y HERMAHOS

A EVA

AGRADECIMIENTOS

Doy las gracias:

Al doctor Jan Janecek por sus enseilanzas, observaciones

y criticas para la realizaci6n de este trabajo.

Al doctor Guillermo Morales y al ing. Rodolfo Rosado por

el equipo facili tado para trabajar.

Al maestro Andres Vega por la lectura y correcci6n de

este texto.

A los maestros, compaileros y personal de la SECCION DE

COMPUTACION por sus enseilanzas, ayuda y solidaridad.

Al CONACYT y al CINVESTAV por la ayuda brindada para la

obtenci6n del grado.

I NO ICE

PAGINA

0.- INTRODUCCION

1.- DESCRIPCION DE ARQUITECTURAS

1. 1. - ARQUITECTURAS CON UN NUMERO LIMIT ADO DE

REGISTROS

1. 2.- ARQUITECTURAS CON UN NUMERO ABUNDANTE

DE REGISTROS

1. 3.- MAQUINAS DE PILA

1. 4 • - COMENTARIOS FINALES

2.- EL TRANSPUTER Y OCCAM

2 . 1. - MODOS DE DIRECCIONAMIENTO

2. 2.- DISENO DEL CONJUNTO DE INSTRUCCIONES

2. 3 • - EL LENGUAJE OCCAM

3.- SMALL C

3 • 1. - SOBRE SMALL C

3. 2.- SINTAXIS DEL LENGUAJE

3. 3.- DIFERENCIAS CON C

3. 4.- LA IMPLEMENTACION DE SMALL C

4 . - GENERACION DE CODIGO PARA EL TRANSPUTER

4 • 1. - EL TRANSPUTER Y EL LENGUAJE OCCAM

4. 2.- EL FORMATO DE SALIDA

4. 3 .- CODIGOS QUE SE PUEDEN UTILIZAR DENTRO DE

LA CONSTRUCCION GUY

4 • 4 • - ALGUNOS CODIGOS GENERADOS

4. 5 . - LA COMPILACION DE EXPRESIONES

4 • 6 . - LOS PSEUDOCODIGOS

4. 7 - - PROBLEMAS SURGIDOS AL IMPLEMENTAR LOS

CAMBIOS

4. 8.- ESTRUCTURAS DE DATOS UTILIZADAS

18

25

26

2 7

28
31
38

38

38
41

44

52

52

53

55

57

61

68

69

76

4.9.- EL ESPACIO DE TRABAJO DE UN PROCEDIMIENTO

4 . 10.- LAS CADENAS DE OPTIMIZACION

5 • - RESULTADOS
6.- CONCLUSIONES

REFERENCIAS

APENDICE A (SINTAXIS DE OCCAM)

APENDICE B (CODIGO GENERADO)

78

79

8 3
88

90

93

101

CENTl!'J DE !NVE.STIGACifN Y r.l

E::T Un!OS AVI.~Z OOS DEl

!. P. N.

B 1 ;:, I_ I 0 T E C A
1' u:r ·~IE P.!A F LF':Th.!':' A

INTRODUCCION

El presente

de
arqui tecturas basado en el c6digo generado para un compilador
conocido.

comparative

trabajo

estudio

es

un

En el disefio de arqui tecturas se puede apreciar una
la

modificaci6n
tecnologia, permite tener procesadores cada vez mas poderosos.

conceptos .

evoluci6n

de

La

de

El progreso de arqui tecturas se debe al deseo de obtener
mayor densidad de c6digo, que repercuta en una mayor velocidad
de ejecuci6n, lo que aparentemente se traduce a un alto precio
en el mercado y a procesadores complej os.

Uno de los principales criterios de disefio de arquitecturas

es sin duda la escritura de compiladores.

Algunos disefiadores de arquitecturas prefieren incluir en
conjunto
soportan

el
construcciones de lenguajes de alto nivel, mientras que otros
prefieren un conjunto muy reducido de instrucciones con su meta
principal fijada en la velocidad de ejecuci6n.

instrucciones,

algunas

que

de

A mayor sintonia existente entre una arquitectura de una
maquina y un compilador, el trabajo que se realiza es mucho mas
efectivo.

La sintonia entre arquitecturas y compiladores influye en
la escritura de los algoritmos de compilaci6n y de optimizaci6n
de un lenguaj e en particular.

Algunos de los problemas, relatives a la arquitectura, que

surgen al escribir un compilador son:

--Las maquinas de muchos

requieren que el
compilador asigne los registros, lo que se complica al tratar de
hacer optima la asignaci6n.

registros

--En las maquinas que utilizan ventanas de registros se
debe controlar cuando el numero de variables locales rebasa el
numero de registros asignados a ellas, asi como el salvado de
ventanas de
llamada cuando el nivel de anidamiento en una
llamada es mayor al numero de ventanas de llamada disponibles.

--cuando se tiene una arquitectura con paralelismo en las
introducir
los datos de dos

cuando hay dependencia entre

instrucci6n,

fases de ciclos de
retardos
instrucciones.

se

tienen que

-- Si el numero de modos de direccionamiento y el numero de
instrucciones es
rnuy abundante, el problema al escribir el
compilador es el proceso de seleccionar la instrucci6n y el modo
de direccionamiento adecuado.

En

este contexte una de las principales metas de este
trabajo es visualizar de una manera practica las posibilidades
que tiene la arquitectura del TRANSPUTER de INMOS en el contexte
de una arquitectura muy popular como es el 8086 de INTEL y de
algunas arquitecturas actuales
filosofia de
disefio.

con diferente

Aunque el TRANSPUTER es un chip disefiado para ambientes de
programaci6n paralelo, su comparaci6n en este trabajo es en el
ni vel secuencial.

El compilador utilizado para hacer la comparaci6n es SMALL
c y las arquitecturas en las que se hace la comparaci6n practica
son: 8086 de INTEL y TRANSPUTER de INMOS.

El interes por trabajar con el TRANSPUTER se debe a que es
una arquitectura fuera del disefio convencional de un procesador.
trabaj o esta compuesto de seis capi tulos. En el
primero de ellos se describen las arquitecturas objeto de esta
comparaci6n y las arquitecturas que constituyen el contexte.

Este

En el

segundo capitulo

se detalla el

conjunto de

instrucciones del TRANSPUTER y se describe el lenguaje OCCAM.

En el

tercer capitulo se describe

la

implementaci6n

del compilador de SMALL C .

En el capitulo cuatro se describen los cambios realizados

al compilador de SMALL C para generar c6digo para el TRANPUTER.

Los resultados de la comparaci6n de c6digos generados y de
velocidades de ej ecuci6n se presentan en el capitulo cinco, para
culminar con el capitulo seis de conclusiones.

CAPITULO 1

DESCRIPCION DE ARQUITECTURAS

Se entiende por arquitectura en este trabajo, lo

programador en
datos, formatos y conjunto de instrucciones .

lenguaje de maquina ve :

registros,

que un
tipos de

En este capitulo se categorizan las arquitecturas con base
sus
se hace una descripci6n de cinco

componentes

y

en
de ellas.

La categorizaci6n es la siguiente :
* HAQUINAS CON NUHERO LIHITADO DE REGISTROS .

Dentro de esta categoria se incluyen las maquinas que
trabajan con acumuladores y es aqui donde se incluye el
8086 de INTEL.

* HAQUINAS CON ABUNDANTE NUHERO DE REGISTROS

Arquitecturas tales como RISC y el Motorola 68000
incluyen en esta clase .

* HAQUINAS DE PILA

se

En esta categoria se hacen dos sub-categorias:
HAQUINAS DE PILA LIHITADA

En esta categoria se ubica el TRANSPUTER de I NMOS.

HAQUINAS DE PILA NO LIHITADA
La rna quina representati va de esta clase es la HP3 000.
categorizaci6n

hizo

base

con

se

en

la

La

caracteristica distintiva de cada arquitectura.

En el diseilo de cada arquitectura se puede encontrar una

filosofia y asi se pueden definir dos grupos:

El

de

un

a) . -

grupo

de
instrucciones de alto nivel. El termino instrucciones de alto
nivel
de

arquitecturas

arquitectura

significa :

conjunto

conjunto

con

una

con

un

instrucciones mils poderoso y capaz de soportar construcciones de
lenguajes de alto nivel.
El grupo de

un conjunto
reducido de instrucciones, que buscan aumentar la velocidad de
ejecuci6n.

las arquitecturas con

b) . -

A continuaci6n se hace una descripci6n de cada una de estas

arqui tecturas.

1.1.- ARQUITECTURAS CON UN CONJUNTO LIMIT ADO DE REGISTROS

La computadora diseiiada per Von Neumann cuenta solamente con
registro

acumulador, el que sirve para

interne,

todas

ej ecutar todas las operaciones.

El con tar con un registro para todas las operaciones, se
las milquinas con muchos

puede ver como el extreme opuesto a
registros.

Actualmente existen milquinas que conservan la estructura de
la milquina de Von Neumann, tales arquitecturas cuentan con un
acumulador y algunos registros auxiliares . Algunos ejemplos de
esas milquinas son: 8080, 8085 y 8086. El 8086 de Intel se
describe a continuaci6n.

1. 1.1 EL 8086 DE INTEL

8086/ 88

a

El microprocesador

los
microprocesadores convencionales, estil dividido
  • Links de descarga
http://lwp-l.com/pdf1181

Comentarios de: Tesis: Octavio Juarez - ESTUDIO COMPARATIVO DE ARQUITECTURAS DE PROCESADORES CON BASE EN LA GENERACION DE CODIGO (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad