Upload
anonymous-2se3lqmwp
View
10
Download
2
Embed Size (px)
DESCRIPTION
arquitectura computadoras
Citation preview
INTRODUCCIÓN
L A M E M O R I A E N U N C O M P U TA D O R E S TÁ C O M P U E S TA D E N Ú M E R O S , N O A L M A C E N A E S T O S N Ú M E R O S E N D E C I M A L ( B A S E 1 0 ) . P O R Q U E S E S I M P L I F I C A M U C H O E L H A R D W A R E , L O S C O M P U TA D O R E S A L M A C E N A N T O D A L A I N F O R M A C I Ó N E N B I N A R I O ( B A S E 2 ) .
1) Sistemas de Numeración
1/18
DECIMAL
Los números con base 10 están compuestos de 10 posibles dígitos (0-9).
Cada digito de un número tiene una potencia de 10 asociadas con él, basada en su posición en el número.
BINARIOLos números en base dos están compuestos de dos posibles dígitos (0 y1).
Cada digito de un número tiene una potencia de 2 asociada con el basada en su posición en el número.
hexadecimal
Los números hexadecimales tienen base 16. Los hexadecimales (o hex ) se pueden usar como una representación resumida de los números binarios. Los números hexadecimales tienen 16 dígitos posibles.
2/18
ORGANIZACIÓN DEL COMPUTADOR
La unidad básica de memoria es el byte. Un computador con 32 Mega bytes de memoria puede almacenar aproximadamente 32 millones de bytes de información. Cada byte esta etiquetado por un número único conocido como su dirección.
LA MEMORIA
LA CPU
La Unidad Central de Procesamiento (CPU) es el dispositivo físico que ejecuta las instrucciones. Las instrucciones que ejecuta la CPU son por lo general muy simples. Las instrucciones pueden requerir datos que estén en un lugar especial de almacenamiento de la CPU en si misma llamados registros.
3/18
LA FAMILIA DE CPU 80X86Las PC de tipo IBM tienen una CPU de la familia Intel (o un clon de ellas) Las CPU de esta familia todas tienen algunas características comunes incluyendo el lenguaje de maquina básico.
8888,8086:
Estas CPU soportan hasta 1 Mega byte de memoria y solo opera en modo real.
80286:
Esta CPU se usa en los PC tipo AT. Agrega unas instrucciones nuevas al lenguaje de máquina base del 8080/86. Sin embargo la nueva característica principal nueva es el modo protegido de 16 bits.
80386:
Esta CPU es una gran ampliación del 80286. Primero extiende los registros para almacenar 32 bits. y añade dos nuevos registros de 16 bits FS y GS. También añade un nuevo modo protegido de 32 bits.
4/18
80486/Pentium/Pentium Pro: Estos miembros de la familia 80x86 añaden muy pocas características nuevas. Ellos principalmente aceleran la ejecución de las instrucciones.
Pentium MMX:
Este procesador añade instrucciones MMX (extensiones Multimedia) al Pentium. Estas instrucciones pueden acelerar instrucciones comunes gráficas. Ítem [Pentium II:]
Registros de 16 bits del 8086:
La CPU original 8086 suministra 4 registros de 16 bits de propósito general AX, BX, CX y DX.
5/18
Modo Real
En el modo real la memoria está limitada a solo 1 mega byte (220 bytes).Las direcciones válidas están desde 0000 hasta FFFFF. (En hexadecimal).
Modo protegido de 16 bitsEn el modo protegido del 80286 los valores del selector son interpretados completamente diferente que en el modo En el modo real, un valor de selector es un número de párrafo de memoria física. En el modo protegido un valor selector es un índice en una tabla de descripción.
Modo protegido de 32 bitsEl 80386 introdujo el modo protegido de 32 bits. Hay dos grandes diferencias entre los modos protegidos de un 386 de 32 bits y un 286 de 16 bits.
6/18
Interrupciones Algunas veces el flujo ordinario de un programa debe ser interrumpido para procesar eventos que requieren una respuesta rápida. El hardware de un computador provee un mecanismo llamado “interrupción” para manipular estos eventos.
Lenguaje ensamblador
1)Lenguaje de máquina
Cada tipo de CPU entiende su propio lenguaje de máquina. Las instrucciones en lenguaje de máquina son números almacenados como bytes en memoria. Cada instrucción tiene su propio y único código llamado código de operación u opcode.
2)Lenguaje ensambladorUn programa Escrito en lenguaje ensamblador es almacenado como texto (tal como programas de alto nivel). Cada instrucción representa exactamente una instrucción de la máquina.
7/18
Entrada y Salida
La entrada y salida son acciones muy dependientes del sistema. Involucra comunicarse con el hardware del sistema.
Depuración
La biblioteca del autor también contiene algunas rutinas útiles para depurar los programas. Estas rutinas de depuración muestran información sobre el estado del computador sin modificar su estado.
Lenguaje ensamblador básico
Complemento a Uno
El complemento a uno de un número se encuentra invirtiendo cada bit en el número. (Otra manera de ver esto es que el nuevo valor del bit es 1−el valor antiguo del bit).Por ejemplo el complemento a uno de 00111000 (+56) es 11000111. En la notación de complemento a uno calcular el complemento a uno es equivalente a la negación.
Complemento a dosLos computadores modernos usan un tercer método llamado la representación en complemento a 2. El complemento a 2 de un número se halla con los dos pasos siguientes:1. Hallar el complemento a uno del número.2. Sumar uno al resultado del paso 1.Acá está un ejemplo usando 00111000 (56). Primero se calcula el complemento a uno: 11000111. Entonces se añade uno:
Estructuras de control
Los lenguajes de alto nivel suministran estructuras del alto nivel (instrucciones if while), que controlan el flujo de ejecución. El lenguaje ensamblador no suministra estas complejas estructuras de control.
Comparaciones
Las estructuras de control deciden que hacer basados en la comparación de datos. En ensamblador, el resultado de una comparación se almacenan en el registro FLAGS para usarlas luego. El 80x86 suministra la instrucción CMP para realizar comparaciones.
ARREGLOS
Los arreglos son una colección de variables del mismo tipo y se referencian usando un nombre común.
Sus principales características son:
1. Consta de posiciones de memoria consecutivas.
2. Un arreglo puede tener una o varias dimensiones.
3. Un arreglo es una colección finita, homogénea y ordenada de elementos.
4. Finita: Todo arreglo tiene un límite; es decir, debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo.
5. Homogénea: Todos los elementos del arreglo deben ser del mismo tipo.
6. Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elemento.
TIPOS DE ARREGLOS
1. Arreglos Unidimensionales (Vectores)
Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales.
2. Arreglos Bidimensionales (Tablas o Matrices)
Este tipo de arreglos al igual que los anteriores es un tipo de dato estructurado, finito ordenado y homogéneo. El acceso a ellos también es en forma directa por medio de un par de índices.
DECLARACIÓN DE ARREGLOS
La sintaxis de estas directivas, en el caso de declaraciones de arreglos, son:
[nomArreg] db exp[, exp]...
[nomArreg] dw exp[, exp]...
[nomArreg] dd exp[, exp]...
[nomArreg] dq exp[, exp]...
donde nomArreg es el nombre del arreglo y exp son expresiones constantes.
El número de expresiones determina el tamaño del arreglo y sus valores se utilizan para inicializar el arreglo
PUNTO FLOTANTE
Es la representación de numero no enteros
En decimal, los d´ıgitos
a la derecha del punto decimal tienen asociados potencias de 10 negativas
0,2 , 0,22 , …..
0,123 = 1 × 10 ^-1 + 2 × 10^−2 + 3 × 10^−3
0,2=2 × 10 ^-1
0,22=2 × 10^-1+2 × 10^-2
REGISTROS EN ASEMBLER
Para acelerar las operaciones del procesador, este incluye algunas ubicaciones de almacenamiento de memoria llamada
registros.
REGISTROS GENERALES
REGISTROS DE CONTROL
REGISTROS DE SEGMENTOS
los registros general son dividido en los siguientes grupos
REGISTRO DE DATOS
REGISTR DE PUNTEROS
REGISTROS DE INDICE
DATA REGISTERS
LINUX SYSTEM CALLS
● Especificamos con el registro eax que tipo de llamada vamos a realizar
● Almacenamos los argumentos para la llamada en los registros ebx,ecx
● Y llamamos a la interruccion correspondiente (80h)
● El resultado usualmente retorna en el registro EAX