Inicios de la computación
Turing y Church sientan las bases teóricas de la computación Máquina de Turing
Máquina teórica compuesta por una cinta y una cabeza que puede leer y grabar
símbolos en ella.
Un conjunto finito de estados
Un programa “cableado” del tipo (condición, acción) Church: Lambda calculo
Resultado equivalente para probar computabilidad
Base de los lenguajes funcionales
Una máquina de Turing
El modelo de von Neumann
• Antes: programar era conectar cables…• Hacer programas era mas una cuestión de ingeniería electrónica
• Cada vez que había que calcular algo distinto había que reconectar todo.
• Imaginen eso !
Estructura (computadora)
CPU
Unidad de Control (UC)
• Controla todos los componentes• Interpreta instrucciones
– Decodifica y Ejecuta instrucciones. Transforma instrucciones en órdenes a otros
componentes
– Puede ser programada por hardware (cableada) y “microprogramada” (varias
microinstrucciones por instrucción)
Unidad Aritmético Lógica (ALU)
• Realiza operaciones matemáticas y lógicas.– Sumas, restas, multiplicaciones
– And, Or, Xor
– Corrimiento.
Registros
• Almacenan datos binarios, acceso rápido• De tamaño fijo
• De propósito general (programas) o específicos (acumulador, program counter, puntero
a memoria, etc.)
DataPath
• Red interna que comunica la UC conlas otras unidades y registros
• Mueve datos entre los diferentes
componentes
• Controlada por un reloj.
Ciclo de instrucción
1. UC obtiene la próxima instrucción de memoria (usando el registro PC)
2. Se incrementa el PC
3. La instrucción es decodificada a un lenguaje que entiende la ALU
4. Obtiene de memoria los operandos requeridos por la operación
5. La ALU ejecuta y deja los resultados en registros o en memoria
6. Repetir paso 1
Tipos de Operaciones
• Procesador-memoria– Transferencia de datos entre la CPU y la memoria
• Procesador-E/S
– Transferencia de datos entre la CPU y un modulo de E/S
• Procesamiento de datos
– Alguna operación aritmética o lógica sobre los datos
• Control
– Alteración de la secuencia de operaciones
– Ej.: jump
Estructura de la IAS
Registros en otras arquitectura.
Bus del Sistema
Buses
• Una vía comunicación que conecta 2 o más dispositivos• En general “broadcast” (todos lo ven)
• En general agrupados
– Varios canales en un grupo
– Ej: Data bus de 32 bits, son 32 canales de 1 bit
Data Bus
• Transfieren información• Su tamaño es un punto clave en la performance del sistema
– 8, 16, 32, 64 bits
Address bus
• Identifican la fuente o destino de un dato• Ej: la CPU necesita leer una instrucción (dato) de una locación en memoria
• Su tamaño determina la capacidad máxima de memoria del sistema
– Ej: el Intel 8080 tiene 16 bit => 64k de espacio
direccionable
Control Bus
• Control y sincronización– Señal de lectura escritura a memoria
– Señales del reloj
– Solicitud de interrupción
Modelos no von Neumann
• Cuello de von Neumann– El procesador ejecuta una instrucción por vez…
– Comunicación con Memoria y E/S empeoran la cosas..
• Mejoras:
– Buses especializados
– Interrupciones
– Unidades de punto flotante
– Caches,
– Pipelines
• Otro enfoque: apartarse de la arquitectura clásica de von Neumann.
• Agregar procesadores es una posibilidad…
Modelos no von Neumann
• A finales de los 60’ los sistemas de computo “high-performance” fueron equipados con procesadores duales para mejorar su desempeño.• En los 70’ supercomputadoras con 32 procesadores.
• En los 80’ con 1000 procesadores
• En 1999, IBM anuncio su sistema “Blue Gene” que contiene aprox. 1 millón de procesadores.
• El procesamiento paralelo es una de las formas de mejorar el poder de cómputo.
• Otras ideas más radicales:
– Computadoras genéticas
– Computadoras cuánticas
– Sistemas Dataflow.
Jerarquía de niveles
• Level 4: Nivel de Lenguaje Ensamblador– Lenguaje ensamblador, en general producido por compiladores, o escrito directamente por programadores.
– Muy cercano a la arquitectura de la computadora.
• Level 3: Nivel del software del Sistema
– Controla la ejecución de los procesos del sistema.
– Protege los recursos.
– Brinda servicios para acceder a dispositivos de E/S
– Muchas instrucciones en Assembler pasan este nivel sin
modificación.
Jerarquía de niveles
• Level 2: Nivel del Lenguaje de máquina– También conocido como nivel ISA (Instruction Set Architecture).
– Consiste en las instrucciones particulares para la arquitectura de la maquina.
– Los programas escritos en lenguaje de maquina no necesitan compilación ni ensamblado.
Jerarquía de niveles
• Level 1: Nivel de Control– La unidad de control (UC) decodifica y ejecuta instrucciones y mueve datos a traves
del sistema.
– Puede ser microprogramada o “cableada”.
• Un microprograma es un programa escrito en un lenguaje de bajo nivel que puede ser
implementado en el hardware.
• Las UC “cableadas” tienen hardware que ejecuta directamente las instrucciones en
codigo de maquina.
Mas información haz click aquí
.jpg)
.jpg)
.jpg)
.jpg)
.jpg)

.jpg)
No hay comentarios:
Publicar un comentario