Tema 1- Arquitectura - Facultad de Ciencias Exactas y Naturales

Anuncio
Arquitectura y Organización de
Computadoras
SIN EXAMEN FINAL (Promocional), deberán:
•Aprobar 2 (dos) evaluaciones parciales teórico _ prácticas con
un mínimo de 7 puntos, o sus respectivos exámenes
recuperatorios.
•Obtener como calificación correspondiente a los trabajos de
Laboratorio, nota de 7 o mas.
•Asistencia del 80 % a las clases/teóricas y a las clases de
laboratorio.
•Parcial teórico integrador, aprobado con 7 o mas.
•Defensa y Aprobación del trabajo grupal monográfico
presentado, con 7 o más.
1
•Entrega de una carpeta con todos los TP y demás actividades
Arquitectura y Organización de
Computadoras
REGULAR CON EXAMEN FINAL:
•Alumnos con notas menores a 7 y superiores a 6 en
los exámenes parciales.
•Porcentaje de asistencia inferior a 80 % y superior
al mínimo fijado por reglamentación ordinaria.
•Aprobación de los trabajos de Laboratorio
•Presentación del trabajo grupal monográfico.
2
1
Arquitectura y Organización de
Computadoras
Horarios:
•Clases teórico _ practicas: Lunes 19 a 21 hs.
•
Miércoles de 18 a 20 hs.
•Laboratorio: Viernes de 8 a 12 hs.
3
Arquitectura y Organización de Computadoras
Actividad
Primer parcial
Fecha
Miércoles
04/05
Recuperatorio
Viernes
Primer Parcial
20/05
Segundo parcial Miércoles
15/06
Entrega Trabajo 20 y 27/6
de Monografía
Recuperatorio
22/06
Segundo Parcial
Extraordinario y 29/06
Parcial
integrador
Horario
Clase teoría-práctica
Clase Lab. -Tutoría
Clase práctica
Clase teoría-practica
Clase práctica
Clase practica
4
2
Arquitectura y Organización de Computadoras
Objetivos :
–Incorporar conocimientos que permitan la comprensión de los
principios de funcionamiento de los equipos de computación.
–Analizar los niveles estructurales básicos de un computador.
–Inferir aspectos vinculados a la organización de los
componentes globales de un procesador y sus interrelaciones.
–Justificar la importancia de los lenguajes internos de la
computadora
–Comprender cuáles son los problemas fundamentales en el
diseño de computadoras, alternativas y mecanismos de
solución a los mismos y los retos que enfrenta esta área.
5
Computadora
•
•
•
•
•
•
•
Máquina
Digital
Sincrónica
Cálculo Numérico
Calculo lógico
Controlada por programa
Comunicación con el mundo exterior
6
3
Arquitectura de Computadoras
• Arquitectura: Atributos de un sistema que tienen un
impacto directo en la ejecución lógica de un
programa.
• Atributos visibles para un programador
• Ejemplos: Conjunto de instrucciones, nro de bits
usados para representar tipos de datos (numéricos o
caracteres), técnicas de direccionamiento de
memoria, mecanismos de E/S, etc.
• Ej.: Existe la instrucción de multiplicación?
7
Arquitectura de Computadoras
• Organización: Refiere a las unidades funcionales y sus
interconexiones, que dan lugar a especificaciones
arquitectónicas.
• Como son implementados esos atributos.
• Atributos de organización: Detalles de hardware
transparentes al programador: señales de control,
interfaces entre el computador y los periféricos, tecnología
de memoria, frecuencia del reloj, etc.
• Ej.: Existe la unidad de multiplicación por hardware o se
realiza por sumas repetidas ?
8
4
Familias de computadoras
• Fabricantes ofrecen una familia de modelos de
computadoras.
• Todas con la misma arquitectura, pero con distinta
organización.
• Los integrantes de una familia tienen precios y
prestaciones distintas.
• Arquitectura puede sobrevivir muchos años, pero la
organización evoluciona con la tecnología.
• Arquitectura IBM sistema /370
9
• Microcomputadoras: Relación entre arquitectura y
organización es muy estrecha.
• Cambios tecnológicos, influyen en la organización y
generan arquitecturas mas ricas y potentes.
• Hay menos requisitos de compatibilidad entre modelos.
• Ejemplo son los computadores RISC, Reduced
Instruction Set Computer).
• Aquí mayor interacción entre diseño
arquitectónico y de organización.
10
5
Estructura y Funcionamiento
• Computador: Es un sistema, constituido de un conjunto
de componentes interrelacionados.
• La organización de un computador es jerárquica.
• Es necesario tratar con un nivel particular del sistema a la
vez.
• De cada nivel al diseñador le interesa:
• Estructura: Como se interconectan los componentes.
• Función: la operación de cada componente individual
como parte de la estructura
11
Estructura y Funcionamiento
• Computador es un sistema complejo
• Naturaleza jerárquica de los sistema complejos.
• Sistema jerárquico: subsistemas interrelacionados.
Cada uno de los cuales se organiza en una
estructura jerárquica, hasta el nivel más bajo del
subsistema elemental.
• En cada nivel interesa: Estructura y
funcionamiento
12
6
Estructura y funcionamiento
• Estructura: Modo en que los componentes
están interrelacionados.
• Funcionamiento: la operación de cada
componente individual como parte de la
estructura.
• En términos de descripción: de arriba abajo (
“top-down”) es clara y efectiva (descomponer e
sistema.).
13
Estructura y funcionamiento
• Funciones básicas de un computador:
– Procesamiento de datos
– Almacenamiento de datos (corto/largo plazo)
– Transferencias de datos (Entrada/salida.- Comunicación de
datos).– Control ( De las tres anteriores- gestionar y dirigir por medio
de instrucciones)
• Número de operaciones posibles que pueden ser
realizadas es pequeño.
• Posibles operaciones de un computador (4)
14
7
Visión funcional de un computador
Recurso de
almacenamiento
de datos
Entorno Operativo
(Fuente y destino
de datos
Sistema
Transfere
ncia de
datos
Mecanismo
de Control
Recurso de
Procesamiento de
Datos
15
Operaciones (1)
• Transferencia de datos
– e.g. keyboard to screen
Transfere
ncia de
datos
Almacenamiento
Mecanismo
de control
Procesamiento
16
8
Operaciones (2)
• Almacenamiento
– e.g. Internet download to disk
Sistema
transferen
cia de
datos
Almacenamiento
Mecanismo
de Control
Procesamiento
17
Operaciones (3)
• Procesamiento de/hacia almacenamiento
– e.g. Actualizacion de estados bancarios
Almacenamiento
Transfere
ncia de
datos
Mecanismo de
Control
Procesamiento
18
9
Operaciones (4)
• Procesamiento desde almacenamiento a E/S
– Ej. Impresión de estados bancarios.
Almacenamiento
Transfere
ncia
Mecanismo de
Control
Procesamiento
19
Operaciones (4)
• Las operaciones detalladas pueden parecer absurdamente
generalizada, pero:
• “Hay sorprendentemente muy pocas formas de estructuras de
computadores que se ajusten a la funcion que va a ser llevada a
cabo. En la raiz de esto subyace el problema de la naturaleza de
uso general de computadores, en la cual toda la especializacion
funcional ocurre cuando se programa y no cuando se diseña”.
(SIEW82)
20
10
Estructura de una computadora
• Como se interconectan los componentes.
• El computador es una entidad que interactúa
con su entorno externo.
• Existen cuatro componentes estructurales
principales:
– Unidad Central de Procesamiento (procesador)
– Memoria Principal: almacena datos
– Entrada/Salida transfieren datos entre el computador
y el entorno externo
– Sistema de Interconexión: mecanismo de conexión 21
entre la CPU, la memoria y la E/S.
Estructura del nivel superior
Peripherals
Computer
Central
Processing
Unit
Computer
Main
Memory
Systems
Interconnection
Input
Output
Communication
lines
22
11
23
Estructura de la CPU
CPU
Computer
Arithmetic
and
Login Unit
Registers
I/O
System
Bus
Memory
CPU
Internal CPU
Interconnection
Control
Unit
24
12
Estructura de la CPU
• Unidad Central de Procesamiento: Sus
principales componentes estructurales:
–
–
–
–
Unidad de control
Unidad aritmético-lógica ( ALU )
Registros
Interconexiones CPU: mecanismos que
proporcionan comunicación entre la UC, la ALU y los
registros.
25
26
13
Estructura de la Unidad de Control
• Unidad de Control: Implementación
microprogramada y su estructura
– Memoria de control
– Lógica Secuencial
– Registros y decodificadores
27
28
14
Generaciones de Computadoras.Evolución y prestaciones.
• La evolución de los computadores se ha
caracterizado por:
• Incremento de la velocidad del procesador.
• Disminución del tamaño de los componentes
• Aumento del tamaño de memoria
• Aumento de la capacidad de E/S y de la
velocidad.
29
Primera generación: tubos de vacío
• ENIAC: Mauchly y Eckert ( Inician 1943 )
• Primer computador electrónico de propósito general
del mundo.
• Máquina decimal, realizaba 5000 + seg.
• Contenía mas de 18000 tubos
• Pesaba 30 toneladas y ocupaba 15.000 pies
cuadrados.
• Se programaba manualmente: conmutadores y
conectando y desconectando cables
• 1946: Nueva era de computadores electrónicos 30
15
Manchester University Mark I
• Los supercomputadores, de un gran volumen y alto
precio han sido largamente desplazados, por
máquinas de tamaño menor y precio menor que
ofrecen mejor promedio de performance y precio.
(Source: http://www.paralogos.com/DeadSuper)
31
Primera generación: tubos de vacío
• Concepto de programa almacenado: Máquina de von
Neuman
• Se diseña un nuevo computador de programa
almacenado el IAS, de propósito general. Formado
por:
• Memoria principal: Almacena tanto datos como
instrucciones
• Unidad Aritmético_lógica: realiza operaciones con
datos binarios
• Unidad de control: Interpreta las instrucciones en
memoria y provoca su ejecución.
• Equipo de entrada-salida dirigido por la unidad de
control
32
16
Proposiciones de von Neuman ( I )
• Primero: Dispositivo es un computador que realizará
frecuentemente las operaciones elementales +,-,*,/.
Contendrá elementos especializados sólo en estas
operaciones. La primera parte específica: CA (
Central aritmética).
• Segundo: Control lógico será realizado por un
órgano central de control. (CC)
• Tercero: Cualquier dispositivo que realice
secuencias largas y complicadas de operaciones,
debe tener una memoria considerable (.. ). La
33
memoria es la tercera parte especifica del dispositivo
( M ).
Proposiciones de von Neuman ( II )
• Las tres partes específicas CA,CC (juntas C ) y M,
corresponden a las neuronas asociativas del sistema
nervioso humano. Queda por discutir los equivalentes a la
neuronas sensoriales o aferentes y las motoras o
eferentes. Éstos son los órganos del dispositivo de entrada
y salida.
• EL dispositivo tiene que estar dotado con la habilidad de
mantener contacto de entrada y salida con medios
específicos: el medio de grabación exterior del dispositivo
R ( Recording).
• Cuarto: El dispositivo tiene que tener órganos para
transferir .. información a partir de R a sus partes
específicas C y M. Éstos órganos forman su entrada ( I )
34
17
Proposiciones de von Neuman ( III )
• Quinto: El dispositivo tiene que tener órganos para
transferir ( .. ) información a partir de sus partes
específicas C y M hacia R. Éstos órganos forman su
salida, la quinta parte específica: O ( Output). Es mejor
de nuevo hacer todas las transferencias a partir de M (
mediante O ) a R, y nunca directamente.
• Salvo muy raras excepciones todos los computadores
tienen la estructura y funcionamiento que la indicada
por Von Neuman.
35
El modelo von Neumann ( IAS)
El modelo von Neumann presenta cinco componentes
principales:
( 1) unidad de entrada; (2) unidad de salida; (3) unidad
aritmética lógica; (4) unidad de memoria; (5) unidad de
control.
36
18
Operación del computador IAS
(Institute for Advanced Studies )
• Memoria: 1000 palabras ó posiciones
• Cada palabra 40 bits ( dígitos binarios )
• Unidad de control: Capta instrucciones y las ejecuta
una a una.
• Registros de ALU:
• Registro Acumulador (AC) y Multiplicador cociente
(MQ): almacenan operandos y resultados de
operaciones de la ALU temporalmente.
• Registro temporal de memoria (MBR): contiene una
palabra que debe ser almacenada en memoria o recibe
37
una palabra procedente de memoria
Formatos de la memoria IAS
0
39
1
Bit de
signo
0
Codop
(a ) Palabra número
8
19 20
Dirección
28
Codop
(b ) Palabra instrucción
39
Dirección
38
19
Estructura Expandida del IAS
Unidad Central de Procesamiento
Unidad Aritmetico-Logica
Accumulator
MQ
Circuitos aritmeticos logico
MBR
Equipo de
Entrada
Salida
Datos
Instruciones Memoria
Principal
M
IBR
PC
MAR
IR
Circuitos de
control
Unidad de control de programa
Direcciones 39
Operación del computador IAS
• Registros de la Unidad de Control:
• Registro de Instrucción ( IR ): Contiene 8 bits del código de
operación de la instrucción que se va a ejecutar.
• Registro temporal de Instrucción ( IBR ) almacena
temporalmente la instrucción contenida en la parte derecha
de una palabra de memoria.
• Contador de programa ( PC ) : contiene la dirección de la
próxima pareja de instrucciones a ser captada de memoria
• Registro de dirección de memoria ( MAR ): especifica la
dirección en memoria de la palabra que va a ser escrita o
40
leída en MBR.
20
Ciclos de ejecución
• El IAS ejecuta repetidamente el:
• Ciclo de instrucción:
– Ciclo de captación: El codop de la siguiente instrucción es
cargado en IR, la parte que contiene la dirección se almacena
en MAR.
– La instrucción es captada desde el IBR , o desde la memoria.
– Ciclo de ejecución: Cuando el codop esta en IR. Los circuitos
de control interpretan el CODOP y ejecutan la instrucción,
enviando señales de control adecuadas para provocar que los
datos se transfieran o que la ALU realice una operación.
– Tabla de Conjunto de instrucciones del IAS
41
El modelo de bus de sistema
• El modelo de von Neumann refinado , llamado modelo de bus
del sistema tiene una CPU (ALU y control), memoria, y unidad
de entrada/salida.
• Comunicación entre componentes se maneja por un camino
compartido llamado bus del sistema, el cual está formado por
el bus de datos, el bus de direcciones y el bus de control.
Algunas arquitecturas pueden tener un Bus separado de I/O.
42
21
Computadores comerciales
– En los años 50: Compañias Sperry e IBM
– UNIVAC I: Primer computador de uso comercial. Utilizada para
el censo en EEUU. Tareas: manejo de matrices, reparto de
primas para empresas, etc.
– UNIVAC II: mas memoria y más capacidad de cálculo,
estrategia de compatibilidad ( para evitar perder la inversión en
programas)
– El UNIVAC 1103 y sus sucesores diseñados para aplicaciones
cientificas y de calculos complejos.
– IBM: sacó su primer computador con programas almacenados
electrónicamente, en 1953. ( 701 en 1953 ).
– Se inicia la serie de computadores 700/7000, que situaron a
IBM como el fabricante de computadores dominante (
aplicaciones de gestion ).
43
–
Segunda Generación: Los
transistores ( I )
• Más pequeño, más barato, disipa menos calor.
• Es un dispositivo de estado sólido, hecho con silicio.
• Inventado en los Laboratorios Bell en 1947
• Lanzada por NCR y con mas éxito por RCA
• Luego IBM siguió con la serie 7000.
• Se introdujeron unidades lógicas y aritméticas más complejas
• Uso de lenguajes de programación de alto nivel
• Se proporcionó un software del sistema.
• Aparece la empresa DEC (1957), con el PDP-1, se inicia asi el
desarrollo de los minicomputadores.
44
22
Segunda Generación: Los
transistores ( II )
• Serie 700 de IBM: la familia sufrió aumento de
prestaciones y capacidad y/o disminución de precios.
• Memoria principal: creció de 2 K a 32 K palabras.
• Tiempo de acceso a una palabra de memoria: de 30us a
1,4 us.
• Crece el nro. de códigos de operación de 24 a 185.
• Diferencias con IAS:
– A) Uso de canales de datos. Libera de trabajo a la CPU.
– B) Multiplexor: punto central de conexión central de los canales
de datos, la CPU y la memoria. ( organiza los accesos a la
memoria desde la CPU y los canales de datos).
45
Segunda Generación: Los
transistores ( III )
• Entre los 50 y los 60, los computadores
compuestos por transistores, resistencias,
capacidades, etc.
• Estos se fabricaban separadamente ( en sus
contenedores) y luego se soldaban o cableaban
juntos.
• Proceso engorroso y caro: al crecer la cantidad de
transistores ( 10000 o mas) a empacar en tarjetas
de circuitos en forma de panel.
46
23
Generaciones de computadores
Generación Fechas
Tecnología
1
1946-1957
2
4
1958-1964 Transistores (componente
200.000
discreto)
1965-1971
Pequeña y mediana
1.000.000
integración
1972-1977
Gran integración
10.000.000
5
1978
3
Válvulas
Velocidad
típica
40.000
Alta integración
100.000.000
47
Tercera Generación: Circuitos
integrados ( I )
•
•
•
•
•
•
•
•
•
•
Aparecen en 1958 y revolucionan la electrónica.
Exponentes: IBM Sistema/ 360 y DEC PDP-8.
Aparece la microelectrónica: “pequeña electrónica”
Los elementos básicos deben ofrecer almacenamiento,
procesamiento y control de funciones.
Computador digital: requiere solo dos tipos de componentes: puertas
y celdas de memoria.
Interconectando muchos de estos dispositivos, se puede construir un
computador.
Funciones básicas: Almacén de datos: proporcionado por las
celdas de memoria.
Procesamiento de datos: proporcionado por las puertas.
Transferencia de datos: caminos entre componentes.
Control: los caminos entre componentes pueden llevar las señales
de control.
48
24
Tercera Generación: Circuitos
integrados ( II )
• Se construyen miles de transistores al mismo tiempo en
una sola oblea de silicio.
• La oblea se divide en una matriz. Se fabrica el mismo
patrón de circuito en cada área.
• La oblea se divide en chips.
• Cada chip: varias puertas, mas puntos de interconexiones
de entrada salida.
• Se encapsulan en una carcasa y que le proporciona patas.
• Varios chips pueden interconectarse en una tarjeta de
ciucuito impreso para producir circuitos mas complejos y
mayores.
49
Tercera Generación: Circuitos
integrados ( II )
•
Primeros circuitos: Pequeña escala de integración
(SSI)
• Creció el número de componentes a encapsular en
un solo chip.
• Ley de Moore: El número de transistores que se
podrían integrar en un solo chip se duplicaba cada
año y se predecía que esto continuaría en un futuro
cercano. El ritmo disminuyó, duplicándose cada 18
meses en los 70, pero luego la velocidad se ha
mantenido desde entonces.
50
25
Evolución del nro de transistores en los procesadores
51
Tercera Generación: Circ. integrados (III )
• Consecuencias de la ley de Moore:
• Precio del chip ha permanecido prácticamente invariable
• Costo de la lógica del computadora y de la circuitería de la
memoria han caído a una velocidad drástica.
• La lógica y la memoria están más próximos en chips más
densamente encapsulados -> la longitud de las interconexiones
eléctricas ha disminuido-> incrementándose la velocidad
operativa.
• Disminución del tamaño del computador
• Reducción de las necesidades de potencia y refrigeración.
• Las interconexiones de los circuitos son más fiables que las
conexiones soldadas.
52
26
Tercera Generación:Circ.integrados (IV)
• El sistema /360 de IBM fue la primera familia de
computadores que se planeo.
• Un cliente podía empezar con un modelo barato, y
luego pasarse a una con mayores capacidades, sin
sacrificar la inversión en software.
• Las características de una familia son:
–
–
–
–
–
–
Conjunto de instrucciones similar o idéntico
Sistemas operativos similares o idénticos
Velocidad creciente
Numero creciente de puertos de E/S
Tamaño de memoria creciente
Costo creciente
53
Tercera Generación:Circ.integrados (V)
• Las diferencias entre modelos se basaron en:
– La velocidad básica
– El tamaño
– Grado de simultaneidad
• Por ej. : Lograrse mayor velocidad en la ejecución
de una instrucción dada: usando una circuiteria mas
compleja en la ALU, permitiendo que las
suboperaciones se realizaran en paralelo.
• Otro modo: incrementar la amplitud del camino de
datos entre memoria principal y la CPU.
54
27
Tercera Generación: Circ.integrados (V)
•
•
•
•
Nace el PDP-8 de DEC.
De bajo costo y tamaño pequeño
Costaba 16.000 dólares
Usaban una estructura que ahora es
prácticamente universal para minicomputadores y
microcomputadores ( estructura de bus ).
• Todos los componentes del sistema comparten un
conjunto de caminos, cuyo uso esta controlado por
la CPU.
55
DEC - PDP- 8 Bus Structure
Console
Controller
CPU
Main Memory
I/O
Module
I/O
Module
OMNIBUS
56
28
Últimas generaciones (I)
• Existe un acuerdo no tan general para la cuarta y quinta generación
• 4 ta. 1972 - 1977 - Integración a gran escala ( LSI) + de 1000 componentes
en un solo chip
• 5ta generación: 1978 en adelante Integración a muy grande escala ( VLSI )
+ de 10.000 componentes por chip
• Actualmente chips VLSI con más de 100.000 componentes
• Con el avance de la tecnología, los nuevos productos, el software y las
comunicaciones la separación de generaciones se vuelve menos clara
• Los circuitos integrados fueron usados para construir el procesador ( la ALU
y UC.)
• También esta misma tecnología podía usarse para construir memorias.
57
Últimas generaciones (II)
• Memorias: Entre los 50 y los 60: de anillos de material
ferromagnético.
• Se magnetizaban en un sentido el anillo (llamado núcleo)
y representaba un uno, en el otro un cero.
• Era más bien rápida, pero era cara, voluminosa y usaba lectura
destructiva. Leía un bit de memoria en una milésima de segundo.
• Memoria semiconductora: Introducidas en 1970 por
Fairchild. Un chip podía tener 256 bits de memoria.
• Era no destructiva y más barata. Leía un bit de memoria en 70 mil
millonésimas de seg. El costo por bit era mayor que el de un núcleo.
• En 1974 precio de memoria semiconductor menor que la de núcleo.
• A partir de allí continua disminución del precio y aumento
58
de la densidad.
29
Últimas generaciones ( III )
• Microprocesadores: En cada chip había más elementos (
crece en densidad).
• En 1971 Intel desarrolló su 4004. Contenía todos los
componentes de la CPU en un solo chip (Microprocesador).
• Evolución del número de bits que el procesador trata a la vez.
Otra medida es la anchura del bus de datos.
• En 1972 aparece el Intel 8008, microprocesador de 8 bits
• En 1974 nace el INTEL 8080 primer microprocesador de uso
general.
• INTEL 8080: es de 8 bits, mayor capacidad de
direccionamiento, más rápido, conjunto de instrucciones más
rico.
59
• A finales de los 70, aparecen los de 16 bits (8086).
Procesadores de la década de los 70
Fecha de
introducción
4004
8008
8080
8086
8088
15/11/71
1/4/72
1/4/74
8/6/78
1/6/79
5 MHz,
Velocidad de
5 MHz,
108KHz 108KHz 2 MHz 8 MHz,
reloj
8 MHz
10 MHz
Anchura del
4 bits
bus
Número de
2300
transistores
(10)
(microns)
Memoria
640 bytes
direccionable
Memoria
virtual
8 bits
8 bits
16 bits
8 bits
3.500
6.000
(6)
29.000
(3)
29.000
(3)
16
kbytes
64
kbyte
1 Mbyte 1 Mbyte
-
-
-
60
30
Procesadores de la década de los 80
F ec h a d e
in trod u cció n
V elo c id ad d e
relo j
A n c h u ra d el
bus
N ú m ero d e
tran sisto res
80286
In te l
386TM
DX
In te l38 6 T
M SX
In te l48 6 T
M DX
CPU
1 /2 /8 2
1 7 /1 0 /8 5
1 6 /6 /8 8
1 0 /4 /8 9
6 MHz –
16 M H z
1 2 ,5 M H z 3 3 M H z
16 M H z
33 M H z
1 6 b its
3 2 b its
1 6 b its
1 3 4 .0 0 0
(1 ,5 )
2 75 .00 0
(1 )
2 7 5 .0 0 0
(1 )
M em o ria
16
4
d irecc io n ab le m e g ab yte s gig ab ytes
M em o ria
64
1 g ig ab yte
virtu a l
te rab yte s
2 5 M H z,
5 0 M H z,
3 2 b its
4
g ig ab ytes
64
terab yte s
1 ,2
m illo n es
(0 ,8 -1 )
4
g ig ab ytes
64
terab yte s
61
Procesadores de la década de los 90
Intel486TM Pentium
SX
Procesador
Pentium
Pro
Procesador
Pentium II
Procesador
1/11/95
7/5/97
Fecha de
introducción
22/4/91
Velocidad de
reloj
16 MHz –
33 MHz
16 MHz
33 MHz
16 MHz
33 MHz
32 bits
32 bits
64 bits
Anchura del
bus
Número de
transistores
Memoria
direccionable
Memoria
virtual
22/3/93
1.185
3,1 millones
millones
(,8)
(1,5)
4
4
megabytes gigabytes
64
64 terabytes
gigabytes
25 MHz, 50
MHz,
64 bits
5,5 millones
7,5 millones
(0,6)
64
gigabytes
64
gigabytes
64 terabytes 64 terabytes
62
31
Niveles de máquina (1)
• Hay un número de niveles en una computadora (el
número exacto está abierto al debate), desde el nivel del
usuario hasta el nivel del transistor. • A medida que se
desciende desde el nivel superior, estos niveles se tornan
menos abstractos y comienza a aparecer cada vez más,
la estructura interna de la computadora.
63
Niveles de máquina ( 2)
• Nivel del usuario o del programa de aplicación.
El usuario interactua con la computadora por medio de
la ejecución de programas como procesadores de texto,
planillas de cálculo o juegos.
Ve la computadora a través de los programas que
ejecuta
Poco o nada visible la estructura interna.
64
32
Niveles de máquina ( 3)
• Nivel del lenguaje de alto nivel.
El usuario interactua con la computadora por medio de
la ejecución de programas en lenguajes como C,
Pascal, Fortran o Java.
El programador ve los tipos de datos y las instrucciones
No conoce como la máquina configura esos tipos de
datos.
Es función del compilador convertirlos hacia los circuitos
de la computadora.
Los programas así escritos pueden ser recompilados
para distintos tipos de máquina( compatibilidad de
código fuente).
65
Niveles de máquina ( 4)
• Nivel del lenguaje de máquina.
Miran “hacia abajo” en la jerarquía.
Deben tratar con cuestiones circuitales tales como la
estructura de los registros y la transferencia de datos
entre ellos.
El conjunto de instrucciones del lenguaje de máquina
para una computadora se denomina juego de
instrucciones.
Muchas instrucciones pueden describirse en términos de
las transferencias efectuadas entre registros.
Código real que utiliza la máquina es el código binario.
Assembler: traduce esquemas nemotécnicos de un
lenguaje común, tales como MOVE Data, Acc a
66
expresiones formadas por unos y ceros.
33
Niveles de máquina ( 4)
• “Compatibilidad binaria”: Maquinas que difieren en la
implementación del nivel inferior pero que presentan el
mismo conjunto de instruccciones o un subconjunto o un
superconjunto.
Serie IBM 360 – Intel Corporation: 8086, 80286, 80386,
80486 Pentium
Es posible tener maquinas que difieren en la
implementacion del nivel inferior pero que representan el
mismo conjunto de instrucciones o algun subconjunto o
superconjunto de un juego de instrucciones dado.
Otras computadoras ofrecen a sus usuarios distintos
juegos e instrucciones, lo que dificulta el transporte del
paquete de programas de software de una computadora
hacia otra familia.
67
•
Niveles de máquina (5)
Nivel de Control.
La Unidad de control a través de señales de control
transfiere la información entre registros.
La U. de Control interpreta las instrucciones de máquina
una a una que miran “hacia abajo” en la jerarquía.
Formas diferentes de implementar la unidad de control:
Cableado/Control Microprogramado
Cablear: señales de control que efectuan la transferencia
entre registros están generadas a partir de un bloque de
componentes lógicos digitales.
Ventajas: Velocidad y cantidad de componentes
Desventajas: Extremadamente dificiles de diseñar. 68
34
Niveles de máquina (5)
• Microprogramada: Más lenta pero más sencilla.
Programa escrito en lenguaje de nivel menor aún e
implementado en los circuitos de la máquina, cuya
función es interpretar las instrucciones del lenguaje de
máquina.
Firmware: incluye hardware y software y se ejecuta a
través de un microcontrolador quien ejecuta las
microinstrucciones reales.
69
Niveles de máquina (6)
• Nivel de las unidades funcionales.
Las transferencias de registros y las demás
operaciones implementadas por la unidad de control
mueven información desde y hacia “unidades
funcionales”.
Se incluyen los registros internos de la CPU, la ALU y
la memoria principal de la computadora.
70
35
Niveles de máquina (7)
Circuitos lógicos, transistores y cables.
Los circuitoslógicos se utilizan para construir las
unidades funcionales y los transistores se usan
para construir los circuitos lógicos.
Cuicuitos lógicos: Implementan las operaciones
lógicas de más bajo nivel, de las cuales depende el
funcionamiento de la computadora.
Transistores: se utilizan para construir los circuitos
lógicos.
Ultimo nivel: formada por componentes eléctricos
como transistores y cables que sirven para
construir los circuitos logicos. A este nivel el
comportamiento se dispersa en términos de
tensiones, corrientes, tiempos de propagación de
señales, efectos cuánticos y otros temas de bajo
nivel.
71
Niveles de máquina (8)
•Interacciones entre niveles.
Suele confundirse en forma frecuente
Programas emuladores: Emulan el juego completo de
instrucciones de una computadora sobre otra
computadora distinta.
Computadores que no tienen coprocesador de pto fl
emulan las instrucciones de punto flotante por medio
de una serie de rutinas implementadas en el lenguaje
de máquina del microprocesador y almacenadas en un
circuito integrado de memoria ROM.
Los puntos de vista de los lenguajes absoluto y de alto
nivel son los mismos para ambas implementaciones,
con excepción de la velocidad.
Nivel de lenguaje a alto nivel y los niveles de firmware
y de las unidades funcionales pueden estar tan
72
entrelazados que resulte difícil identificar que
operación se está produciendo en qué nivel
36
La perspectiva del programador
• El programador que trabaja en lenguaje de máquina
tiene interes en el lenguaje y en las unidades
funcionales.
Estos dos elementos conforman la arquitectura de
programación de la computadora.
La perspectiva del arquitecto de computadoras.
Observa al sistema desde todos sus niveles.
Al enfocar el diseño de una PC sufre requerimientos
de rendimiento y resctriciones de costo.
Esta busqueda de equilibrio lleva a una búsqueda de
compromiso entre y a través de los niveles de
73
maquina
A Typical
Computer
System
74
37
Diseño para conseguir mejores
prestaciones ( I )
•Precio-> Disminuye; prestaciones y capacidad ->crece
• Aplicaciones de oficina que requieren de mayor potencia, y los
microprocesadores incluyen actualmente:
•Procesamiento de imágenes
•Reconocimiento del habla
•Aplicaciones multimedia
•Vídeo-conferencias
•Almacenamiento de ficheros de voz y vídeo
75
Diseño para conseguir mejores
prestaciones ( II )
•Estaciones de trabajo- >aplicaciones de ingeniería, ciencia y
simulaciones
•Negocios-> servidores para transacciones y bases de datos,
redes cliente-servidor que reemplazan los centros de computo
de antaño.
•Lo mas sorprendente: Bloques funcionales de hoy->similares
al IAS de hace 50 años
•Novedosas técnicas para maximizar las prestaciones o
rendimiento de un PC
76
38
Diseño para conseguir mejores
prestaciones ( III )
•Factores que hay tras la necesidad de diseñar para obtener mejores
prestaciones:
•1) Velocidad del Microprocesador: Su evolución continua confirmando
la Ley de Moore. Reduciendo el tamaño de las delgadas líneas de los
circuitos de los transistores de silicio ( 10 % por año) se podría crear una
nueva generación de chips cada tres años ( con el cuádruple de
transistores).
•En chips de memoria: Se ha cuadriplicado la capacidad de las DRAM
cada tres años (tecnología básica de la memoria principal).
•EN microprocesadores: La adición de nuevos circuitos y potenciación de
la velocidad, ha conseguido cuadruplicar o quintuplicar las prestaciones
cada tres años desde que INTEL lanzó su X86 en 1979.
77
Diseño para conseguir mejores
prestaciones ( IV )
1) Velocidad del microprocesador: Alcanzará su potencia: si
se lo alimenta con una corriente constante de instrucciones.
• Diseñadores del procesador elaboran técnicas cada vez más
sofisticadas:
• A) Predicción de ramificación: el procesador se anticipa al
software y predice que ramas o grupos de instrucciones se van
a procesar después con > probabilidad.
• B) Análisis de flujo de datos: las instrucciones se regulan
para ser ejecutadas cuando estén listas, independientemente
del orden original del programa. Evita retrasos innecesarios.
• C) Ejecución especulativa: utiliza las dos anteriores y ejecuta
instrucciones antes de que aparezcan en la ejecución del
programa. Los resultados en posiciones temporales.
78
39
Evolución de las características de DRAM y del
procesador
79
Diseño para conseguir mejores
prestaciones ( V )
2) Equilibrio de prestaciones: Ajustar la organización y la arquitectura para
compensar las desigualdades de capacidad entre los distintos
componentes.
•
Interfaz entre el procesador y la memora principal: Crecimiento de la
velocidad del procesador y de la capacidad de memoria, la velocidad de
transferencia de datos entre ellos ha quedado retrasada.
•
Si la interfaz o la memoria no mantienen el ritmo de las demandas del
procesador se pierde tiempo valioso de procesamiento.
•
Maneras de atacar desde la arquitectura:
a) Incrementar el nro. de bits que se recuperan de una sola vez haciendo las
DRAM más “anchas”.
80
b) Cambiar la interfaz DRAM incluyendo una cache u otro esquema de
almacenamiento temporal en el chip DRAM
40
Diseño para conseguir mejores
prestaciones ( VI )
c)
Reducir la frecuencia del acceso a memoria incorporando, caches cada
vez más complejas y eficientes. Una o más caches en el chip del
procesador, así como una cache fuera del chip cerca del procesador.
d) Incrementar el ancho de banda entre el procesador y la memoria
usando buses de más alta velocidad
3. Otra área de diseño se basa en el manejo de dispositivos de E/S.
•
Estos dispositivos crean una tremenda demanda de procesamiento de
datos.
•
Procesadores actuales: pueden manejar los datos producidos por esos
dispositivos, pero el problema es mover los datos entre el procesador y
los periféricos ( estrategias de caches y almacenamiento, buses de
interconexión de + alta velocidad, uso de configuraciones
81
multiprocesador.)
Diseño para conseguir mejores
prestaciones ( VII)
• Requerimientos típicos de ancho de banda para distintas tecnologías de
periféricos
Gráficos
Color de 24 bits
Ancho de banda
requerido
30 MBytes/seg.
Red de área local
100BASEX
12 MBytes/seg.
Periférico
Tecnología
Controlador de disco SCSI o P1394
10 MBytes/seg.
Video de movimiento 1024x768@30fps 67 + MBytes/seg
82
Completo
41
Diseño para conseguir mejores
prestaciones ( VII )
Diseñadores: en la búsqueda del equilibrio entre la demanda de
rendimiento y procesamiento por parte de los componentes del
procesador, la memoria principal, los dispositivos de E/S y las
estructuras de interconexión.
El diseño se debe enfrentar a dos factores en constante
evolución:
La velocidad de cambio del rendimiento de las distintas áreas
tecnológicas ( procesador, buses, memoria y periféricos) es
enormemente diferente entre ellos.
Nuevas aplicaciones y nuevos dispositivos periféricos
introducen nuevas demandas con respecto de las instrucciones
típicas y el modelo de acceso a datos.
83
Evolución del Pentium y del PowerPC
Pentium: Décadas de esfuerzo en diseño de computadores de
repertorio complejo de instrucciones (CICS) .
PowerPC: descendiente directo del primer sistema RISC, el IBM
801. Se usa en millones de máquinas Apple Macintosh y en
sistemas con microprocesadores embebidos.
Familia de PowerPC:
a) 601: máquina de 32 bits (1993) .
b) 603: para computadores portátiles y de sobremesa. Máquina de 32 bits,
pero de costo mas bajo e implementación mas eficiente.(1994).
c) 604: computadores de sobremesa y servidores finales. 32 bits pero
técnica más avanzadas.
d) 620: para servidores finales, arquitectura de 64 bits.
e) 740/750: G3 – 1997 – Integra dos niveles de cache en el chip del
procesador principal.
f) G4: 1999 – Incrementa el paralelismo y la velocidad interna del chip84 del
procesador.
42
Arquitectura y organización de
computadoras- 2011
Bibliografía:
Stallings, Williams - Organización y Arquitectura de
Computadoras - 5º Ed. - Prentice Hall. Año 2000
Murdocca, Miles J. - Principios de arquitectura de
computadoras - 1º Ed. - Prentice Hall - Año 2002
Martinez Garza, Jaime; Olivera Rodríguez J.A. Organización y Arquitectura de Computadoras - 1º Ed. Pearson Educacion - Año 2000.
Facultad de Ciencias Exactas y Naturales y Agrimensura
Lic. V. Godoy .-
85
Arquitectura y organización de
computadoras- 2011
Tareas complementarias:
Leer item 1.8. Estudio de un caso. Pag. 14 a 17 del
libro: Murdocca, Miles J. - Principios de arquitectura de
computadoras - 1º Ed. - Prentice Hall - Año 2002
Pensar y resolver el problema:
De acuerdo a lo
propuesto por La ley de Moore (la potencia de
computación se duplica cada 18 meses) , que se atribuye
al creador de Intel, surge que las instrucciones de punto
flotante se ejecutan en forma circuital cien veces mas
rápido que cuando se las emula. Usando la ley de Moore
como guía: Cuanto tiempo le llevará a la potencia de
computación crecer a punto tal que las instrucciones de
pto flotante se emulen tan rápido como sus anteriores
contrapartidas en el hardware?
86
43
Descargar