La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitectura de Computadoras

Presentaciones similares


Presentación del tema: "Arquitectura de Computadoras"— Transcripción de la presentación:

1 Arquitectura de Computadoras
ITCR SSC – I Semestre 2012

2 ¿Para qué estudiamos la Arquitectura de las computadoras?
Usuario Para comprender los problemas fundamentales en el diseño de computadoras, las alternativas y los mecanismos de solución a dichos problemas. Hardware Sistemas Operativos Información Soporte Técnico Redes Comprender los retos que enfrenta esta área es de primordial importancia para cualquiera que pretenda dedicarse profesionalmente a la ciencia de la computación o carreras afines.

3 ¿Cuáles son los conocimientos que el estudiante debe tener al llegar al curso?
Dominio de los sistemas numéricos binario, octal, hexadecimal y decimal. Conversiones. Interpretación de números en cualquiera de estas bases. 1 2 Dominio básico de algebra booleana: Operaciones AND, OR, XOR, NOT. Simplificación algebraica: teoremas de asociatividad, conmutatividad, distribución, DeMorgan. 3 Dominio básico del lenguaje ensamblador y de la arquitectura del procesador 8086 de Intel.

4 ¿Qué vamos a aprender en el curso?
¿Circuitos Digitales? Ensamblaje y Desensamblaje de Instrucciones Ensamblador ¿Utilización de Ensamblador con Lenguajes de Alto Nivel? Pipelining Procesadores de Alto Rendimiento ¿Benchmarking? Conceptos sobre Arquitecturas CISC y RISC Diseño de la Jerarquía de Memorias Aplicaciones del lenguaje ensamblador

5 Organización vs. Arquitectura de Computadoras
Se refiere a los atributos de un sistema que son visibles a un programador Aquellos atributos que tienen un impacto directo en la ejecución lógica de un programa La computadora vista desde el programador ¿Qué instrucciones y datos es capaz de procesar? ¿A qué velocidad?

6 Organización vs. Arquitectura de Computadoras
Se refiere a las unidades funcionales y sus interconexiones, que dan lugar a especificaciones arquitectónicas. Como por ejemplo el conjunto de instrucciones, el número de bits usados para representar varios tipos de datos, mecanismos de E/S y técnicas para direccionamiento de memoria. Es transparente a el programador, este no se preocupa por estos temas, señales del bus de control, interfaces entre periféricos y computador, tecnología usada en memoria, cantidad de caches, otros

7 Organización vs. Arquitectura de Computadoras
En general los fabricantes de máquinas producen familias de pc con una misma arquitectura y a medida que pasa el tiempo salen nuevos modelos con la misma arquitectura, pero con una organización diferente, con lo cual logran una compatibilidad de software. ¿Cómo está organizada por dentro para procesar esos datos según esas instrucciones?

8 Arquitectura de Computadoras

9 Niveles de Representación

10 Los Componentes de una PC

11 Ley de Moore El número de transistores se doblara cada 18 meses
(Gordon Moore, cofundador de Intel)

12 Lo que ve un Programador

13 Modelo de Programación con mas detalle

14 Lo que ve un Arquitecto de computadores
Modelo de Von Neumann

15 Lo que ve un Arquitecto de computadores
La gran mayoría de las computadores actuales se han diseñado basándose en los conceptos desarrollados por John von Neumann en el Instituto de Estudios Avanzados de Princeton: Se basa en 3 componentes Los datos y las instrucciones se almacenan en una sola memoria de lectura y escritura Los contenidos de esta memoria se direccionan indicando su posición, sin considerar el tipo de dato contenido en la misma. La ejecución se produce siguiendo una secuencia de instrucción tras instrucción ( a no ser que dicha secuencia se modifique explícitamente).

16 Componentes del computador – Hardware Específico
En este diagrama se ejemplifica como el computador realizaba una tarea fija con los datos, el sistema acepta datos y produce resultados

17 Componentes del computador - Hardware de uso general
En este diagrama vemos ejemplificado que por medio de instrucciones al procesador, se podía hacer que el computador sea de uso general y realizar distintas tareas. El sistema acepta datos y señales de control y produce resultados

18 Componentes del computador - Hardware de uso general
Como se puede apreciar, la memoria y los datos provienen de la misma memoria. La idea es la siguiente, se leía una instrucción, esta pasaba a la unidad de control, dicha unidad realizaba las conexiones correspondientes para que la ALU realizara una tarea determinada, entraban los datos a la ALU, esta realizaba las operaciones, y el resultado salía por algún dispositivo de E/S

19 Componentes del computador - Hardware de uso general
CPU Interprete de instrucciones Funciones lógicas y aritméticas de uso general

20 Componentes del computador - Hardware de uso general
Interprete de instrucciones y módulo de uso general para las funciones aritmético y lógicas

21 Componentes del computador - Hardware de uso general
Además se requieren varios elementos adicionales para que el computador funcione. Ya que los datos y las instrucciones deben introducirse en el sistema, para eso se necesita algún tipo de modulo de entrada y también se necesita un medio para proporcionar resultados el modulo de salida. E/S Modulo

22 Componentes del computador - Hardware de uso general
Se necesita un componente más, como sabemos un programa no siempre ejecuta las instrucciones según una misma secuencia, puede saltarse ciertas instrucciones. Por ello debe existir un sitio para almacenar temporalmente tanto las instrucciones como los datos. MEMORIA PRINCIPAL

23 Componentes del computador - Hardware de uso general
Como interactúan todos los componentes CPU Se encarga del control Intercambia datos con la memoria

24 Componentes del computador - Hardware de uso general
Como interactúan todos los componentes Para esto usualmente utilizan dos registros internos de la CPU CPU Registro de dirección de Memoria Especifica la dirección de memoria que será accedida. Registro temporal de memoria (buffer) contiene el valor a almacenar o la palabra recibida de memoria.

25 Componentes del computador - Hardware de uso general
Como interactúan todos los componentes Igualmente un registro de direcciones de E/S especifica un dispositivo de entrada y salida Registro de dirección E/S Especifica un dispositivo de E/S CPU Registro de datos E/S Se utiliza para intercambiar datos entre el módulo de E/S y la CPU

26 Componentes del computador - Hardware de uso general
Como interactúan todos los componentes Un módulo de E/S transfiere datos desde los dispositivos externos a la CPU y a la memoria. Contiene los registros (buffers) internos para almacenar los datos temporalmente, hasta que puedan enviarse

27 Funcionamiento del computador
La función básica que realiza un computador es la ejecución de un programa, constituidos por un conjunto de instrucciones almacenados en memoria. El procesador es el que se encarga de ejecutar las instrucciones especificadas en el programa.

28 Funcionamiento del computador Ciclos de búsqueda y ejecución
EJECUCIÓN DE UN PROGRAMA CONSTA DE DOS CICLOS CICLOS DE BÚSQUEDA El procesador lee la instrucción de la memoria CICLOS DE EJECUCIÓN El procesador ejecuta la instrucción La ejecución de un programa consiste en la repetición del proceso de búsqueda y ejecución de instrucción

29 Funcionamiento del computador Ciclos de búsqueda y ejecución
Búsqueda (también conocida como captación) Preparación de la siguiente instrucción Decodificación Ejecución La ejecución del programa se detiene solo si la maquina se desconecta, se produce algún tipo de error irrecuperable o ejecuta una instrucción del programa que detiene al computador

30 Funcionamiento del computador Ciclos de búsqueda y ejecución
Como se dijo anteriormente la CPU interpreta la instrucción y lleva a cabo la acción requerida. En general, esta puede ser de 4 tipos: Procesador – Memoria : Transferencia de datos desde o hacia memoria. Procesador – E/S: Transferencia de datos desde o hacia el exterior a través de un modulo de E/S. Procesamiento de Datos: Alguna operación aritmética o lógica con los datos. Control: Una instrucción puede especificar que la secuencia de ejecución se altere Por ejemplo una instrucción de salto, que lo único que requiere es que se cambie el valor del registro PC Las instrucciones requieren una combinación de algunas.

31 Funcionamiento del computador Ciclos de búsqueda y ejecución
Se utiliza PC para seguir la pista de la instrucción que debe captarse a continuación. A no ser que se indique lo contrario La CPU siempre incrementa 1 a PC después de cada instrucción , de forma que captará la siguiente instrucción de secuencia Al comienzo de cada ciclo de instrucción la CPU capta la instrucción de memoria

32 Funcionamiento del computador Ciclo de Instrucción
1. Recuperar la siguiente instrucción desde memoria (apuntada por el program counter) y luego incrementar el program counter. 2. Decodificar el patrón de bits en el registro de instrucción IR 3. Ejecutar la instrucción indicada en el registro de instrucción IR

33 Funcionamiento del computador Ciclo de ejecución
UC obtiene la próxima instrucción de memoria (usando el registro PC) Se incrementa el PC La instrucción es decodificada a un lenguaje que entiende la ALU Obtiene de memoria los operandos requeridos por la operación La ALU ejecuta y deja los resultados en registros o en memoria Repetir paso 1

34 Funcionamiento del computador Ciclo de ejecución
La unidad de control levanta la próxima instrucción de memoria usando el “contador de programa” que dice en que dirección esta la próxima instrucción.

35 Funcionamiento del computador Ciclo de ejecución
La instrucción es decodificada a un lenguaje que entiende la ALU (unidad aritmética lógica).

36 Funcionamiento del computador Ciclo de ejecución
Cada operando requerido para ejecutar es levantado de la memoria principal y ubicado en registros dentro de la CPU.

37 Funcionamiento del computador Ciclo de ejecución
La ALU ejecuta la instrucción y coloca los resultados en registros o en memoria.

38 Funcionamiento del computador Ciclo de ejecución
¿CUALES ERAN LOS 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

39 Funcionamiento del computador Ciclos de búsqueda y ejecución
OPERACIONES ELEMENTALES SOBRE LA MEMORIA LEER EL CONTENIDO DE LA MEMORIA Decidir que celda se va leer (dar la dirección). Esperar a que se complete la operación de copia del dato. Recoger el dato y dar por terminada la operación. ESCRITURA Proporcionar el dato que se desea guardar. Proporcionar la dirección de la celda en donde sería guardado el dato. Esperar un tiempo fijo para que se haga el almacenamiento.

40 Funcionamiento del computador Ciclos de búsqueda y ejecución
NECESIDAD DE LA CODIFICACIÓN Un problema radica en cómo almacenar las instrucciones en la memoria. Como en las celdas de memoria sólo caben números, entonces había que traducir las instrucciones a números para poder almacenarlas, que es el concepto de codificación. Para codificar las instrucciones se debe considerar cuantas y cuales son las instrucciones disponibles y que esquema de codificación se emplearía. La cantidad depende básicamente de la capacidad de la unidad de control del procesador central para hacer operaciones; a mayor complejidad –y costo–, mayor sería el número de instrucciones diferentes que podría efectuar. Se debe encontrar un código adecuado para que a cada instrucción le corresponda uno, y sólo un, valor numérico. Se usa una especie de diccionario electrónico.

41 Funcionamiento del computador Ciclos de búsqueda y ejecución
LA UNIDAD DE CONTROL Su función principal es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción, y hacer esto con todas las instrucciones de que conste el programa. Los pasos son: Ir a la memoria y extraer el código de la siguiente instrucción (que estaría en la siguiente celda de memoria por leer). Decodificar la instrucción recién leída (determinar de qué instrucción se trata. Ejecutar la instrucción. Prepararse para leer la siguiente instrucción, y volver al primer paso para continuar. La unidad de control ejecutaría varias veces este ciclo de cuatro ”instrucciones alambradas”.

42 Funcionamiento del computador Ciclos de búsqueda y ejecución
CPU con un solo Acumulador (A), 16 bits Memoria de 16 bits por posición Suma (940) + (941) en (941) Lenguaje simbólico Binario mov A, (940) 1940 (H) add A, (941) 5941 (H) mov (941), A 2941 (H)

43 Funcionamiento del computador Ciclos de búsqueda y ejecución

44 Funcionamiento del computador Ciclos de búsqueda y ejecución
Códigos de operación hexadecimal binario 1 0001 Cargar AC desde memoria 2 0010 Almacenar AC en memoria 5 0101 Sumar a AC un dato de memoria1 Memoria Registros del CPU 300 301 302 1 9 4 0 5 9 4 1 2 300 PC AC IR 940 941

45 Funcionamiento del computador Ciclos de búsqueda y ejecución
Memoria Registros del CPU 300 301 302 1 9 4 0 5 9 4 1 2 300 PC AC IR 940 941

46 Funcionamiento del computador Ciclos de búsqueda y ejecución
Memoria Especifica la dirección del dato que se va a cargar 300 301 302 1 9 4 0 5 9 4 1 2 940 941 940 contiene el dato 0003

47 Funcionamiento del computador Ciclos de búsqueda y ejecución
La instrucción captada se almacena en un registro de la CPU conocido como Registro de instrucción IR El contador del PC se ubica en la primera instrucción (300) La instrucción que es un valor hexadecimal (1940) se carga en el registro de instrucción Memoria Registros del CPU 300 301 302 1 9 4 0 5 9 4 1 2 300 PC AC IR 940 941

48 Funcionamiento del computador Ciclos de búsqueda y ejecución
La CPU interpreta la instrucción y lleva a cabo la acción requerida Memoria Registros del CPU 300 301 302 300 PC AC IR 940 941

49 Funcionamiento del computador Ciclos de búsqueda y ejecución
El registro PC se incrementa, y se capta la siguiente instrucción (5941) desde la dirección 301 Memoria Registros del CPU 300 301 302 301 PC AC IR 940 941

50 Funcionamiento del computador Ciclos de búsqueda y ejecución
El contenido de AC y el de la posición de memoria 941 se suman y el resultado se almacena en AC Memoria Registros del CPU 300 301 302 301 PC AC IR 940 941 3 + 2 = 5

51 Funcionamiento del computador Ciclos de búsqueda y ejecución
El registro PC se incrementa, y se capta la siguiente instrucción (2941) desde la posición 302 Memoria Registros del CPU 300 301 302 302 PC AC IR 940 941

52 Funcionamiento del computador Ciclos de búsqueda y ejecución
El contenido de AC se almacena en la posición 941 Memoria Registros del CPU 300 301 302 302 PC AC IR 940 941


Descargar ppt "Arquitectura de Computadoras"

Presentaciones similares


Anuncios Google