PDF de programación - Organización Básica de un Computador y Lenguaje de Máquina

Imágen de pdf Organización Básica de un Computador y Lenguaje de Máquina

Organización Básica de un Computador y Lenguaje de Máquinagráfica de visualizaciones

Publicado el 2 de Enero del 2021
508 visualizaciones desde el 2 de Enero del 2021
468,3 KB
37 paginas
Creado hace 17a (12/05/2006)
Contenido
Introducción
Memorias
Lenguaje de Máquina

Organización Básica de un Computador y

Lenguaje de Máquina

Prof. Rodrigo Araya E.
[email protected]

Universidad Técnica Federico Santa María

Departamento de Informática

Valparaíso, 1er Semestre 2006

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

1 Introducción

2 Memorias

3 Lenguaje de Máquina

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Introducción

La función principal de un procesador es cumplir órdenes.

Estas órdenes son entregadas en un lenguaje especial para
cada procesador: Lenguaje de máquina.
Las palabras del lenguaje de máquina se denominan
instrucciones, y el vocabulario conjunto de instrucciones.

En este capítulo nos centraremos en la estructura del
computador, y en el conjunto de instrucciones.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Estructura de un computador

Un computador digital tiene 3 bloques principales:

El Procesador
El Sistema de Memoria
El Sistema de Entrada y Salida

Diagrama básico de un CPU

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Estructura de un computador

Diagrama de bloques de un AMD64:

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

En un computador existen diversos tipos de memoria (tiempo
de acceso, costo, tamaño).

Estas memorias son jerárquicas:

A medida que se desciende de la pirámide, aumenta la latencia,
aumenta el tamaño, y disminuye el costo de las memorias.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

Registros:

Memoria Cache:

Memoria utilizada directamente por el
procesador.
Memoria intermedia, ubicada muy cerca
de la unidad de procesamiento.

Memoria Principal: Memoria de acceso aleatorio (RAM).
Memoria Externa: Memoria de almacenamiento masivo no volátil

(Disco Duro, Medios ópticos, cintas, etc.).

Los Registros, Cache y Memoria Principal son considerados
memorias internas.

Estrategia
Organizar datos y programas en memoria de manera que las
palabras de memoria siempre estén en la memoria más rápida.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

Unidad de Transferencia
Otro aspecto importante en las memorias es la Unidad de
Transferencia. Esta unidad corresponde a la cantidad de bits que
se transfieren desde/hacia el dispositivo de memoria.

Palabra: Es la unidad “natural” de memoria. En una

arquitectura limpia, el tamaño de una palabra
corresponde, al número de bits utilizado para
representar números en un registro, y a la longitud de
una instrucción.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

Unidad de Transferencia

En Memoria Caché a menudo es igual a la longitud de una
palabra.

En Memoria Principal es igual al número de bits que se leen o
escriben. Generalmente no coincide con el tamaño de una
palabra (típicamente 8 bits).

En Memoria Externa los datos se transfieren en unidades más
grandes que una palabra.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

Para cargar un dato de memoria principal en el procesador, es
necesario pasar por la memoria intermedia, Cache.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

Memoria Cache
Es altamente probable que futuros accesos del procesador a
memoria principal, sean a posiciones accedidas recientemente.

Se retienen algunos de los bloques de la Memoria Principal en
la Memoria Cache.

El manejo de la memoria caché esta implementado en HW y
es de forma automática.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

La memoria de caché cuenta además con un espacio para
almacenar una etiqueta que tiene referencia al bloque de
memoria principal que se cargó.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Memorias

La memoria principal es bastante más grande, y tiene un
tamaño limitado por el direccionamiento.
Se pueden direccionar 2n − 1 “lineas” de memoria principal.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Lenguaje de Máquina

Para el estudio de arquitectura consideraremos la máquina
MIPS (R3000 y R4000).

MIPS R3000, R4000

Procesador de 32 bits

Tecnología RISC.

Su diseño es bastante “limpio” y general, para entender el
lenguaje de máquina.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Lenguaje de Máquina

Lenguaje de Máquina

El Lenguaje de Máquina se escribe utilizando instrucciones.
Existen diversas instrucciones para un procesador, las que
permiten realizar:

Operaciones lógicas y aritméticas.
Lectura/Escritura y corrimiento de datos.
Saltos y Bifurcaciones.
Etc...

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Instrucciones

A diferencia de los lenguajes de alto nivel, los operandos de
las instrucciones no pueden ser variables.

Para los operandos se utilizan registros.
Todos los registros en MIPS, tienen 32 bits.

El grupo de 32 bits se denomina palabra.

El archivo de registros de MIPS tiene 32 registros.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Instrucciones

Registros temporales para variables

Por el momento definiremos los registros que se utilizan como
operandos en las instrucciones:
Por convención utilizaremos:

Para variables que deben ser preservadas a través de llamadas:

$s0, $s1, $s2, . . . , $s7

Para variables que no necesitan ser preservadas a través de
llamadas:

$t0, $t1, $t2, . . . , $t9

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Instrucciones Aritméticas

En todo computador se deben realizar operaciones
aritméticas, tanto para operar sobre datos, como para
direccionar memoria, realizar bifurcaciones, etc..

Suma y Resta

La suma y la resta en MIPS, se realizan de la siguiente
manera:

add a,b,c #a ← b + c
sub a,b,c #a ← b − c

Todas las instrucciones aritméticas tienen 3 operandos.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Instrucciones Aritméticas

Ejemplo mas “complicado”

En C

a=b+c
d=a-e
f=(g+h)-(d+a)

En Lenguaje de máquina:
→ add a,b,c
→ sub d,a,e
→ ¿...?

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Instrucciones Aritméticas

Solución

Se tiene

Se asume:

f = (g + h) − (d + a)

g →$s1
h →$s2
d →$s3
a →$s4
f →$s5

Se Luego:

add $t0, $s1, $s2 #$t0 ← g + h
add $t1, $s3, $s4 #$t1 ← d + a
sub $s5, $t0, $t1 #$f ← (g + h) − (d + a)

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Arreglos de Memoria

Los lenguajes de programación, además de manejar variables
simples, son capaces de manejar estructuras más complejas.

Estructuras de datos como los arreglos, son mantenidos en
memoria principal.

Existen instrucciones que permiten cargar o guardar palabras
desde la memoria principal a registros del procesador (o vice
versa).

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Arreglos de Memoria

La memoria principal está organizada en bytes. Esto significa
que cada dirección apunta hacia un byte.

Como el procesador MIPS tiene registros de 32 bits (una
palabra), se pueden cargar 4 bytes.
Existen 2 organizaciones distintas de ubicar bytes en palabras:

Little Endian.
Big Endian.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Arreglos de Memoria

Little Endian y Big Endian

El tipo de organización de la memoria depende exclusivamente
de la arquitectura que se utilice.

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Arreglos de Memoria

Little Endian y Big Endian
Ambas organizaciones son ampliamente utilizadas, ya que ambas
tienen sus propias ventajas.

Ejemplos de Little Endian:

VAX
Intel
DEC Risc

Ejemplos de Big Endian:

MIPS
SPARC
IBM 360

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Arreglos de Memoria

Para cargar una palabra de memoria principal, a un registro
del procesador, se utiliza la instrucción lw.
Al cargar una palabra, se guardaran 32 bits en el registro
correspondiente, lo que se traduce a 4 bytes de memoria
principal.
Por ejemplo para cargar el valor A[8] en un registro

El valor 8 corresponde al número de elemento del arreglo.
El arreglo A comienza en una dirección de memoria.
Dirección del valor a cargar = dirección de A + 4 ∗ 8

RAE

Organización Básica de un Computador y Lenguaje de Máquina

Contenido
Introducción
Memorias
Lenguaje de Máquina

Arreglos de Memoria

Registro Base y offset

En general, para acceder a una posición de un arreglo de
memoria, se debe sumar una constante a una direcció
  • Links de descarga
http://lwp-l.com/pdf18624

Comentarios de: Organización Básica de un Computador y Lenguaje de Máquina (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