72
Ing. Chauca Castillo Eduardo CICLO 2016-I Módulo:II Unidad: I Semana: 1 ARQUITECTURA DE COMPUTADORAS

Aquitectura de Computadoras SEM1 Sem1

Embed Size (px)

DESCRIPTION

arquitectura de computadoras

Citation preview

Page 1: Aquitectura de Computadoras SEM1 Sem1

Ing. Chauca Castillo Eduardo

CICLO 2016-I Módulo:IIUnidad: I Semana: 1

ARQUITECTURA DE COMPUTADORAS

Page 2: Aquitectura de Computadoras SEM1 Sem1

Conceptos básicos y visión histórica

Tema 1: Introducción a

Arquitectura de Computadores

Page 3: Aquitectura de Computadoras SEM1 Sem1

Programa de Teoría

1. Introducción.

2. Lenguaje Máquina.

3. Lenguaje Ensamblador.

4. Ruta de Datos y Unidad de Control.

5. Unidad Aritmético-Lógica (ALU).

6. Sistema de Entrada-Salida.

7. Memoria.

Page 4: Aquitectura de Computadoras SEM1 Sem1

Contenido

• ¿Qué es un computador?

• Descripción funcional:

• Arquitectura de von Neumann

• Orígenes y evolución histórica.

• Parámetros característicos de un computador.

Page 5: Aquitectura de Computadoras SEM1 Sem1

¿Qué es un computador?

Concepto de computador

Máquina de estados finitos: FSM

Arquitectura von Neumann

Ruta de datos

Unidad de Control

Memoria de programa y datos

Page 6: Aquitectura de Computadoras SEM1 Sem1

FSM + Datapath

Page 7: Aquitectura de Computadoras SEM1 Sem1

Arquitectura von Neumann

Ruta de datos

Responsable de realizar cálculos

Registros, unidades funcionales, unidades de interconexión

Unidad de control

Responsable de ordenar cálculos

Secuenciador, registros, pilas...

Memoria de programa y datos

Page 8: Aquitectura de Computadoras SEM1 Sem1

Estructura de un computador

Procesador

Unidad de Control

Ruta de datos

UnidadAritmético-

Lógica

Memoria

Entrada

Salida

Computador

Page 9: Aquitectura de Computadoras SEM1 Sem1

Ruta de datos

Unidades funcionales

Realizan operaciones aritméticas y/o lógicas

ALUs, desplazadores, multiplicadores

Registros de la ruta de datos

Almacenan resultados temporales

Unidades de interconexión

Multiplexores y/o buses

Page 10: Aquitectura de Computadoras SEM1 Sem1

Unidad de Control

Contador de programa

Dirección de la instrucción en curso

Se incrementa en cada ciclo

Registro de instrucción

Código de la instrucción en curso

Secuenciador

Genera señales para cada instrucción

Actualiza el Contador de Programa

Page 11: Aquitectura de Computadoras SEM1 Sem1

Secuenciador

Captación de la instrucción

Leer dirección del Contador de Programa

Incrementar el Contador de Programa

Decodificación de la instrucción

Ejecución de la instrucción

Captura de operandos

Operación

Escritura de resultados

Page 12: Aquitectura de Computadoras SEM1 Sem1

Ejemplo de procesador

Page 13: Aquitectura de Computadoras SEM1 Sem1

Necesidad de cómputoAntecedentes históricos

Ábaco

Máquina de Pascal (1642). Suma

Máquina de Leibniz (fin s. XVII). Multiplica y divide

Telar de Jacquard (med. XVIII) Tarjetas perforadas

Page 14: Aquitectura de Computadoras SEM1 Sem1

El ábaco

Page 15: Aquitectura de Computadoras SEM1 Sem1

La pascalina

Page 16: Aquitectura de Computadoras SEM1 Sem1

La máquina de

calcular de Leibniz

Page 17: Aquitectura de Computadoras SEM1 Sem1
Page 18: Aquitectura de Computadoras SEM1 Sem1

La era moderna

Computadores mecánicos

Charles Babbage:

Máquina diferencial. Calcular tablas de artillería.

Máquina analítica. Programable, con E/S, memoria, unidad de cálculo

Computadores eléctricos

Clasificadora de Höllerith (1886): Primer ordenador eléctrico

Page 19: Aquitectura de Computadoras SEM1 Sem1

Charles Babbage

Máquina de diferencias

Page 20: Aquitectura de Computadoras SEM1 Sem1

Charles Babbage

Máquina analítica

Ada Lovelace

Page 21: Aquitectura de Computadoras SEM1 Sem1

Clasificadora de Höllerith

Page 22: Aquitectura de Computadoras SEM1 Sem1

Computadores electromecánicos

Zuse (1941) primer computador de relés

Howard Aiken (IBM)

Mark I, II, III y IV (1943-52)

Page 23: Aquitectura de Computadoras SEM1 Sem1

Electromecánicos: Mark I

Howard Aiken: “Si Babbage hubiera nacido en elsiglo XX nos habríamos quedado sin trabajo”

Page 24: Aquitectura de Computadoras SEM1 Sem1

Computadores electrónicos1ª generación: Válvula de vacío

ENIAC (1945-55), Eckert & Mauchly

John von Neumann: EDVAC (1945)

Bases de la arquitectura de computadores moderna

EDSAC (Wilkes,1949): programa almacenado y coma flotante

UNIVAC I (1951): computador fabricado en serie

Page 25: Aquitectura de Computadoras SEM1 Sem1

Electrónicos (válvulas): ENIAC

John Mauchly John P. Eckert

Page 26: Aquitectura de Computadoras SEM1 Sem1

Computadores electrónicos2ª generación: El transistor

1946: los laboratorios Bell inventan el transistor

Leprechaun, 1956: primer computador basado en transistores

Burroughs B5000: primer ordenador de estructura de pila

IBM Stretch, IBM 1410, PDP-1 (DEC), UNIVAC 1100

Page 27: Aquitectura de Computadoras SEM1 Sem1

El transistor: 2ª generación

ShockleyBardain

Brattain

/

Page 28: Aquitectura de Computadoras SEM1 Sem1

Electrónica integrada 3ª generación: Circuito Integrado

J. Kilby inventa el circuito integrado en 1958

Inicialmente, es un chip con algunos transistores (SSI)

A finales de los 60, ya son cientos de transistores (MSI)

1975, decenas de miles de transistores en un chip (LSI)

Grandes familias de computadores

Burroughs B2500, IBM 360, CDC 6500, PDP 5, UNIVAC

1108

Page 29: Aquitectura de Computadoras SEM1 Sem1

Circuito integrado:

3ª generación

Jack Kilby

Page 30: Aquitectura de Computadoras SEM1 Sem1

El microprocesador (4004)

Page 31: Aquitectura de Computadoras SEM1 Sem1

¿4ª generación?El Microprocesador

Intel 4004: primer microprocesador comercial

Aparecen los lenguajes de programación de alto nivel

Page 32: Aquitectura de Computadoras SEM1 Sem1

Parámetros característicos

Tamaño de palabra

Frecuencia de reloj

Medidas de rendimiento

MIPS, MFLOPS

Pruebas sintéticas: SPECint, SPECfp

Page 33: Aquitectura de Computadoras SEM1 Sem1

Conceptos importantes

Estructura de un computador

Descomposición funcional

Fundamentos de la ejecución de un programa

Evolución tecnológica

Parámetros característicos y evaluación del

rendimiento

Page 34: Aquitectura de Computadoras SEM1 Sem1

Arquitecturas y Partes de la CPU

Page 35: Aquitectura de Computadoras SEM1 Sem1

Objetivos

• Arquitecturas

– von Neumann

– Otras

• Unidad Central de Procesamiento (CPU)

– Responsabilidades

– Requisitos

– Partes de una CPU

• ALU

• Control & Decode

• Registros

• Electrónica y buses

R.Mitnik 35

Page 36: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 36

Índice

Capítulo 3 : Arquitecturas

3. Arquitecturas

3.1 von Neumann

3.2 Harvard

3.3 Otras (Multiprocesador, Sistemas distribuidos)

Page 37: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 37

Introducción

Corresponde a la estructura, organización, e interconexión de las

diversas partes de un computador

Arquitectura de Computadores

Arquitectura del set de instrucciones

Cantidad de instrucciones

Tamaño de las instrucciones

Maneras de acceder a memoria

Organización funcional

Registros

Interconexión entre los componentes

Mecanísmos de Entrada/Salida (I/O)

Jerarquías de memoria

Page 38: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 38

Introducción

• Que hace un computador.

– Almacenar Datos (leer - escribir).

– Almacenar Programas.

– Ejecutar operaciones sobre datos.

– Ejecutar algoritmos.

– Recibir nuevos datos.

– Entregar resultados.

Page 39: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 39

Índice

3.1 von Neumann

3.2 Harvard

3.3 Otras (Multiprocesador, Sistemas distribuidos)

Capítulo 3 : Arquitecturas

Page 40: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 40

Introducción

John von Neumann (se pronuncia «fon noiman»)

(28 de diciembre de 1903 - 8 de febrero de 1957)

Fue un matemático húngaro-estadounidense, de ascendencia judía.

Fue pionero de la computadora digital moderna y de la aplicación de la teoría operadora a la mecánica cuántica.

Participó del Proyecto Manhattan

Page 41: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 41

Introducción

Trabajó con Eckert y Mauchly en la Universidad de Pennsylvania, donde publicó un artículo acerca del almacenamiento de programas.

El concepto de programa almacenado permitió la lectura de un programa directamente desde la memoria del computador, así como la ejecución de las instrucciones del mismo sin necesidad de un medio externo (cinta).

(Tomado de Wikipedia: John von Neumann)

Page 42: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 42

Arquitectura de von Neumann

• John von Neumann propuso una manera de

estructurar un computador.

– Almacenar Datos (leer - escribir).

– Almacenar Programas.

– Ejecutar operaciones sobre datos.

– Ejecutar algoritmos.

– Recibir nuevos datos.

– Entregar resultados.

CPU

Memoria

Input/Output

Page 43: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 43

Arquitectura de von Neumann

• CPU, Memoria e I/O se comunican a través

de Buses.

I/OMemoria

Address Bus

Control

CPU

Control

Data Bus

Page 44: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 44

Índice

3.1 von Neumann

3.2 Harvard

3.3 Otras (Multiprocesador, Sistemas distribuidos)

Page 45: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 45

Arquitectura Harvard

• Utiliza 2 memorias independientes

– Datos

– Instrucciones

• El término proviene de la computadora

Harvard Mark I, que almacenaba las

instrucciones en cintas perforadas y los datos

en interruptores.

Page 46: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 46

Arquitectura Harvard

• Ventajas de la arquitectura Harvard

– Instrucciones y datos de distinto largo

– Memorias de distinto tamaño• bits de direccionamiento distintos

– Memorias con distinta tecnología

– Disminuyo el cuello de botella en el acceso a memoria

– En controladores embebidos:• RAM para los datos

• ROM para las instrucciones

Page 47: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 47

Arquitectura de von Neumann

• Ventajas de la arquitectura de von Neumann

– Uso mas eficiente de la memoria• Jerarquía de memoria no requiere estar dividida en 2

– Más simple arquitectónicamente• Un solo tipo de instrucciones para acceder a memoria

• Un solo bus de datos y de direcciones

Una misma forma de acceso a datos e instrucciones

– Mayor flexibilidad• Útil para el sistema operativo

• Paginación a disco

• Código automodificante

CPU con menos operaciones y mas flexible

Page 48: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 48

Índice

3.1 von Neumann

3.2 Harvard

3.3 Otras (Multiprocesador, Sistemas distribuidos)

Page 49: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 49

Multiprocesador

Procesador

Memoria

local *

Procesador

Memoria

local

Procesador

Memoria

local

Procesador

Memoria

local

Memoria Principal I/O

* Memoria Local: mantiene una copia local de una porción de la memoria principal

Page 50: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 50

Multiprocesador

• Ventajas

– Procesamiento paralelo

– Cercanía entre CPUs

permite altas tasas de

transferencia de datos

• Desventajas

– No todo es paralelizable

Problemas de coherencia de memoria local con

memoria principal

Page 51: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 51

Sistemas distribuidos

Arquitectura de Computadores

Red de interconexión

Procesador

Memoria

I/O

Procesador

Memoria

I/O

Procesador

Memoria

I/O

Capítulo 3 : Arquitecturas

Page 52: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 52

Sistemas distribuidos

Red de interconexión

Cada nodo funciona como un computador

independiente

Se comunican por red

Distintas topologías: estrella, anillo, etc.

Page 53: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 53

Sistemas distribuidos

Ventajas

Procesamiento paralelo

Facilidad de incorporar y quitar

nodos del sistema

Desventajas

No todo es paralelizable

Overhead en la transferencia de datos es considerablemente

mayor

Problemas de coherencia de memorias

Page 54: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 54

Índice

4.Unidad de Central de Procesamiento (CPU)4.1 Partes de la CPU.

4.2 Ciclo de la Instrucción.

4.3 Conjunto de Instrucciones y tipos de funcionalidad.

4.4 Diseño de una CPU básica.

4.5 CISC/RISC.

4.6 Modos de direccionamiento.

4.7 Instrucciones en lenguaje de máquina.

4.8 Subrutinas y Manejo de Stack.

4.9 Interrupciones de software y hadware.

Page 55: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 55

Introducción

Componente principal de un computador, encargado

del control de flujo, decodificación y ejecución de

instrucciones, y procesamiento y transferencia de

datos.

Cerebro del computador

Unidad Central de Procesamiento(CPU o procesador)

Page 56: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 56

Índice

Capítulo 4 : Unidad de Procesamiento Central (CPU)

4.1 Partes de la CPU.

4.2 Ciclo de la Instrucción.

4.3 Conjunto de Instrucciones y tipos de funcionalidad.

4.4 Diseño de una CPU básica.

4.5 CISC/RISC.

4.6 Modos de direccionamiento.

4.7 Instrucciones en lenguaje de máquina.

4.8 Subrutinas y Manejo de Stack.

4.9 Interrupciones de software y hadware.

Page 57: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 57

Partes de la CPU

Capítulo 4 : Unidad de Procesamiento Central (CPU)

• Responsabilidades

– Ejecutar Operaciones y Algoritmos

– Controlar Flujo del Programa

– Controlar Circuitos Internos

Page 58: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 58

9

00

01 1100011001

02 1110001010

03 1110000000

04 0110011000

05 0000011000

06 0001111000

07 0000000100

08 1111000000

09 0000000101

0A 0000000000

Partes de la CPU

• Requisitos:

– Procesar

instrucción

– Leer datos

– Almacenar

Temporalmente los

datos

– ALU – FPU

– Almacenar

Resultados

1101110111Load (7h)

4

5

0000001001

9

ALU

MemoriaEjecutar Operaciones y Algoritmos

Page 59: Aquitectura de Computadoras SEM1 Sem1

00

01

02

03

04 0110011000

05 0000011000

06 0001111000

07 0000000100

08 1111000000

09 0000000101

0A 0000000000

1110000000

MOVE(0Ah)

R.Mitnik 59

1110001010

1100011001ADD(09h)

Partes de la CPU

• Ej. programa anterior.

LOAD (07h)

ADD (09h)

MOVE(0Ah)

GOTO(08h)

1101110111LOAD (07h)

4

5

ALU

9 Requisitos

Instruction Pointer

Mecanismos de Salto

9

GOTO(08h)

0000001001

Control de Flujo

Memoria

Page 60: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 60

00 LOAD (07h)

01 ADD(09h)

02 MOVE(0Ah)

03 GOTO(08h)

04 0110011000

05 0000011000

06 0001111000

07 0000000100

08 1111000000

09 0000000101

0A 0000000000

Partes de la CPUEj.

implementació

n

memoria

mux

A

L

U

0001111000

registro

Circuitos internos

Requisitos

Buses internos.

Señales de control.

ALU (función)

Mux

Registros (Load,etc)

Contador (Inc,

Load,etc)

00000000

contador

Page 61: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 61

Partes de la CPU

• Control & Decode procesa las

instrucciones.

– ROM

– Espacio de Direccionamiento determina

cantidad de instrucciones

– Las salidas son señales de control para

ejecutar una instrucción.Control & Decode

Instrucción

de k bits

n señales de

control para

la instrucción

2k palabras

n bits por palabra

Page 62: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 62

Partes de la CPU

Registros de la CPU

Page 63: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 63

Registros de la CPU

• Un procesador incluye:

– registros visibles para el usuario

– registros de control/estado.

Registros Visibles.

Pueden referenciarse en las instrucciones.

Se clasifican en:

Uso general.

Datos.

Direcciones.

Códigos de Condición

Page 64: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 64

Registros de la CPU

¿Cuántos registros de propósito general?

Óptimo entre 8 y 32

Pocos registros demasiados accesos a memoria.

Muchos registros no reducen considerablemente las

referencias a memoria

Muchos registros CPU más compleja.

Page 65: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 65

Registros de la CPU

¿De cuántos bits deben ser los registros?

Deben ser de un número suficiente tal que se

puedan manejar las direcciones a memoria.

Además deben ser capaces de manejar una palabra

completa.

A veces se combinan dos registros para conformar

uno solo.

Page 66: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 66

Registros de la CPU

Registros Control/Estado.

controlar el funcionamiento de la CPU

PC = program counter: contiene la dirección de la

instrucción a captar

IR = instruction register: contiene la última instrucción

captada

MAR = memory address register: contiene la dirección de

una posición de memoria.

MBR = memory buffer register: contiene la palabra de

datos a escribir en memoria, o la palabra leída más

recientemente

Page 67: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 67

Registros de la CPU

Registros Control/Estado.

Adicionalmente se cuenta con PSW = program status

word:

Signo: contiene elbit de signo del resultado de última

operación

Cero: puesto a uno cuando el resultado es 0

Acarreo: puesto a uno si en la suma hay acarreo o en la

resta hay un adeudo del bit más significativo

Igual: puesto a uno si el el resultado de una comparación

lógica es la igualdad

Desbordamiento: Usado para indicar desbordamiento

aritmético

Page 68: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 68

Registros de la CPU

Registros Control/Estado.

Adicionalmente se cuenta con PSW = program status

word:(continuación)

Interrupciones: usado para permitir o inhabilitar

interrupciones

Supervisor: indica si la CPU funciona en modo supervisor

o usuario. Únicamente en modo supervisor se pueden

ejecutar ciertas instrucciones privilegiadas y se puede

acceder a ciertas áreas de memoria

Page 69: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 69

00 LOAD (07)

01 ADD(09)

02 GOTO(0A)

03 1110000000

04 0110011000

05 0000011000

06 0001111000

07 0000000100

08 1111000000

09 0000000101

0A 0000000000

Partes de la CPU

• Ej. Implementación modificado memoria

mux

A

L

U

0001111000

registro

00000000

contador

IRControl &

Decode

Señales de

Control

Page 70: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 70

Partes de la CPU

Partes de la CPU.

Registros

Program Counter

Instruction Register

Uso general

ALU

FPU

Control & Decode

Buses

Circuitería

Page 71: Aquitectura de Computadoras SEM1 Sem1

R.Mitnik 71

Resumen

• Distintas arquitecturas

• Partes de la CPU y sus funciones

– Registros

• Visibles

• Control/Estado

– ALU, FPU

– Control & Decode

• Decodificación de instrucciones

• Señales de control

– Buses Internos

– Circuitería

Resumen

Page 72: Aquitectura de Computadoras SEM1 Sem1

GRACIAS