You are on page 1of 72

CICLO 2016-I Mdulo:II

Unidad: I Semana: 1

ARQUITECTURA DE COMPUTADORAS

Ing. Chauca Castillo Eduardo

Tema 1: Introduccin a
Arquitectura de Computadores

Conceptos bsicos y visin histrica

Programa de Teora
1.
2.
3.
4.
5.
6.
7.

Introduccin.
Lenguaje Mquina.
Lenguaje Ensamblador.
Ruta de Datos y Unidad de Control.
Unidad Aritmtico-Lgica (ALU).
Sistema de Entrada-Salida.
Memoria.

Contenido

Qu es un computador?
Descripcin funcional:
Arquitectura de von Neumann
Orgenes y evolucin histrica.
Parmetros caractersticos de un computador.

Qu es un computador?

Concepto de computador

Mquina de estados finitos: FSM

Arquitectura von Neumann

Ruta de datos

Unidad de Control

Memoria de programa y datos

FSM + Datapath

Arquitectura von Neumann

Ruta de datos

Unidad de control

Responsable de realizar clculos


Registros, unidades funcionales, unidades de
interconexin
Responsable de ordenar clculos
Secuenciador, registros, pilas...

Memoria de programa y datos

Estructura de un computador

Procesador

Unidad
de Control

Salida
Memoria

Ruta de datos
Unidad
AritmticoLgica

Entrada

Computador

Ruta de datos

Unidades funcionales

Realizan operaciones aritmticas y/o lgicas

ALUs, desplazadores, multiplicadores

Registros de la ruta de datos

Almacenan resultados temporales

Unidades de interconexin

Multiplexores y/o buses

Unidad de Control

Contador de programa

Registro de instruccin

Direccin de la instruccin en curso


Se incrementa en cada ciclo
Cdigo de la instruccin en curso

Secuenciador

Genera seales para cada instruccin


Actualiza el Contador de Programa

Secuenciador

Captacin de la instruccin

Leer direccin del Contador de Programa


Incrementar el Contador de Programa

Decodificacin de la instruccin
Ejecucin de la instruccin

Captura de operandos
Operacin
Escritura de resultados

Ejemplo de procesador

Necesidad de cmputo
Antecedentes histricos

baco

Mquina de Pascal (1642). Suma

Mquina de Leibniz (fin s. XVII).


Multiplica y divide

Telar de Jacquard (med. XVIII)


Tarjetas perforadas

El baco

La pascalina

La mquina de
calcular de Leibniz

La era moderna
Computadores mecnicos

Charles Babbage:

Mquina diferencial. Calcular tablas de artillera.

Mquina analtica. Programable, con E/S,


memoria, unidad de clculo
Computadores elctricos

Clasificadora de Hllerith (1886): Primer


ordenador elctrico

Charles Babbage

Mquina de diferencias

Charles Babbage

Ada
Lovelace

Mquina analtica

Clasificadora de Hllerith

Computadores electromecnicos

Zuse (1941) primer computador de rels

Howard Aiken (IBM)

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

Electromecnicos: Mark I

Howard Aiken: Si Babbage hubiera nacido en el

siglo XX nos habramos quedado sin trabajo

Computadores electrnicos
1 generacin: Vlvula de vaco

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

Electrnicos (vlvulas): ENIAC

John Mauchly
John P. Eckert

Computadores electrnicos
2 generacin: 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

El transistor: 2 generacin

Shockley
Bardain
Brattain

Electrnica integrada 3 generacin:


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

Circuito integrado:
3 generacin

Jack Kilby

El microprocesador (4004)

4 generacin?
El Microprocesador

Intel 4004: primer microprocesador comercial

Aparecen los lenguajes de programacin de alto nivel

Parmetros caractersticos

Tamao de palabra
Frecuencia de reloj
Medidas de rendimiento

MIPS, MFLOPS
Pruebas sintticas: SPECint, SPECfp

Conceptos importantes

Estructura de un computador

Descomposicin funcional
Fundamentos de la ejecucin de un programa

Evolucin tecnolgica
Parmetros caractersticos y evaluacin del
rendimiento

Arquitecturas y Partes de la CPU

Objetivos

Arquitecturas

von Neumann
Otras
Unidad Central de Procesamiento (CPU)

R.Mitnik

Responsabilidades
Requisitos
Partes de una CPU
ALU
Control & Decode
Registros
Electrnica y buses

35

ndice
Captulo 3 : Arquitecturas

3. Arquitecturas
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

36

Introduccin

Arquitectura de Computadores
Corresponde a la estructura, organizacin, e interconexin de las
diversas partes de un computador

Arquitectura del set de instrucciones

Cantidad de instrucciones
Tamao de las instrucciones
Maneras de acceder a memoria

Organizacin funcional

R.Mitnik

37

Registros
Interconexin entre los componentes
Mecansmos de Entrada/Salida (I/O)
Jerarquas de memoria

Introduccin

Que hace un computador.

R.Mitnik

Almacenar Datos (leer - escribir).


Almacenar Programas.
Ejecutar operaciones sobre datos.
Ejecutar algoritmos.
Recibir nuevos datos.
Entregar resultados.

38

ndice
Captulo 3 : Arquitecturas
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

39

Introduccin
John von Neumann (se pronuncia fon
noiman)
(28 de diciembre de 1903 - 8 de febrero de 1957)

Fue un matemtico hngaroestadounidense, de ascendencia juda.


Fue pionero de la computadora digital
moderna y de la aplicacin de la teora
operadora a la mecnica cuntica.
Particip del Proyecto Manhattan

R.Mitnik

40

Introduccin
Trabaj con Eckert y Mauchly en la
Universidad de Pennsylvania, donde
public un artculo 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 ejecucin de
las instrucciones del mismo sin
necesidad de un medio externo
(cinta).
(Tomado de Wikipedia: John von Neumann)
R.Mitnik

41

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.

Memoria
CPU
Input/Output

R.Mitnik

42

Arquitectura de von Neumann


CPU, Memoria e I/O se comunican a travs
de Buses.

Data Bus
Control
Memoria

CPU

I/O

Control
Address Bus
R.Mitnik

43

ndice
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

44

Arquitectura Harvard
Utiliza 2 memorias independientes
Datos
Instrucciones

El trmino proviene de la computadora


Harvard Mark I, que almacenaba las
instrucciones en cintas perforadas y los datos
en interruptores.

R.Mitnik

45

Arquitectura Harvard
Ventajas de la arquitectura Harvard
Instrucciones y datos de distinto largo
Memorias de distinto tamao
bits de direccionamiento distintos

Memorias con distinta tecnologa

Disminuyo el cuello de botella en el acceso a memoria


En controladores embebidos:
RAM para los datos
ROM para las instrucciones

R.Mitnik

46

Arquitectura de von Neumann


Ventajas de la arquitectura de von Neumann
Uso mas eficiente de la memoria
Jerarqua de memoria no requiere estar dividida en 2

Ms simple arquitectnicamente
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
Paginacin a disco
Cdigo automodificante

CPU con menos operaciones y mas flexible


R.Mitnik

47

ndice
3.1 von Neumann
3.2 Harvard
3.3 Otras (Multiprocesador, Sistemas distribuidos)

R.Mitnik

48

Multiprocesador
Procesador

Procesador

Procesador

Procesador

Memoria
local *

Memoria
local

Memoria
local

Memoria
local

Memoria Principal

I/O

* Memoria Local: mantiene una copia local de una porcin de la memoria principal
R.Mitnik

49

Multiprocesador
Ventajas
Procesamiento paralelo
Cercana entre CPUs
permite altas tasas de
transferencia de datos

Desventajas
No todo es paralelizable

Problemas de coherencia de memoria local con


memoria principal

R.Mitnik

50

Sistemas distribuidos
Captulo 3 : Arquitecturas

Procesador

Procesador

Memoria

Memoria
I/O

Procesador

Memoria
I/O

I/O

Red de interconexin

R.Mitnik

Arquitectura de Computadores

51

Sistemas distribuidos

Cada nodo funciona como un computador


independiente
Se comunican por red
Distintas topologas: estrella, anillo, etc.

Red de interconexin
R.Mitnik

52

Sistemas distribuidos
Ventajas

Procesamiento paralelo
Facilidad de incorporar y quitar
nodos del sistema

Desventajas

R.Mitnik

No todo es paralelizable
Overhead en la transferencia de datos es considerablemente
mayor
Problemas de coherencia de memorias
53

ndice
4.Unidad de Central de Procesamiento (CPU)
4.1 Partes de la CPU.
4.2 Ciclo de la Instruccin.
4.3 Conjunto de Instrucciones y tipos de
funcionalidad.
4.4 Diseo de una CPU bsica.
4.5 CISC/RISC.
4.6 Modos de direccionamiento.
4.7 Instrucciones en lenguaje de mquina.
4.8 Subrutinas y Manejo de Stack.
4.9 Interrupciones de software y hadware.
R.Mitnik

54

Introduccin

Unidad Central de Procesamiento


(CPU o procesador)

Componente principal de un computador, encargado


del control de flujo, decodificacin y ejecucin de
instrucciones, y procesamiento y transferencia de
datos.

Cerebro del computador


R.Mitnik

55

ndice
Captulo 4 : Unidad de Procesamiento Central (CPU)

4.1 Partes de la CPU.


4.2 Ciclo de la Instruccin.
4.3 Conjunto de Instrucciones y tipos de
funcionalidad.
4.4 Diseo de una CPU bsica.
4.5 CISC/RISC.
4.6 Modos de direccionamiento.
4.7 Instrucciones en lenguaje de mquina.
4.8 Subrutinas y Manejo de Stack.
4.9 Interrupciones de software y hadware.
R.Mitnik

56

Partes de la CPU
Captulo 4 : Unidad de Procesamiento Central (CPU)
Responsabilidades
Ejecutar Operaciones y Algoritmos
Controlar Flujo del Programa
Controlar Circuitos Internos

R.Mitnik

57

Partes de la CPU
Memoria

Ejecutar Operaciones y Algoritmos

1101110111
Load (7h)
01 1100011001
00

Requisitos:
Procesar
instruccin
Leer datos
Almacenar
Temporalmente los
datos
ALU FPU
Almacenar
Resultados
R.Mitnik

ALU
9

02

1110001010

03

1110000000

04

0110011000

05

0000011000

06

0001111000

07

0000000100

08

1111000000

09

0000000101

0A 0000000000
0000001001
58

Partes de la CPU

Control de Flujo

R.Mitnik

Instruction Pointer
Mecanismos de Salto

GOTO(08h)
1110000000

04

0110011000

05

0000011000

06

0001111000

07

0000000100

08

1111000000

09

0000000101

01

ALU

Requisitos

03

00

Ej. programa anterior.


LOAD (07h)
ADD (09h)
MOVE(0Ah)
GOTO(08h)

02

Memoria
1101110111
LOAD (07h)
1100011001
ADD(09h)
1110001010
MOVE(0Ah)

4
5

0A 0000000000
0000001001

59

Partes de la CPU
Circuitos internos
Requisitos
Buses internos.
Seales de control.
ALU (funcin)
Mux
Registros (Load,etc)
Contador (Inc,
Load,etc)

R.Mitnik

contador
00000000

Ej.
implementaci
n

memoria
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

m
u
x

registro
0001111000

A
L
U
60

Partes de la CPU
Control & Decode procesa las
instrucciones.
ROM
Espacio de Direccionamiento determina
cantidad de instrucciones
Las salidas son seales de control para
ejecutar una instruccin.
Control & Decode
Instruccin
de k bits

R.Mitnik

2k palabras
n bits por palabra
n seales de
control para
la instruccin

61

Partes de la CPU

Registros de la CPU

R.Mitnik

62

Registros de la CPU
Un procesador incluye:
registros visibles para el usuario
registros de control/estado.

Registros Visibles.

R.Mitnik

Pueden referenciarse en las instrucciones.


Se clasifican en:
Uso general.
Datos.
Direcciones.
Cdigos de Condicin
63

Registros de la CPU
Cuntos registros de propsito general?

ptimo entre 8 y 32

R.Mitnik

Pocos registros demasiados accesos a memoria.


Muchos registros no reducen considerablemente las
referencias a memoria
Muchos registros CPU ms compleja.

64

Registros de la CPU
De cuntos bits deben ser los registros?

Deben ser de un nmero suficiente tal que se


puedan manejar las direcciones a memoria.

Adems deben ser capaces de manejar una palabra


completa.

A veces se combinan dos registros para conformar


uno solo.

R.Mitnik

65

Registros de la CPU

Registros Control/Estado.

R.Mitnik

controlar el funcionamiento de la CPU


PC = program counter: contiene la direccin de la
instruccin a captar
IR = instruction register: contiene la ltima instruccin
captada
MAR = memory address register: contiene la direccin de
una posicin de memoria.
MBR = memory buffer register: contiene la palabra de
datos a escribir en memoria, o la palabra leda ms
recientemente

66

Registros de la CPU

Registros Control/Estado.

R.Mitnik

Adicionalmente se cuenta con PSW = program status


word:
Signo: contiene elbit de signo del resultado de ltima
operacin
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 ms significativo
Igual: puesto a uno si el el resultado de una comparacin
lgica es la igualdad
Desbordamiento: Usado para indicar desbordamiento
aritmtico
67

Registros de la CPU

Registros Control/Estado.

Adicionalmente se cuenta con PSW = program status


word:
(continuacin)

R.Mitnik

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

68

Partes de la CPU
Ej.
Implementaci
n modificado

contador
00000000

memoria

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

m
u
x

0001111000

A
L
U

IR
R.Mitnik

registro

Control &
Decode

Seales de
Control
69

Partes de la CPU

Partes de la CPU.

R.Mitnik

Registros
Program Counter
Instruction Register
Uso general
ALU
FPU
Control & Decode
Buses
Circuitera

70

Resumen
Resumen
Distintas arquitecturas
Partes de la CPU y sus funciones
Registros
Visibles
Control/Estado
ALU, FPU
Control & Decode
Decodificacin de instrucciones
Seales de control
Buses Internos
Circuitera
R.Mitnik

71

GRACIAS

You might also like