Está en la página 1de 61

Lenguaje Ensamblador

Unidad 1 Introduccin al Hardware de la PC

ISC. Robeto Zamudio Portilla,ITSCO 2013

Hardware de una PC

Computadora: Dispositivo Electrnico, rpido, exacto, capaz de aceptar, procesar, almacenar y regresar informacin todo bajo un programa

ISC. Robeto Zamudio Portilla,ITSCO 2013

Elementos que conforman un sistema de computo


Hardware Software Humanware

ISC. Robeto Zamudio Portilla,ITSCO 2013

CPU

El CPU es la unidad central de proceso Constituye el Cerebro del ordenador

ISC. Robeto Zamudio Portilla,ITSCO 2013

Elementos del CPU

Unidad de Control Unidad de memoria Unidad Aritmtica y Lgica

ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad de Control

Es la que se encarga de administrar los flujos de entrada y salida como un juez o un agente de transito, indicando que debe ir a la memoria, al procesador o algun dispositivo de entrada salida

ISC. Robeto Zamudio Portilla,ITSCO 2013

Funcionamiento de la unidad de Control

La unidad de Control recibe las instrucciones que se derivan de una peticin de usuario. Las instrucciones se forman en una cola de instrucciones y van pasando una a una a la unidad de control. El Contador del Programa tiene la direccin de la siguiente instruccin a procesar

ISC. Robeto Zamudio Portilla,ITSCO 2013

Funcionamiento de la unidad de Control

La instruccin que entra en la unidad de control se coloca en el registro de instruccin. Dicha instruccin pasa al interprete quien traduce y ejecuta la instruccin El registro de estado indica el estado de ejecucin de la instruccin
ISC. Robeto Zamudio Portilla,ITSCO 2013

Interprete

Contador del Programa


Registro de Estado

Registro de Instruccin
Cola de Instrucciones

ISC. Robeto Zamudio Portilla,ITSCO 2013

Elementos de la Unidad de Control

ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad Aritmtica y Lgica

Como su nombre lo indica se encarga de realizar todos las operaciones lgicas y aritmticas de la PC Los datos sobre los que se realizan las operaciones se llaman operndoos El smbolo o instruccin que indica que operacin debe realizarse se llama operador
ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad Aritmtica y Lgica

Para que el operador realice la operacin, los operndoos se llevan a la UAL y se guardan en unos registros denominados registros de trabajo. El resultado de la operacin se guarda tambin en un registro antes de ser llevado a la memoria o a la Unidad de Entradas y Salidas.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad Aritmtica y Lgica

Frecuentemente se utiliza un mismo registro para guardar uno de los operandos y, tambin, el resultado, denominado registro Acumulador. El bit de signo toma el valor de 1 si el resultado es negativo y de 0 si es positivo.
ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad de memoria

La memoria es el espacio en donde se almacena la informacin en la PC. Existen dos clases de memoria bsica

RAM ROM

La memoria principal esta formada por un conjunto de unidades llamadas palabras


ISC. Robeto Zamudio Portilla,ITSCO 2013

A la cantidad de palabras que forman la MP se le denomina capacidad de memoria. Una palabra esta formada a su vez de unidades mas elementales llamadas bits

ISC. Robeto Zamudio Portilla,ITSCO 2013

La accin de guardar una informacin en una palabra de la memoria se llama acceso de escritura, La accin de recuperarla, acceso de lectura. Los accesos son coordinados por la UC.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Secuencia de acceso a la memoria.(Proceso de Escritura)

ISC. Robeto Zamudio Portilla,ITSCO 2013

Secuencia de acceso a la memoria.(Proceso de Lectura)

ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad de Entrada Salida

Es la que utiliza como vinculo entre el CPU y los dispositivos perifricos. Se encarga de gestionar los procesos de entrada salida hacia el perifrico que se requiera

ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad de Entrada Salida

La unidad de Control indica a la unidad de E/S lo siguiente:


EL tipo de operacin (Entrada o Salida) El dato que se va a obtener o enviar El perifrico con el que se va a interactuar

La unidad de E/S seleccionar el perifrico y realizar la operacin en base a las caractersticas propias del dispositivo,
ISC. Robeto Zamudio Portilla,ITSCO 2013

Unidad de Entrada Salida

Cada perifrico o parte de un perifrico tendr asignado un numero o direccin que servir para identificarlo. Cuando la UC quiera seleccionarlo enviara dicho numero a la Unidad de E/S.

ISC. Robeto Zamudio Portilla,ITSCO 2013

INTERCONEXION DE LAS UNIDADES FUNCIONALES.

Las unidades funcionales del CPU se relacionan entre ellas a travs de canales donde viajan bits de manera paralela.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Tipos de canales

Hay tres tipos de canales


Canal de Datos Canal de direcciones Canal de Control

Estos canales son mejor conocidos como bus.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Bus de datos

Tiene una longitud de 8 bits, es decir, que circulan 8 bits de manera simultanea. Solo transmite informacin (DATOS)

ISC. Robeto Zamudio Portilla,ITSCO 2013

Bus de Direcciones

Este tiene una longitud de 16 bits y lo que transporta es la informacin del dato que se esta transfiriendo. Solo transmite direcciones.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Bus de Control

Este bus tiene una longitud de 3 bits y solo transfiere instrucciones de control para la unidad de memoria y de la unida de memoria a la UC.

ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros del CPU

Los registros del procesador se emplean para controlar instrucciones en ejecucin, manejar direccionamiento de memoria y proporcionar capacidad aritmtica

ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de Segmento

Un registro de segmento tiene 16 bits de longitud y facilita un rea de memoria para direccionamiento conocida como el segmento actual.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de Segmento

Registro CS. El DOS almacena la direccin inicial del segmento de cdigo de un programa en el registro CS. Esta direccin de segmento, mas un valor de desplazamiento en el registro apuntador de instruccin (IP), indica la direccin de una instruccin que es buscada para su ejecucin.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de Segmento

Registro DS. La direccin inicial de un segmento de datos de programa es almacenada en el registro DS. En trminos sencillos, esta direccin, mas un valor de desplazamiento en una instruccin, genera una referencia a la localidad de un byte especifico en el segmento de datos.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de Segmento

Registro SS. El registro SS permite la colocacin en memoria de una pila, para almacenamiento temporal de direcciones y datos. El DOS almacena la direccin de inicio del segmento de pila de un programa en le registro SS. Esta direccin de segmento, mas un valor de desplazamiento en el registro del apuntador de pila (SP), indica la palabra actual en la pila que esta siendo direccionada.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de Segmento

Registros ES. Alguna operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro extra de segmento para manejar el direccionamiento de memoria. En este contexto, el registro ES esta asociado con el registro DI (ndice). Un programa que requiere el uso del registro ES puede inicializarlo con una direccin de segmento apropiada.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de Segmento

Registros FS y GS. Son registros extra de segmento en los procesadores 80386 y posteriores

ISC. Robeto Zamudio Portilla,ITSCO 2013

ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de propsito general

Los registros de propsito general AX, BX, CX y DX son los caballos de batalla del sistema. Son nicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Registros de propsito general

Los registros de propsito general tienen una parte alta y una parte baja. Los registros de propsito general son AX BX CX DX
ISC. Robeto Zamudio Portilla,ITSCO 2013

Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmtica.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Registro BX. El BX es conocido como el registro base ya que es el nico registro de propsito general que puede ser ndice para direccionamiento indexado. Tambin es comn emplear el BX para clculos.

ISC. Robeto Zamudio Portilla,ITSCO 2013

CX es el registro contador, muchas instrucciones lo utilizan para hacer incrementos o decrementos automticos

ISC. Robeto Zamudio Portilla,ITSCO 2013

Registro DX. El DX es conocido como registro de datos. Alguna operaciones de entrada/salida requieren uso, y las operaciones de multiplicacin y divisin con cifras grandes suponen al DX y al AX trabajando juntos.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Segmentacin

Un segmento es un rea especial en un programa que inicia en un limite de un prrafo, esto es, en una localidad de regularmente divisible entre 16, o 10 hexadecimal. Aunque un segmento puede estar ubicado casi en cualquier lugar de la memoria y, en modo real, puede ser hasta de 64K, solo necesita tanto espacio como el programa requiera para su ejecucin.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Segmento de cdigo. El segmento de cdigo (CS) contiene las instrucciones de maquina que son ejecutadas por lo comn la primera instruccin ejecutable esta en el inicio del segmento, y el sistema operativo enlaza a esa localidad para iniciar la ejecucin del programa.
ISC. Robeto Zamudio Portilla,ITSCO 2013

El segmento de datos (DS) contiene datos, constantes y reas de trabajo definidos por el programa. El registro DS direcciona el segmento de datos. Si su rea de datos requiere mas de 64K, su programa puede necesitar definir mas de un segmento de datos.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Segmento de pila. En trminos sencillos, la pila contiene los datos y direcciones que usted necesita guardar temporalmente o para uso de sus "llamadas" subrutinas. El registro de segmento de la pila (SS) direcciona el segmento de la pila.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Desplazamiento

En un programa, todas la localidades de memoria estn referidas a una direccin inicial de segmento. La distancia en bytes desde la direccin del segmento se define como el desplazamiento (offset).

ISC. Robeto Zamudio Portilla,ITSCO 2013

Qu es un Lenguaje de Programacin?

Es un conjunto de smbolos y reglas que se usan para comunicarse con la PC e indicarle que es lo que debe de hacer.
REGLAS
ISC. Robeto Zamudio Portilla,ITSCO 2013

SIMBOLOS

LENGUAJE

LENGUAJE DE PROGRAMACIN

ISC. Robeto Zamudio Portilla,ITSCO 2013

Qu es el Lenguaje Mquina?

Se denomina lenguaje mquina a la serie de datos que la parte fsica de la computadora o hardware, es capaz de interpretar.
1001111

ISC. Robeto Zamudio Portilla,ITSCO 2013

Lenguaje Ensamblador

A los programas que permiten pasar del programa escrito con instrucciones simblicas del lenguaje maquina (programa fuente, en ensamblador) al lenguaje mquina tambin se les denomina normalmente ensambladores

ISC. Robeto Zamudio Portilla,ITSCO 2013

Ventajas de un Lenguaje Ensamblador

Un programa escrito en el lenguaje ensamblador requiere considerablemente menos memoria y tiempo de ejecucin que un programa escrito en los conocidos lenguajes de alto nivel, como Pascal y C.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Ventajas de un Lenguaje Ensamblador

El lenguaje ensamblador da a un programador la capacidad de realizar tareas muy tcnicas que serian difciles, si no es que imposibles de realizar en un lenguaje de alto nivel.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Ventajas de un Lenguaje Ensamblador

El conocimiento del lenguaje ensamblador permite una comprensin de la arquitectura de la maquina que ningn lenguaje de alto nivel puede ofrecer.

ISC. Robeto Zamudio Portilla,ITSCO 2013

Ventajas de un Lenguaje Ensamblador

Aunque la mayora de los especialistas en Software desarrolla aplicaciones en lenguajes de alto nivel, que son ms fciles de escribir y de dar mantenimiento, una practica comn es recodificar en lenguaje ensamblador aquellas rutinas que han causado cuellos de botella en el procesamiento.
ISC. Robeto Zamudio Portilla,ITSCO 2013

Ventajas de un Lenguaje Ensamblador

Los programas residentes y rutinas de servicio de interrupcin casi siempre son desarrollados en el lenguaje ensamblador.

ISC. Robeto Zamudio Portilla,ITSCO 2013

También podría gustarte