Anda di halaman 1dari 34

43

MC Beatriz Beltrn Martnez

Toda la informacin en la computadora es almacenada en dgitos binarios, los cuales son representados por medio de un agrupamiento de los mismos como caracteres de instrucciones o nmeros. Estos agrupamientos definen cdigos, de ah que un cdigo pueda definirse como un conjunto de reglas para interpretar grupos de bits.

Ensamblador

Primavera 2012

Cdigos

BIT: Dgito binario, es una celda de almacenamiento, se puede almacenar un 0 o un 1. BYTE: Unidad de almacenamiento equivalente a 8 bits. Cdigo ASCII: Acrnimo ingls de American Standard Code for Information Interchange, es un cdigo de caracteres basado en el alfabeto latino tal como se usa en ingls moderno y en otras lenguas occidentales. Fue creado en 1963.

44

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Cdigos

EBCDIC: Extended Binary Coded Decimal Interchange Code, es un cdigo estndar de 8 bits usado por computadoras mainframe IBM. EBCDIC es un cdigo binario que representa caracteres alfanumricos, controles y signos de puntuacin. Cdigo Gray: Es un sistema de numeracin binario en el que dos valores sucesivos difieren solamente en uno de sus dgitos. Fue diseado para prevenir seales de los switches electromecnicos. Actualmente es usado para facilitar la correccin de errores en los sistemas de comunicaciones.

45

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Cdigo

Arquitectura de una computadora


MC Beatriz Beltrn Martnez

Primavera 2012

De manera general una computadora puede definirse como un rpido y exacto sistema de manipulacin de datos, diseada y organizada para aceptar y almacenar informacin, procesarla y producir informacin de salida. Hardware: Son los componentes electrnicos que forman a la computadora, esto es, el teclado, el monitor, los circuitos integrados. Software: Es el conjunto de instrucciones que ejecuta una computadora

47

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Definiciones

Discretos. Son aquellos que resultan de un conteo, por ejemplo, el total de alumnos en un saln de clases. Continuos. Son aquellos que resultan de la medicin, por ejemplo, la velocidad de un automvil, obtenida a travs de un velocmetro.

Existen dos tipos de computadoras: digitales y analgicas.

48

MC Beatriz Beltrn Martnez

Ensamblador

Esto se debe a que los datos que las computadoras manejan se dividen en continuos y discretos.

Primavera 2012

Definiciones

Una computadora digital es un dispositivo de clculo que procesa datos discretos. Una computadora analgica es un dispositivo de clculo que procesa datos continuos. A travs del tiempo se han desarrollado ms las computadoras digitales y su principal caracterstica es la velocidad, adems de ser poco costosas.

49

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Definiciones

El diseo bsico operacional de un sistema de cmputo se conoce como arquitectura A John Von Neumann (VNA), un pionero del diseo de la computadora. Un sistema tpico de NVA tiene tres componentes: memoria, una unidad central de procesamiento (CPU) y dispositivos de entrada/salida (I/O). En las mquinas VNA, el CPU es donde toda la accin tomar lugar. Todos los clculos ocurren dentro del CPU.

50

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Arquitectura VNA

UI CPU UE

Teclado

Pantalla

Entrada
E/S

Salida

51

MC Beatriz Beltrn Martnez

Memoria principal

Ensamblador

Tanto los datos como las instrucciones residen en memoria hasta que son requeridas por el CPU.

Primavera 2012

Arquitectura VNA

El bus del sistema. Conecta varios componentes de una mquina VNA. Un bus es una coleccin de cables sobre los cuales las seales elctricas pasan entre los componentes en el sistema, estos buses pueden variar. El bus de datos. Se usan para intercambiar datos entre los diferentes componentes de las computadoras. El tamao del bus vara. El bus de datos transfiere informacin entre una localidad de memoria particular o I/O y el CPU.

52

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Bus del Sistema

El bus de direccin. Localiza la memoria o el dispositivo de I/O de donde va a transferir informacin el bus de datos. El bus de control. Es una coleccin de seales que controlan como el procesador se comunica con el resto del sistema. Dirige el flujo de cmo se maneja la informacin dentro del sistema. Existen dos lneas, una de lectura y otra de escritura los cuales especifican la direccin del flujo de datos.

53

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Bus del Sistema

Unidad de Instruccin (UI): Se lleva a cabo la accin de captar la entrada y salida y codificar las instrucciones. Est formada por 3 secciones: 1.Unidad de control de bus, que controla los buses que transfieren datos a la UE, a la memoria y a dispositivos de E/S.

54

MC Beatriz Beltrn Martnez

La Unidad Central de Procesamiento (CPU), es la que tiene el control de la computadora y es responsable de la captacin, interpretacin y ejecucin de una secuencia de programas. Consta de dos partes:

Ensamblador

Primavera 2012

CPU

2. 4 registros que controlan el direccionamiento y pueden manejar arriba de un milln de bytes de memoria. 3. Acceso a instrucciones de la memoria y los coloca en una cola de instrucciones. A la UI se le conoce como BIU (Bus Interface Unit). Unidad de Ejecucin (UE): Es donde las instrucciones son ejecutadas, la UE contiene la ALU (Unidad Aritmtica Lgica), que es donde se ejecutan las operaciones aritmtico lgicas. Se tienen un conjunto de registro de trabajo y una unidad de control.

55

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

CPU

UE
UI CS DS ES SS Control del Programa

ALU UC Reg. Bandera

Unidad del Control del bus 1 2 3 4

80x86 Bus

Cola de instrucciones 4 bytes


56

IP

MC Beatriz Beltrn Martnez

AH AL BH BL CH CL DH DL SP BP SI DI

Ensamblador

Primavera 2012

CPU

La memoria es la unidad de almacenamiento de la computadora Es una secuencia ordenada de lugares de almacenamiento denominados localidades, en la memoria se almacenan los programas, es decir, los conjuntos de instrucciones que la UC debe interpretar y los datos sobre los cuales se trabajar.

57

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Memoria

La memoria se divide en: Memoria interna, principal o primaria. Es la memoria que contiene la computadora. Memoria secundaria o externa. Se maneja en discos flexibles, cintas magnticas y en discos duros bsicamente. La memoria interna es usualmente un recurso escaso pero muy veloz. La memoria externa es mucho ms grande en almacenamiento que la interna; pero en tiempo es mucho ms lenta.

58

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Memoria

La memoria interna se divide en dos grupos:


Voltil o RAM (Random Access Memory). Memoria de acceso aleatorio, en ella se puede escribir o leer, pero al apagar la mquina la informacin se pierde. No voltil o ROM (Read Only Memory). Es de solo lectura, no se puede escribir en ella, la informacin se conserva.

La memoria se divide en palabras y se define como una unidad de almacenamiento esta formada por 2, 4, u 8 bytes. Una localidad es un byte de memoria, un agrupamiento de 8 bits.

59

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Memoria

Dispositivos perifricos. Son medios de comunicacin con la computadora. Se dividen en dispositivos de entrada y dispositivos de salida. Los dispositivos de entrada permiten al usuario proporcionar datos a la computadora entre lo que se encuentran programas que sern procesados. Por ejemplo, teclado, unidad de discos flexibles, scanner, etc.

60

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Entrada / Salida

Los dispositivos de salida permiten al usuario conocer resultados obtenidos a travs del procesamiento de programas y datos como por ejemplo, unidad de discos flexibles, pantalla, impresora, etc. Todas las partes de un computadora estn relacionados, ligados por un bus, el cual puede definirse como un medio de comunicacin entre los distintos componentes de la computadora.

61

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Entrada / Salida

Estos pasos se han dividido en tres:


Fetch (alimentar 1 y 2) Decode (Decodificar 3) Execute (Ejecutar 4)

62

MC Beatriz Beltrn Martnez

Solicita dato (Direccin) Se manda dato (Instruccin) Se traduce o decodifica el dato Se ejecuta instruccin

Ensamblador

Es un conjunto de pasos que se llevan a cabo para ejecutar instrucciones. Ciclo de mquina:

Primavera 2012

Ciclo de mquina

Existen 14 registros en total: 4 segmentados, 4 de propsito general, 2 registros apuntadores, 2 registros ndice 1 registro de banderas y 1 registro apuntador de instruccin

63

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Registros

La memoria del procesador 80x88 se encuentra fraccionada en lo que se conoce como segmento. Un segmento es una porcin de memoria que ocupa 64 kbytes de longitud. Existen cuatro segmentos: Segmento de datos (DS). Es la porcin de memoria que contiene la informacin a ser procesada, es decir, los operandos. Este segmento tambin puede ser definido como el rea de datos.

64

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Registros

Segmento de cdigo (CS). Es la porcin que contiene los conjuntos de instrucciones a ser ejecutadas. Segmento de stack (SS). Generalmente contiene direcciones de retorno a subprogramas. Segmento extra (ES). Es direccionado a travs del registro ES y contiene al igual que el registro de datos informacin para procesar, los datos principalmente son cadenas. Es un segmento para usos especiales.

Estos cuatro segmentos, conforman los 4 registros de segmento.

65

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Registros

Registros de propsito general: Son registros de 16 bits. AX. Llamado acumulador principal, es utilizado en todas las operaciones de entrada y salida, en operaciones de cadenas y en operaciones aritmticas. BX. Llamado registro base, es utilizado como apuntador o ndice para el manejo de datos. CX. Llamado registro contador, es utilizado para controlar un ciclo, tambin utilizado en operaciones aritmticas y en corrimientos (movimientos de bits).

66

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Registros

Registro apuntadores.
SP y BP, ambos utilizados para el manejo de informacin dentro del stack. El registro SP es el offset dentro del stack.

Registros indexados o ndice.


SI (ndice fuente). Utilizado para manejar datos dentro del segmento de datos o para manejar informacin. DI (ndice Destino). Utilizado para manejar informacin dentro del segmento extra.

67

MC Beatriz Beltrn Martnez

Ensamblador

DX. Llamado registro de datos, utilizado en algunas operaciones de entrada y salida y en operaciones aritmticas que requieren de 16b para su manejo.

Primavera 2012

Registros

Registro de banderas: A este registro se le conoce tambin como registro de estado. Consta de 16 bits y nicamente 9 de ellos contiene informacin, indican el estado de la mquina y el estado de la ejecucin de los programas. Seis de ellas (C, P, A, Z, S, O) son utilizadas para verificar o indicar una condicin producida por alguna instruccin, y tres de ellas son utilizadas para el control de algunas operaciones (D, I, T).

68

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Registros

C Carry. Indica si hubo carry en operaciones aritmticas. C=1 si existe acarreo, 0 sino existe. P Paridad. Indica la paridad de un dato. P=1 si es par, P=0 sino lo es. Z Cero. Indica si el resultado de una operacin aritmtica o de comparacin es cero. Z=0 el resultado no es cero, Z=1 el resultado es cero. S Signo. Indica el signo del resultado. S=0 si el resultado es positivo, S=1 si el resultado es negativo. O Overflow. Indica overflow en la magnitud de un dato. O=0 no existe overflow, O=1 si existe overflow. A Carry auxiliar. Contiene el acarreo del bit 3 al bit 4 en un operando de 8 bits.
MC Beatriz Beltrn Martnez

69

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Registros

15 14 13 12

11 10 O D

9 I

8 T

7 S

6 Z

5 4 A

2 P

0 C

70

MC Beatriz Beltrn Martnez

D Direccin. Es utilizada en operaciones de cadena, indica la direccin que el procesador debe seguir para tomar la informacin. I Interrupcin. Indica al procesador si las interrupciones deben ser atendidas o no. T Trap. Indica al procesador que debe ejecutar una por una las instrucciones de un programa (procesamiento de un solo paso).

Ensamblador

Primavera 2012

Registros

Modos de Direccionamiento
MC Beatriz Beltrn Martnez

Primavera 2012

Los modos de direccionamiento son medios que facilitan la tarea de programacin a la vez que permiten el acceso a los datos y a los cuerpos de entrada y salida de una manera natural y eficiente. El modo de direccionamiento permite obtener la direccin efectiva, que es aquella informacin donde se encuentran los datos e informacin requerida para la ejecucin de alguna instruccin. Existen 7 modos de direccionamiento.

72

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Introduccin

1. Direccionamiento de registro: Sus operandos se encuentran almacenados en cualquiera de los registros de propsito general o en los registros de segmento. Ejemplo: ADD ax,bx 2. Direccionamiento inmediato: El operando se encuentra almacenado inmediatamente despus de la instruccin por lo cual no se necesita calcular la direccin efectiva. Ejemplo: CMP ah,6

73

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Modos de direccionamiento

3. Direccionamiento directo: La direccin del operando se encuentra contenida en la instruccin, y es sumada a la base del segmento de datos para obtener la direccin efectiva. Ejemplo: MOV cx, [100] 4. Direccionamiento indirecto: Se utilizan los registros SI, DI o BX para proporcionar de manera indirecta la direccin del operando y es sumada a la base del segmento de datos para obtener la direccin efectiva. Ejemplo: MOV bx, [si]

74

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Modos de direccionamiento

5. Direccionamiento de base: En este caso se establece una base a travs del registro BX o del registro BP, a partir de la cual se tomarn los datos del segmento de datos o del segmento de stack. El contenido de cualquiera de los dos registros es una direccin que ser sumada a un desplazamiento contenido en la instruccin y al registro que apunta a la direccin inicial del segmento correspondiente. Ejemplo: ADD ax, [bx+20]

75

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Modos de direccionamiento

6. Direccionamiento indexado: Se utilizan los registros SI o DI para calcular la direccin a travs de la suma del registro ndice con el desplazamiento contenido en la instruccin. Ejemplo: ADD bx, [si+34] 7. Direccionamiento de base indexada: En este direccionamiento se utiliza el registro de base BX y el registro de ndice SI para el clculo de la direccin a travs de la suma con un desplazamiento. Ejemplo: ADD dx, [bx+si+10]

76

MC Beatriz Beltrn Martnez

Ensamblador

Primavera 2012

Modos de direccionamiento