Está en la página 1de 14

11

Politéc nico Gra ncolombia no


Arquitectura del
Computador
Presentado por:

- Luis Felipe Peña Lozano - 1821980315


- Ever Rafael Rojas Polo - 1721021330
Ta bla de, contenido

Introducción................................................................................................................................3

Marco Teórico............................................................................................................................3
Algoritmo en Java Script............................................................................................................5

Tamaño de los datos..............................................................................................................6

l. Listado de instrucciones detallando por cada una:................................................7


Listado de instrucciones (Detallado)......................................................................................7

b. Nombre, mnemónico, parámetros que recibe............................................................7

c. Descripción de una frase indicando qué hace en términos de lo que recibe como
parámetro........................................................................................................................8

2. Definición de la cantidad de registros que se usarán y el tamaño de cada registro...8

Cantidad de Registros y su tamaño correspondiente...........................................................8


3. Descripción breve de los modos de direccionamiento que serán posibles................8

Modos de direccionamientos posibles..................................................................................9

4. Traducción del programa de alto nivel (entrega 1) al lenguaje ensamblador que han
construido, usando su propio conjunto de instrucciones...............................................9

Lenguaje de Alto nivel a Lenguaje ensamblador.....................................................................10

5. Listado en HEXA del binario que representa el programa realizado en el punto 4 de


esta entrega•.
10

Unidad Aritmético Lógica (ALU)..............................................................................................11

Bibliografía.................................................................................................................................... 13
I ntroducción
A lo largo de la historia, el ser huma no ha desarrollado tecnología,
adecuá ndose y mejorá ndose de acuerdo a la evolución de la huma nidad.
Todo esto ha facilitado el diario vivir y ha cata lizado nuestra evolución y
crecimiento como especie. No obsta nte, la digita lización y el micro
procesa miento de la información son las tecnologías que mas nos ha
aporta do y mejorado, debido a todos los ava nces que estas nos han
permitido en casi todos los ámbitos de nuestras vidas actuales, tanto así
que nos ha ca mbiado la forma de vivir, de comunica rnos y de evoluciona r
a ún más como especie. Como ingenieros de software es de suma
importancia que entenda mos y a nalicemos el funciona miento de esta
tecnología.

Marco Teórico

Pa rtiendo de la premisa que la computadora es un ordenador digita l,que

basa sus procesos como ordena dor numérico, automática, secuencia l,

universal.

Bajo este parámetro la computadora esta codifica da con números y en


conjuntos de ceros (O) y unos (1) compa rtiendo a su vez espacios de
letras, lo

que convierte ta mbién en procesos a lfanuméricos. Es automática porque

puede ejecuta r operaciones sin la intervención de un opera dor externo de

manera continua para realiza r espacios de supervisión en la resolución de un

problema lo cua l puede realizar de manera secuencia l siguiendo los pasos

que sea n determinados por el programador, de acuerdo a las va riables y


factores predispuestos en las acciones solicitadas por el cliente o el

dueño de la
necesida d, es importante que la programación destinada a la maquina

presente un lenguaje e instrucciones clara s que les permita cumplir a

ca balidad las instrucciones de universalidad requeridas.

Es importante entender que la computa dora es desa rrollada como un

sistema compuesto, pero bajo los parámetros impuestos por el crea dor,

diseña dor o fabricante.

Adiciona l la a rquitectura del computador explica la situación de sus

componentes y permite determina r las posibilidades de que un sistema

informático, con una determina da configuración, pueda realizar las

operaciones para las que se va a utiliza r. Cualquier usua rio que desee

a dquirir un sistema informático, ta nto si es una gra n empresa como un

particula r, debe responder a una serie de preguntas previas: ¿qué se desea

realizar con el nuevo sistema informático? ¿Cuá les son los objetivos a

conseguir? ¿Qué software será el más a decuado para conseguir los objetivos

marcados? ¿Qué impacto va a suponer en la organización (laboral o

personal) la introducción del nuevo sistema informático? Finalmente, cua ndo

se haya respondido a estas preguntas, el usua rio tendrá una idea aproxima

da de los objetivos que han de cumplir los diferentes sistemas informáticos a

eva luar
Algoritmo en J ava Sc ript

function esPrimo(numero) {
var va lor = true;
var arrayNumeros = []
if (numero.islnteger(numero)) {
if (numero != 1&& numero != O)
{ for (let i = 2; i < numero; i++) {
if (numero % i === O) {
if (numero % 1=== O) {
va lor = fa lse
a rrayNumeros.push(i)
console.log("Numero: " + numero + "NO es primo, es multiplo de
11 + i);
}
}
}
if (va lor == true) {
a lert("Numero:" + numero + " ES primo")
} else {
a lert("Numero: " + numero + " NO es primo, porque es divisible por "
+ arrayNumeros)
}
}
} else
{
alert("EI va lor debe ser un numero entero")
}
}
func t fori esPrímo (numern ) {
\' a.r \la lo:r = r ue;
v a.r o:rrayNumef'os = []
_, (numeo.isinteger {nurnero)){ if
(numero ! = l ¿& numero ·3)
{
ior (let i= 2; i< numer o i
if (numero '".: i=== O ); { +-+ ) {
if (nu112ero l === 0) con sol e
{ valor = fa se .la g('"Nu
arrayNu eros.push(i) me ro : "
+
1 e
r
es primo_. e-s ultiplo
'"NO " - i) ;
} de
}
}
i r (valor == t:ue ) {
alert("NUl!lle ro:" + numero + " ES
primo ")
} el:;.: { porque es divisible por º """ arl:"'ay Nuntreiros)
alert("Numero: " + n wn ero +NO
º es pri1110,
}
}
}else {
clel:J.e
alert ('" El valor ser un nurrteiro e-nteiro ")
}
}

Ta ma ño de los datos

A partir de el algoritmo a nteriormente presenta do se identifican los tipos de


datos que hacen parte de la ejecución del mismo.

•,[l i} ij ij fj•l.fj{I ' l


•[l [r\.· (1 :r l.lu1' fi ,J ü

Registro o bloque de
memoria de 1bit (usualmente se agrupan
BOOLEAN
valor Dos estados: True (1) o False (O)
varios booleanos en un solo
registro o bloque de memoria)

Cadena enteros desde - 231hasta 231- 1 (Incluye


arrayNumeros Uint8Array Enteros sin signo de 8números
bits con signo)

Números enteros desde -


numero INTRegistro o bloque de memoria de 32 bits 231- 1 (Incluye números con signo)
231hasta
Registro 0 bloque deNúmeros enteros desde -
i INT memoria de 32 bits231hasta 231- 1 {Incluye números con signo)

1. Listado de i nstrucciones, detalla ndo por cada u.na

Listado de instrucc iones ( Deta lla do)

A continuación, la definición detallada del conjunto de instrucciones que se


va a usa r:

l I] íl
Li Dar valor al registro
Rem Obtener el residuo de una división
Beq instrucción condicional, preguntar si un valor es igual a otro
Les Instrucción condicional, preguntar si un valor es menor que otro
Add instrucción aritmética de suma
Mul instrucción aritmética de multiplicación
Sw instrucción, guardar un dato en una posición de RAM
Jump instrucción de control, saltar a otra línea del programa

Teniendo este listado de instrucciones es posible determina r que se utilizara


n 3 dígitos binarios para el código de cada instrucción.

b.Nombre,mnemónico1 parám1etros que recibe.

Nomb mnemóni Parámetros que


Li R# valor {R# el número del registro que se le va a dar valor)
Rem R#a,R#b,R#c Tres operandos que son residuo, dividendo, divisor
Beq R#e,R#f Dos operandos
Les R#g,R#h Dos operandos
Add R#i,R#j,R#k Tres operandos que son resultado y sus dos sumandos
Mul R#I, R#m,R#n Tres operandos que son resultado y sus factores
Primer operando es el valor a guardar y el segundo operando, es
Sw R#l,O {R#2)
el espacio a utilizar donde se va a guardar en la RAM) R#2
Jump # 1 rotulado que indica el renglón donde se realizara el salto del programa

c.Descripción de na fra.se indicando ,qué nace en térmh1os de lo que redbe


como parámetro

Descripción de una frase (Qué hace en términos de lo que recibe como


parámetro)
Li R2 5 (al registro número 2 se le da el valor de 5)
Rem Rl,R2, R3 (O = residuo de 10/5, suponiendo que R2 vale 10, R3 vale 5)
Beq R1,R2 (R1==R2)
Les R2, R3 (R2<R3)
Sum R5,R2,R3 (R5= R2+R3)
Mul R6,R2,R3 (R6= R2*R3)
Sw Rl,O (R2)
Jump 0111

2. Definic'i6n de la cantidad de registros que· se usarán y ,eltamaño de, 1cada


reg1stro.

Ca ntidad de Registros y su ta ma ño cor respondiente

Se necesita rán un total de 15 registros, tendiendo como ta maño 8 bits.


Haciendo uso de registros de esta do y de control se utiliza rán las
siguientes instrucciones:

• Registro de instrucción (IR)


• Conta dor de instrucciones (PC)
• Registro de memoria (MAR)
• Registro intermedio de memoria (MBR)

3.Descripción breve de los modos de direccionamiento que serán p.asibles.


Modos de d irecciona mientos posi bles

J USTIFICACION

= -- 1

-
Rem Rl,R2, R3 ( O = residuo de 10/5,
_ suponiendo que R2 vale 10, R3 vale S)_
Directo a registro -
Directo a registro
Sum RS,R2,R3 ( RS= R2+R3)

Directo a registro Mul R6,R2,R3 {R6= R2*R3) Operación aritmética que afecta directamente al
registro

Directo a registro

Directo a registro

Transferencia de datos Sw Rl,O {R2) comunicación con la RAM

Jump # (rotulado, indica el renglón Saltos en el código resaltando en la tipografía


Pseudodirecto
donde se realizara el salto del programa)

Indirecto a Registro Sw Rl,O {R2) Interacción con la RAM

4. Traducción del programa de alto nive1 I. (entrega 1) al lenguaje ensamblador que 1

han co·nstruido, usando su propio conjunto de instrucciones .


Lenguaje de A lto nivel a Lenguaje
ensa mbla do r

Asigna un valor a
li o R, valor Li R2 5 Registro R2 5 un registro
Rem O = residuo Realiza operación
rem 1 R1,R2, R1,R2,R3 de 10/5 aritmética
etiqueta (división)
Realiza operación
beq 1 R1,R2, Beq R1==R2 aritmética (igual
0 etiqueta R1,R2,R3 que)
Realiza operación
les 1 R1,R2, Les R2,R3 R2<R3 aritmética (menor
1 etiqueta que)
Realiza operación
Sum aritmética (suma de
c1 1m 1n R1 .R 'J tini 1 R i; R 'J R R i;- R 'J+R los
n t::1
Realiza operación
aritmética
mul 1 R1,R2, Mul R6= R2*R3 (multiplicación de los
0 etiqueta R6,R2,R3 operandos)
Guarda un valor
sw 1 R, valor Sw Rl,O O (R2) en espacio
1 (R2) asignado
Salta al lugar indicado
jump 1 Etiqueta Jump Saltar al lugar de manera
1 0111 independiente

5.Us,tado en HEXA del bina rio que repres,entai e programa realizado ,en el punto
4
de esta entrega.

Instrucción en H
binario o E
1
1 1000000001 2
2 2000000010 3
3 3000000011 4
4 4000000100 5
i; i;c JI JI 10001n 1 h
6 6000000110 7
7 7000000111 8
8 1000000100 9
9 1100000100 10
10 1
1200000101 A
11 13000001011 B
- _ __ _ _
1 Jl l "\l "\ l"\ l"\ . ....
l"\ 1 r
.....
--13
1 .....

1500000110 D
14 1
1600000111 E
15 17000001111 F

6. ALU en Logisim, que pueda ejecutar las instrucciones requeridas por el programa.

Unidad A ritmético Lógica (A LU)


1. Instalación del inicio básico ALU

2. Implementación de operaciones básicas ALU

• AND
• OR
• XOR
• NOR

• ADD/SUB
-
3. Apa riencia del Circuito

LIESS
. SE- ­
COUT
Bibliografía

EcuRed. (s. f.). Unidad Aritmético Lógica. Recuperado 17 de a bril de


2020, de https://www.ecured.cu/Unidad Aritm%C3%A9tico
L%C3%B3gica

Logisim. (s. f.). The Guide to Being a Logisim User. Recupera do 17 de


a bril de 2020,de
http://www.e bu re h.co m/1ogisi m/docs/2. 7/en/htm1/gu ide/ind ex. htm 1

Ca rvaja l Va lderra ma ,J . A. {2012, noviembre 20). Digitales 1: Profe


Chucho. Recuperado 17 de a bril de 2020,de
http://digita leslescom.blogspot.com/2012/11/

Meuth , R. {2013, octubre 13). CSE 230 - LogiSim ALU Tutoria l.


Recuperado 17 de a bril de 2020,de https://www.youtube.com/watch?
v=dYZ Hwbcnq4

Anexo A: Progra mación a bajo nivel de un computador. { 2002). (A).


Recuperado de
https://rua.ua.es/dspace/bi tstream/10045/14769/1/Programaci%C3%B3n
%20a%20ba jo%20nivel%20de%20 un%20computador.pdf

También podría gustarte