01_estructura_computador

31
Lenguaje de Programación cap. 1 Estructura del Computador

Upload: yelibeth-boraure

Post on 22-Sep-2015

212 views

Category:

Documents


0 download

DESCRIPTION

cccccccccccccccccccccccccccccccccomputa

TRANSCRIPT

  • Lenguaje de Programacincap. 1Estructura del Computador

  • Estructura del computadorComponentes:Sistema Procesador: Realiza la ejecucin de los programas.

    Perifricos: Medios de almacenamiento de largo plazo y dispositivos Entrada/Salida de informacin (E/S).

  • Estructura del computador (cont.)

  • Estrutura del Sistema ProcesadorComponentes:Memoria: para almacenar programas y datos.CPU (Unidad Central de Procesos): para realizar las instrucciones del programa.Controladores de E/S: para controlar a los dispositivos perifricos.Buses: para transportar datos y programas entre Memoria, CPU y Controladores

  • Estructura del Sistema Procesador (cont.)CPUMemoriaContr.E/S

  • MEMORIAMemoria (RAM), caractersticas Cada celda de memoria tiene asociado un nmero o direccin que la identifica. Las celdas siempre tienen valores (nunca estn vacas) Las celdas de memoria RAM (acceso randmico) se pueden leer y escribir. La memoria est dividida en celdas de igual tamao.

  • Memoria (RAM), caractersticas Cada celda de memoria est compuesta por subceldas biestables. Siempre tienen uno de dos estados A los dos estados se les atribuye un valor numrico: cero o uno Las combinaciones de ceros y unos pueden representar todo tipo de datos: numricos, texto, sonidos, imgenes, video, instrucciones o cualquier cosa que se quiera que el computador procese

    Si se apaga el computador los datos almacenados en la memoria (RAM) se pierden

  • Memoria (RAM), caractersticas si se quiere almacenar (asignar) un dato en una celda de memoria, el dato almacenado es reemplazado por el nuevo dato y el viejo se pierde. Slo almacena un dato a la vez Si se copia un dato desde una celda a otra, el dato original es clonado (permanece) Cuando se hacen programas, las direcciones de las celdas son representadas por palabras que resultan ms naturales a los humanos. Por ejemplo se puede tratar una celda de memoria como si fuese una variable.

  • Memoria (RAM), caractersticas Los lenguajes tiene diferentes formas de representar una asignacin de un dato a una celda de memoria. Algunos ejemplos:A B seudo lenguaje significa que lo que estaba almacenado en la celda con direccin B se copia en la celda A, lo que haba en A se pierde y lo que haba en B permaneceA := B lenguaje Pascal A = B lenguaje CMOV (AX), (B) lenguaje assembler (se requiere dos pasos)MOV (A), (AX)

  • MEMORIAMemoria (RAM), uso

    LibreProgramay datosdel Sistema OperativoProgramade usuarioDatosdel programade usuario

  • 1Unidad Central de Procesos: CPU (1)AX BX Registros de datos Almacenan los datos que son utilizados por las instrucciones de mquina. Aparecen como operando en las instrucciones.Mov AX, 33 mueve un 33 al registro AXMov BX, 10 mueve un 10 al registro BXAdd AX, BX suma el contenido de AX con el de BX y deja el resultado en AX

  • 1Unidad Central de Procesos: CPU (2)AX BX Registro de Instruccin Almacena la instruccin que se est ejecutando. Es invisible para el programa de mquina.(no aparece en la instruccin en forma explcita).

  • 1Unidad Central de Procesos: CPU (3)AX BX IPRegistro de Instruccin Direccin de la prxima instruccin Apunta a la prxima instruccin. No aparece como operando. Puede ser modificado por instrucciones de transferencia de control. Ej.: Jmp 2000 cambia el contenido de IP por 2000.

  • 1Unidad Central de Procesos: CPU (4)AX BX IPRegistro de estado Registro de Instruccin Banderas de resultado de la ltima instruccin ejecutada. Cada bandera puede estar arriba o abajo (1 0).

    Ejemplo: si el resultado fue negativo, cero, si se dividi por cero, etc.

  • 1Unidad Central de Procesos: CPU (5)AX BX IPRegistro de estado SPRegistro de Instruccin Direccin del tope de pila La pila es una estructura que permite almacenar y retirar datos slo del tope. Se usa para trabajar con subprogramas. La pilas pueden estar en cualquier parte de la memoria.

  • 1Ciclo de ejecucin: CPU (6) Las Instrucciones del programa viajan por el bus de datos y llegan al Registro de Instruccin de la CPU donde son ejecutadas. Las instrucciones son llevadas secuencialmente a la CPU. El procesador realiza el Ciclo de Ejecucin de instrucciones: Traer instruccin apuntada por IPIncrementar IPEjecutar instruccin

  • 1Instrucciones de mquina De movimiento, copia el contenido de una celda de memoria o registro en otra celda o registro. Ej: Mov AX, (2000) Aritmticas y lgicas, suman, restan dividen, etc. Ej.: Add AX, BX

    De trasferencia de control, cambian el contenido de IP cambiando el lugar de la RAM desde el cual secuencialmente las instrucciones. Ej.: Jmp 300

  • Modos de direccionamiento (1)Registro: el operando es un registro que contiene el dato. Inmediato: el operando es el dato.Mov AX, 3333AX

  • Modos de direccionamiento (2)Registro: el operando es un registro que contiene el dato. Directo: el operando es la direccin el dato.Mov AX, (2000)33200200033AX

  • 1Modos de direccionamiento (3)Registro: el operando es un registro que contiene el dato. Diferido o indirecto: el operando es la direccin de la direccin del dato. A la celda cuya direccin aparece en el operando se le denomina puntero. Mov AX, ((2000))3000200200033200300033AX

  • Modos de direccionamiento (4)Mov AX, ((2000))3000200200033200300033AXInc (2000)uno:Jmp: Instruccin de transferencia de controluno: rtulo que representa la direccin en la que est almacenada la instruccinJmp unoInc: Instruccin que incrementa en unoqu modo de direccionamientos hay en este programa?qu ocurre al repetirse la instruccin almacenada en uno ysiguientes?cuantas veces se ejecutan?

  • Modos de direccionamiento (5)30012002000332003000200AXMov AX, ((2000))Inc (2000)uno:Jmp unoTarea: Modificar el programa para que el valor contenido por el registro AX se copie en las direcciones 3000 en adelante.

  • Modos de direccionamiento (6)30002000332003000Tarea: Modificar el programa para que el valor contenido por el registro de la direccin 3000 en adelante se copie en las direcciones 4000 en adelante.400020014000

  • Relacin: variables - celdas de memoria30002000332003000400020014000 A todas las celdas que se les puede cambiar el contenido se les llama variables. A las variables que contienen direcciones se les llama punteros.En los lenguajes de alto nivel:qu variables son punteros en el ejemplo?

  • 332000Cmo asignarle un contenido?Variables celdas de memoria (1)Mov AX, 33Mov (2000), AXx = 33Lenguaje de mquina:Lenguaje alto nivel:xPseudo lenguaje:33RAM2000 equivale a x

  • 352000Cmo asignarle un contenido que es el resultado de expresin?Variables celdas de memoria (2)Mov AX, 33Add AX, 2x = 33 + 2Lenguaje de mquina:Lenguaje alto nivel:xPseudo lenguaje:33 + 2RAMMov (2000), AX2000 equivale a x

  • Ejercicio:Variables celdas de memoria (3)?x = x + 3Lenguaje de mquina:Lenguaje alto nivel:xPseudo lenguaje:x + 32000 equivale a x

  • Variables puntero y modo diferidox = &y*x = *x + 1Lenguaje C:2000 equivale a xMov AX, 1000Mov (2000), AXInc ((2000))1000 equivale a y