Sunteți pe pagina 1din 7

Un Lenguaje de Programacin es una notacin formal para describir algoritmos o funciones que sern ejecutadas por un computador.

A un grupo de 16 bits se le conoce como palabra, una palabra puede ser dividida en grupos de 8 bits llamados bytes, y a los grupos de 4 bits les llamamos nibbles.
EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programacin. Son estructuras que pueden cambiar de tamao durante la ejecucin del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.

Caractersticas: Posibilidad de traduccin automtica a lenguaje mquina. Independencia de la arquitectura del computador. Transportabilidad. Clasificacin: Lenguajes de propsito general. Lenguajes de propsito especfico (comerciales, cientficos, educativos). Clasificacin: Lenguajes procedimentales Lenguajes declarativos Totalmente vinculados a la estructura del computador. Diseados para sacar partido de la mquina. El lenguaje ensamblador: es un derivado del lenguaje maquina y est formado por abreviaturas de letras y nmeros llamadas mnemotcnicos. Con la aparicin de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje mquina. El trmino ensamblador (del ingls assembler) se refiere a un tipo de programa informtico que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene cdigo mquina. Lenguaje en Ensamblador Actualmente se lo utiliza particularmente en ambientes acadmicos y de investigacin, especialmente cuando se requiere: 1) la manipulacin directa de hardware 2) se pretenden altos rendimientos o un uso de recursos controlado y reducido Caractersticas: el cdigo escrito en lenguaje Ensamblador posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca ms bien al lenguaje mquina (lenguaje de bajo nivel). El lenguaje Ensamblador es difcilmente portable, es decir, un cdigo escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder usado en otro microprocesador. Los programas hechos en lenguaje Ensamblador son generalmente ms rpidos y consumen menos recursos del sistema (memoria RAM y ROM). Con el lenguaje Ensamblador se tiene un control muy preciso de las tareas que realiza un microprocesador por lo que se pueden crear segmentos de cdigo difciles de programar en un lenguaje de alto nivel.

Existen a su vez dos formas de lograr la escalabilidad en los sistemas: Escalada verticalmente. El escalar verticalmente o escalar hacia arriba, significa el aadir ms recursos a un solo nodo en particular dentro de un sistema, tal como el aadir memoria o un disco duro ms rpido a una computadora. Escalada horizontalmente La escala horizontalmente o escala. significa agregar ms nodos a un sistema, tal como aadir una computadora nueva a un programa de aplicacin para espejo. Tipos de Lenguajes Ensambladores: - Lenguaje mquina - Lenguajes simblicos: Lenguajes ensambladores Ensambladores Cruzados (Cross-Assembler) Ensambladores Residentes. Macroensambladores Lenguajes ensambladores de una fase Lenguajes ensambladores de dos fases Internamente la memoria tiene un registro de direccin (MAR, memory address register), un registro buffer de memoria o registro de datos (MB, memory buffer, o MDR, memory data register) y, un decodificador como se ve en la figura 3-2. Esta forma de estructurar la memoria se llama organizacin lineal o de una dimensin. En la figura cada lnea de palabra activa todas las clulas de memoria que corresponden a la misma palabra. (porque forman parte de ella). Los registros tienen un tiempo de acceso muy pequeo y una capacidad mnima, normalmente igual a la palabra del procesador (1 a 8 bytes). Registros intermedios: Constituyen un paso intermedio entre el procesador y la memoria, tienen un tiempo de acceso muy breve y muy poca capacidad. Memorias cach: Son memorias de pequea capacidad. Normalmente una pequea fraccin de la memoria principal. y pequeo tiempo de acceso. Memoria central o principal: Extensiones de memoria central: Son memorias de la misma naturaleza que la memoria central que amplan su capacidad de forma modular. El tiempo de similar, a lo sumo un poco mayor, al de la memoria central y su capacidad puede ser algunas veces mayor. Memorias de masas o auxiliares: Las funciones que debe realizar un computador para ejecutar trabajos de entrada/salida: - Direccionamiento o seleccin del dispositivo que debe llevar a cabo la operacin de E/S. - Transferencia de los datos entre el procesador y el dispositivo (en uno u otro sentido). Sincronizacin y coordinacin de las operaciones. Esta ltima funcin es necesaria debido a la deferencia de velocidades entre los dispositivos y la CPU y a la independencia que debe existir entre los perifricos y la CPU (por ejemplo, suelen tener relojes diferentes). 1.1 El microprocesador

El microprocesador es un circuito integrado que incorpora en su interior una unidad central de proceso (CPU) y todo un conjunto de elementos lgicos (por registros, la unidad de control y la unidad aritmtico-lgica) que permiten enlazar otros dispositivos como memorias y puertos de entrada y salida (I/O), formando un sistema completo para cumplir con una aplicacin especfica dentro del mundo real. En un microprocesador podemos diferenciar diversas partes: El encapsulado: La memoria cache: es una memoria ultrarrpida que emplea el micro para tener a mano ciertos datos que predeciblemente sern utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de espera. Coprocesador Matemtico: o correctamente la FPU (Unidad de coma flotante). Que es la parte del micro especializada en esa clase de clculos matemticos, antiguamente estaba en el exterior del procesador en otro chip. Los registros: son bsicamente un tipo de memoria pequea con fines especiales que el micro tiene disponible para algunos usos particulares. Puertos: es la manera en que el procesador se comunica con el mundo externo. Un puerto es parecido a una lnea de telfono. Cualquier parte de la circuitera de la computadora con la cual el procesador necesita comunicarse, tiene asignado un nmero de puerto que el procesador utiliza como un nmero de telfono para llamar al circuito o a partes especiales.

Estructura General de un Microprocesador

Buses. Un BUS es un grupo comn de cables que interconectan componentes de un sistema computacional.

Registros. Son una serie de celdas de memoria que se utilizan con mucha frecuencia. Los registros son espacios fsicos que se emplean para controlar las instrucciones de ejecucin, manejar direccionamiento de memoria y proporcionar capacidad aritmtica. Existen de varios tipos: Registros de segmento.

Tienen una longitud de 16 bits, y proporcionan un rea de memoria para direccionamiento existen de forma general los siguientes: I. Registro CS Almacena la posicin inicial del segmento de cdigo de un programa. Con esta direccin de segmento, ms un valor de desplazamiento (del apuntador de instruccin IP), indica la direccin de una direccin de una instruccin. II. Registro DS. Almacena la direccin inicial del segmento de datos de un programa. III. Registro SS. Permite la colocacin en memoria de una pila, para almacenamiento temporal de direcciones y datos. Registros Apuntadores. Los registros SP y BP estn asociados con el registro SS y permiten al sistema accesar datos en el segmento de la pila. I. Registros SP. Almacena un valor de desplazamiento que se refiere a la palabra actual que est siendo procesada en la pila. II. Registro BP. Facilita la referencia de parmetros , los cuales son los datos y direcciones transmitidos va la pila Registro Apuntador de instrucciones (IP). Contiene el desplazamiento de direccin de la siguiente instruccin que se ejecuta. El IP esta asociado al CS en el sentido de que IP indica la instruccin actual dentro del segmento de cdigo que se esta ejecutando actualmente. Registros de propsito general. Los registros de propsito general son las unidades principales de almacenamiento de datos, si atendemos al uso. Pueden ser direccionados como una palabra o como parte de un byte. I. Registro AX. Es el acumulador principal. Es usado en operaciones de E/S y aritmtica. II. Registro BX. Registro base; puede ser un ndice para direccionamiento indexado. III. Registro CX. Registro Contador. Puede contener un valor para controlar el nmero de veces que un ciclo se repite IV. Registro DX. Registro de datos. Se usa en operaciones de E/S y en operaciones de multiplicacin y divisin con cifras grandes. Registros ndice. Sirven para direccionamiento indexado y para sumas y restas. I. Registro SI. Registro ndice fuente. Es requerido para algunas operaciones con cadenas (de caracteres). Est asociado al registro DS. II. Registro DI. Registro destino. Es requerido para algunas operaciones con cadenas (de caracteres). Est asociado al registro ES. Registro de banderas. Sirve para indicar el estado actual de la mquina y el resultado del procesamiento. Los bits del registro de banderas son: OF (Overflow - Desbordamiento). Indica el desbordamiento de un bit de orden alto despus de una operacin aritmtica. El microprocesador ejecuta tres tareas principales para el sistema computacional: 1) Transfiere datos entre s mismo y los sistemas de E/S, 2) ejecuta instrucciones que se le dan a la computadora a muy bajo nivel realizando operaciones lgicas simples, como sumar, restar, multiplicar o dividir y 3)controla el flujo del programa mediante instrucciones simples. La ejecucin de las instrucciones se puede realizar en varias fases: PreFetch, pre lectura de la instruccin desde la memoria principal. Fetch, envo de la instruccin al decodificador

Decodificacin de la instruccin, es decir, determinar qu instruccin es y por tanto qu se debe hacer. Lectura de operandos (si los hay). Ejecucin, lanzamiento de las mquinas de estado que llevan a cabo el procesamiento. Escritura de los resultados en la memoria principal o en los registros. Tipos de interrupciones Interrupciones hardware: Estas son asncronas a la ejecucin del procesador, es decir, se pueden producir en cualquier momento independientemente de lo que est haciendo la CPU en ese momento. Las causas que lo producen son externas al procesador y a menudo suelen estar ligadas con distintos dispositivos de E/S. Interrupciones software o excepciones : Son aquellas que se producen de forma sncrona a la ejecucin del procesador y por tanto podran predecirse si se analiza con detenimiento la traza del programa que en ese momento estaba siendo ejecutado en la CPU. Normalmente las causas de estas interrupciones suelen ser realizaciones de operaciones no permitidas tales como la divisin por 0, el desbordamiento, el acceso a una posicin de memoria no permitida, etc. Sistemas de prioridad Interrupciones simultneas: No tienen porque ocurrir de manera simultnea si no que se refiere a que en un momento dado puede haber varias interrupciones activas. Interrupciones anidadas: Mientras se est procesando una determinada rutina de servicio de interrupcin sucede otra seal de interrupcin. Inhibicin de interrupciones: Se deshabilitan las interrupciones mientras se est tratando una. Inhibicin de interrupciones Deshabilitar todas las interrupciones para esto basta con inhibir el bit del registro de flags dedicado a las interrupciones Como hemos dicho se pueden deshabilitar al principio de la RSI y activarlas de nuevo al finalizar la misma, puede ser de manera automtica o por el usuario Desactivar solo las interrupciones que tengan menor prioridad que la asociada a la RSI que se est ejecutando en ese momento Deshabilitar de forma selectiva distintos niveles de prioridad de interrupcin para lo cual se emplean registros especiales denominados mscaras en el que cada uno de sus bits identifican a un nivel distinto y modificando su contenido podemos establecer que niveles estn activos en ese momento. Se puede cambiar por el programador. Cada sentencia ocupa una sola lnea y tiene la siguiente estructura: [etiqueta] [operacin] [operandos] [;comentarios]

DESARROLLO DE PROGRAMAS Pasos en el desarrollo, traduccin y ejecucin de programas: 1. Edicin Editor de textos 2. Traduccin a cdigo mquina Compilador, intrprete, ensamblador 3. Montaje del programa ejecutable Montador 4. Carga y ejecucin del programa Cargador

5. Verificacin del funcionamiento del programa Depurador

S-ar putea să vă placă și