0% encontró este documento útil (0 votos)
15 vistas6 páginas

Entrega 2: Arquitectura del Computador

El documento presenta un estudio sobre la arquitectura del computador, incluyendo la definición y uso de registros de memoria, así como los modos de direccionamiento. Se detalla la traducción de un programa de alto nivel a lenguaje ensamblador y se incluye un listado en hexadecimal del binario correspondiente. Además, se menciona la creación de una ALU en Logisim para ejecutar instrucciones específicas del programa.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas6 páginas

Entrega 2: Arquitectura del Computador

El documento presenta un estudio sobre la arquitectura del computador, incluyendo la definición y uso de registros de memoria, así como los modos de direccionamiento. Se detalla la traducción de un programa de alto nivel a lenguaje ensamblador y se incluye un listado en hexadecimal del binario correspondiente. Además, se menciona la creación de una ALU en Logisim para ejecutar instrucciones específicas del programa.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

lOMoARcPSD|5306970

Arquitectura del computador - entrega previa 2

Arquitectura del Computador (Politécnico Grancolombiano)

m
er as
co
eH w
o.
rs e
ou urc
o
aC s
vi y re
ed d
ar stu
is
Th
sh

This study source was downloaded by 100000799549935 from [Link] on 10-04-2021 21:45:36 GMT -05:00

StuDocu no está patrocinado ni avalado por ningún colegio o universidad.


[Link]
Descargado por Katherin Vega (kathevega03@[Link])
lOMoARcPSD|5306970

Entrega 2 Semana 5 1

ARQUITECTURA DEL COMPUTADOR


Cogaria Boada Dayana Marcela, Herrera Moreno Oscar Arbey, Ortega Tabares Julio Cesar, Pinzón
Rodríguez Emiro Esneider

I. DEFINICIÓN DE LA CANTIDAD DE REGISTROS QUE SE II. DESCRIPCIÓN BREVE DE LOS MODOS DE


USARÁN Y EL TAMAÑO DE CADA REGISTRO DIRECCIONAMIENTO QUE SERÁN POSIBLES.

Los registros de memoria son una pequeña cantidad de


memoria muy rápida en donde almacena y accedes a datos de Es el conjunto de reglas que especifican una localización
mayor frecuencia lo que permite incrementar la velocidad del (posición) del dato usado durante la ejecución de una
un programa en ejecución instrucción.

La mayoría de las arquitecturas de computadora emplean El microprocesador desempeña una función con facilidad
registros, moviendo datos desde la memoria principal hacia los debido a que usa un modo de direccionamiento el cual
registros, se opera sobre éstos, y el resultado es movido especifica la forma en que se interpreta la información.

m
nuevamente a la memoria principal.[1]

er as
• Directo a registro

co
Registro Descripcion

eH w
X Registro acumulador,usandolo se El registro definido por la instrucción que contiene el
operando.
produce una instrucción que ocupa un

o.
rs e
byte menos que si se utilizaran otros
Código de Registro de
ou urc
registros de uso general.
operación Procesos
SP Registro de uso general,debe utilizarse
solo como puntero de pila, la cual sirve
procesador
o

para almacenar las direcciones de


aC s

retorno subrutinas y datos temporarios.


vi y re

BX Registro base de proposito similar (se


usa para direccionamiento indirecto) Ejecución
CX Registro contador, se utilixa como
ed d

contador en bucle, en operaciones con


cadenas Figura 1 (Elaboración propia)
ar stu

DX Registro de datos, se utiliza junto con el


registro AX en multiplicaciones y
• Inmediato
divisiones en la instrucción CWD(el
is

registro DX indica el numero de puerto Se proporciona en el byte o bytes el operando que siguen el
de entrada/salida) código de operación de la instrucción.
Th

BP Puntero base, generalmente se utiliza


para realizar direccionamiento indirecto Código de
dentro de la pila operación Ejecución
sh

DI Puntero destino(no se puede subdividir)


Figura 2 (Elaboración propia)
SI Puntero indice, sirve como punterp
fuente para las operaciones con • Directo
cadenas, tambien sirve para realizar
direccionamiento indirecto El byte o par de bytes que siguen al código OP de
Tabla 1 (Elaboración propia) la instrucción da el desplazamiento de 8 ó 16 bits,
que, sumado al contenido del registro DS,
determina la dirección efectiva en la que se
encuentra el dato a transferir.
This study source was downloaded by 100000799549935 from [Link] on 10-04-2021 21:45:36 GMT -05:00

Descargado por Katherin Vega (kathevega03@[Link])


[Link]
lOMoARcPSD|5306970

Entrega 2 Semana 5 2

je L2
Código de Dirección mov eax, DWORD PTR [esp+20]
Operación de memoria test eax, eax
jle L2
mov DWORD PTR [esp+24], 0
mov DWORD PTR [esp+28], 2
Memoria jmp L3
L6:
mov eax, DWORD PTR [esp+20]
cdq
idiv DWORD PTR [esp+28]
Ejecución mov eax, edx
test eax, eax
Figura 3 (Elaboración propia) jne L4
mov DWORD PTR [esp+24], 1
L4:
add DWORD PTR [esp+28], 1
III. TRADUCCIÓN DEL PROGRAMA DE ALTO NIVEL (ENTREGA
L3:
1) AL LENGUAJE ENSAMBLADOR QUE HAN CONSTRUIDO,
mov eax, DWORD PTR [esp+20]
USANDO SU PROPIO CONJUNTO DE INSTRUCCIONES
cmp DWORD PTR [esp+28], eax

m
file "primo.c" jge L5

er as
.intel_syntax noprefix cmp DWORD PTR [esp+24], 1
.text

co
jne L6
.def ___main; .scl 2; .type 32; .endef

eH w
L5:
.section .rdata,"dr" cmp DWORD PTR [esp+24], 0

o.
LC0: jne L7
.ascii "\12Numero.....: \0"
LC1: rs e mov eax, DWORD PTR [esp+20]
ou urc
mov DWORD PTR [esp+4], eax
.ascii " %d\0" mov DWORD PTR [esp], OFFSET FLAT:LC2
LC2: call _printf
.ascii "\12El numero %d es primo\0" jmp L2
o

LC3: L7:
.ascii "\12El numero %d no es primo\0"
aC s

mov eax, DWORD PTR [esp+20]


.text mov DWORD PTR [esp+4], eax
vi y re

.globl _main mov DWORD PTR [esp], OFFSET FLAT:LC3


.def _main; .scl 2; .type 32; .endef call _printf
_main: L2:
LFB17: mov eax, DWORD PTR [esp+20]
ed d

.cfi_startproc cmp eax, -1


ar stu

push ebp jne L8


.cfi_def_cfa_offset 8 mov eax, 0
.cfi_offset 5, -8 leave
mov ebp, esp .cfi_restore 5
.cfi_def_cfa_register 5
is

.cfi_def_cfa 4, 4
and esp, -16 ret
Th

sub esp, 32 .cfi_endproc


call ___main LFE17:
mov DWORD PTR [esp+20], 0 .ident "GCC: ([Link] GCC-8.2.0- 3) 8.2.0"
mov DWORD PTR [esp+28], 0 .def _printf; .scl 2; .type 32; .endef
mov DWORD PTR [esp+24], 0
sh

.def _scanf; .scl 2; .type 32; .endef


L8:
mov DWORD PTR [esp], OFFSET FLAT:LC0
call _printf
lea eax, [esp+20]
mov DWORD PTR [esp+4], eax
mov DWORD PTR [esp], OFFSET FLAT:LC1
call _scanf
mov eax, DWORD PTR [esp+20]
cmp eax, -1

This study source was downloaded by 100000799549935 from [Link] on 10-04-2021 21:45:36 GMT -05:00

Descargado por Katherin Vega (kathevega03@[Link])


[Link]
lOMoARcPSD|5306970

Entrega 2 Semana 5 3

IV. LISTADO EN HEXA DEL BINARIO QUE REPRESENTA EL


PROGRAMA REALIZADO EN EL PUNTO 4 DE ESTA ENTREGA.

BINARIO HEXADECIMAL
10110100 B4
Figura 4 (Elaboración propia) 1 1
11001101 CD
00100001 21
10001010 8A
11111000 F8
11011000 D8
0010 2
11011111 DF
01110101 75
0011 3
11101001 E9
11100011 E3

m
er as
0 0

co
10111011 BB

eH w
10111000 B8
0110 6

o.
10110111 B7
rs e 0111 7
ou urc
10111010 BA
10111001 B9
Figura 5 (Elaboración propia) 01001111 4F
o

00011000 18
aC s

01010111 57
vi y re

00010000 10
10110110 B6
10111010 BA
0101 5
ed d

11101000 E8
ar stu

11111101 FD
01111100 7C
11000111 C7
is

11111001 F9
00111001 39
Th

01111111 7F
11000010 C2
10000000 80
11111011 FB
sh

10011100 9C
01110100 74
1000 8
10011101 9D
10001000 88

This study source was downloaded by 100000799549935 from [Link] on 10-04-2021 21:45:36 GMT -05:00

Descargado por Katherin Vega (kathevega03@[Link])


[Link]
lOMoARcPSD|5306970

Entrega 2 Semana 5 4

00101110 2E La entrada de 3 bits la cual se llama código de operación es


01010101 55 la encargada de manejar las 3 operaciones básicas (suma, resta
1110 0E y división) parametrizadas de acuerdo ala siguiente tabla:
01010110 56
00110000 30 Operación Código operación Decimal
10110000 B0 Suma 0 0
1010 0A Resta 1 1
10001001 89 División 10 2
10110101 B5 Tabla 3 (Elaboración propia)
01110100 74
00011110 1E
00111011 3B
11101011 EB
11101010 EA
11110111 F7
11110011 F3
01110100 74
Tabla 2 (elaboración propia)

m
er as
co
eH w
V. ALU EN LOGISIM, QUE PUEDA EJECUTAR LAS
INSTRUCCIONES REQUERIDAS POR EL PROGRAMA.

o.
rs e
ou urc
Son dos entradas de datos de 4 bits que son los números para
operar, los cuales aparecen como valor 1 y valor 2 y el
resultado es de 5 Bits una salida de 1 bit para la referencia del
residuo.
o
aC s
vi y re
ed d
ar stu
is
Th

FIGURA 5 (ELABORACIÓN PROPIA)


sh

This study source was downloaded by 100000799549935 from [Link] on 10-04-2021 21:45:36 GMT -05:00

Descargado por Katherin Vega (kathevega03@[Link])


[Link]
lOMoARcPSD|5306970

Entrega 2 Semana 5 5

BIBLIOGRAFIA

[1] [Link] (2016). Definición de Registro de memoria


Obtenido de [Link]

[2] Creación y funcionamiento de una ALU con logisim. (2020). Retrieved 21


April 2020, obtenido de [Link]

[3] Lectura de Caracteres en Lenguaje Ensamblador. (2020). Retrieved 21


April 2020, obtenido de [Link]

[4] (2020). Retrieved 21 April 2020, Obtenido de


[Link]
lista_548496/

m
er as
co
eH w
o.
rs e
ou urc
o
aC s
vi y re
ed d
ar stu
is
Th
sh

This study source was downloaded by 100000799549935 from [Link] on 10-04-2021 21:45:36 GMT -05:00

Descargado por Katherin Vega (kathevega03@[Link])


[Link]
Powered by TCPDF ([Link])

También podría gustarte