Está en la página 1de 8

Concepto de Arquitectura de las Computadoras Resumen Clase 1

Concepto de Programa:
Antes se tenan sistemas cableados en donde todas las tareas estaban programadas sobre el mismo hardware, por lo que al cambiar la tarea, este deba ser reemplazado. Ahora se realiza la programacin en software, la cual en cada paso se efecta alguna operacin sobre los datos. Las Instrucciones recibidas proporcionan las seales de control que se necesitan para cada paso. Aparece un nuevo Concepto de Programacin en el cual no hay que cambiar el hardware.

Arquitectura Von Neumann


CPU (Unidad Central de Procesamiento) o UC (Unidad de Control) o ALU (Unidad Aritmetico-Logica) E/S (Datos e Instrucciones deben introducirse en el sistema y los resultados se proporcionaran mediante componentes de entrada y salida) Memoria Principal (Se necesita almacenar temporalmente los datos e instrucciones)

Componentes de una Computadora


CPU o PC Contador de Programa o IR Registro de Instruccin o MAR Registro de direccin de memoria o MBR Registro de buffer de memoria o E/S AR Registro de direccin de E/S o E/S BR Registro buffer de E/S Modulo de E/S o Registros Memoria o Instrucciones o Datos

Repertorio de Instrucciones
Es el conjunto completo de instrucciones que se realizan en una CPU Cdigo Maquina Binario

Representado simblicamente por un conjunto de cdigos de ensamblaje De operaciones - (ADD sumar, SUB restar, LOAD cargar datos en un registro) De Operandos (ADD BX, PEPE sumar contenidos de registro BX y direccin PEPE, el resultado se guarda en registro BX)

Alto nivel de Maquina


1. Programa en Alto Nivel a. Compilador 2. Programa en Lenguaje Ensamblador a. Ensamblador 3. Objetos: Modulo en lenguaje maquina y Libreras de rutinas en lenguaje maquina a. Lincado 4. Ejecutable Programa en Lenguaje Maquina a. S.O. Loader 5. Memoria

Instrucciones
Los elementos de una instruccin son: Cdigo de Operacin (Cd. Op) Referencia a operandos fuentes Referencia a operando resultado Referencia a la siguiente instruccin

Los Operandos se almacenan en: Memoria Principal (o virtual o cache) Registro de la CPU Dispositivos de E/S

Alternativa de Almacenamiento: Tipo Pila Tipo Acumulador Tipo Registro-Registro Tipo Memoria-Memoria

Tipos de Instrucciones: Procesamiento de datos o Instrucciones aritmtico-lgicas Almacenamiento de datos o Instrucciones de memoria Transferencia de datos o Instrucciones de E/S Control o Instrucciones de testeo y flujo de programa

Direcciones por instruccin Mas direcciones por instruccin o Instrucciones ms complejas o Mas registros (operaciones mas rpidas) o Menos instrucciones por programa Menos direcciones por instruccin o Instrucciones menos complejas o Mas instrucciones por programa o La captacin/ejecucin de las instrucciones es ms rpida

Decisiones en el diseo del conjunto de instrucciones Tipos de operandos Repertorio de operaciones o Cantidad o Tipo o Complejidad Formato de instrucciones o Longitud o Numero de direcciones o Tamao de los Campos Registros o Numero de registros de la CPU referenciales o Operaciones designadas a cada registro

Modos de direccionamiento RISC (Computadora de conjunto reducido de instrucciones) contrapuesto a CISC (Computadora de conjunto complejo de instrucciones)

Tipos de operandos: Direcciones Nmeros o Punto Fijo o Punto Flotante Caracteres o ASCII o EBCDIC Datos Lgicos o Bits (1 o 0) Flags

Orden de los bytes


Big Endian (Mac y mayora de los RISC) o El byte ms significativo en la direccin con valor numrico ms bajo. Little Endian (Intel, Pentium y VAX) o El byte menos significativo en la direccin con valor numrico ms bajo.

Incompatibilidad entre ellos.

Accesos a la memoria
Normalmente se exige que los accesos a memoria estn alineados, ya que los no alineados son ms lentos.

Tipos de Operaciones
Transferencia de datos o Debe especificarse: Ubicacin del operando fuente Ubicacin del operando destino Tamao de los datos a ser transferidos Modos de direccionamiento

Diferentes movimientos -> Diferentes instrucciones Registro-Registro Registro-Memoria Memoria-Registro Aritmticas o Operaciones Bsicas ADD SUB MUL DIV o Otras Operaciones INC DEC NEG ABS Lgicas o Operaciones que manipulan bits individualmente AND OR XOR NOT ROTATE LEFT/RIGHT Conversin o Cambiar formatos de datos Binario a decimal EBCDIC a ASCII

Entrada/Salida o Pocas instrucciones pero de accione especificas IN OUT o Se pueden realizar utilizando instrucciones de movimiento de datos MOVE o Se pueden realizar a travs de un controlador aparte DMA (Direct Memory Access) Control del Sistema Control de flujo o Modifican el valor contenido en el registro PC Salto Incondicional JMP Salto Condicional JZ Salto con retorno o llamada a subrutina CALL subrut RET

Modos de Direccionamiento
Inmediato Directo de memoria o Absoluto Directo de Registro Indirecto con Desplazamiento o Basado, indexado o relativo al PC o Pila (o relativo al SP)

Ciclo de Instruccin Bsico


Captacin o La direccin de la instruccin que se debe captar se encuentra en el registro Contador de Programa (PC) o La Unidad de Control (UC) capta la instruccin desde la memoria y la deposita en el Registro de Instruccin (IR) o El registro PC se incrementa a no ser que se indique lo contrario o La Unidad de Control interpreta la instruccin captada

Ejecucin o Acciones posibles: Procesador Memoria Transferencia de datos CPU Memoria Procesador E/S Transferencia de datos CPU y modulo de E/S Procesamiento de datos Alguna operacin aritmtica o lgica con los datos Control Alteracin de la secuencia de ejecucin o Instruccin de Salto O Combinacin de las acciones anteriores

Subrutinas
Innovacin en lenguajes de programacin Programa auto-contenido Puede invocarse desde cualquier punto de un programa o CALL Brinda economa (reutilizacin de cdigo) Modularidad (subdivisin en unidades pequeas) Requiere pasaje de Argumentos (parmetros) o Por valor (copia de una variable) o Por referencia (direccin de una variable)

Pasaje de argumentos a subrutinas Va registros o Limitacin Numero de registros o Necesario el documentar los registros que se usan Va memoria o Se usa un rea definida de memoria RAM o Difcil de estandarizar Va Pila (Stack) o Mtodo mas usado o Verdadero pasaje de parmetros o Independiente de memoria y registros o SP apunta al ltimo lugar usado o Operaciones PUSH (apilar) POP (desapilar)

Posibles pasos en un procedimiento: 1. Salvar el estado de BP (viejo BP). 2. Salvar estado de SP (BP = SP), lo cual establece como puntero de referencia a BP (frame pointer) y ser usado para acceder a los parmetros y datos locales de la pila. 3. Reservar espacio para variables locales (Opcional) 4. Salvar valores de otros registros (Opcional) 5. Acceder a los parmetros a partir de un desplazamiento desde BP 6. Escribir sentencias a ejecutar 7. Retornar parmetro (Opcional) 8. Regresar correctamente del Procedimiento a. Los registros salvados deben ser descargados en orden inverso b. Se debe reponer SP con el valor de BP c. Se debe reponer BP d. Mediante RET volver al programa

También podría gustarte