sábado, 1 de noviembre de 2014

Arqiutectura del Computador

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 con
las 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í

No hay comentarios:

Publicar un comentario