1
Arquitectura y Organización de Computadoras
Régimen de Promoción•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.
•Defensa y Aprobación del trabajo grupal monográfico presentado, con 7 o más.
2
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.
3
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.
•Prof. Ing. Jorge Veglia
•Prof. Lic. Viviana Godoy
•P.U.A. Pedro Pujol y P.U.A. Silvina Podestá
4
Arquitectura y Organización de Computadoras
Actividad Fecha Horario Docente responsable
Primer parcial Lunes 07/05 Clase teoría-práctica Godoy – Veglia
Recuperatorio Primer
Parcial
Miércoles 16/05 Clase teoría --
practico
Godoy
Segundo parcial Lunes 18/06 Clase práctica Godoy – Veglia
Entrega Trabajo de
Monografía
21/6 y 27/6 Clase teoría-practica Godoy – Veglia
Recuperatorio Segundo
Parcial
Lunes 25/06 Clase práctica Veglia–
Extraordinario 29/06 Clase practica Godoy-Veglia
5
Computadora• Máquina
• Digital
• Sincrónica
• Cálculo Numérico
• Calculo lógico
• Controlada por programa
• Comunicación con el mundo exterior
6
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
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
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
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 el 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
Visión funcional de un computador
Sistema
Transfere
ncia de
datos
Mecanismo
de Control
Recurso de
almacenamiento
de datos
Recurso de
Procesamiento de
Datos
Entorno Operativo
(Fuente y destino
de datos
15
Operaciones (1)
• Transferencia de datos – e.g. keyboard to screen
Transfere
ncia de
datos
Mecanismo
de control
Almacenamiento
Procesamiento
16
Operaciones (2)
• Almacenamiento– e.g. Internet download to disk
Sistema
transferen
cia de
datos
Mecanismo
de Control
Almacenamiento
Procesamiento
17
Operaciones (3)• Procesamiento de/hacia almacenamiento
– e.g. Actualizacion de estados bancarios
Transfere
ncia de
datos
Mecanismo de
Control
Almacenamiento
Procesamiento
18
Operaciones (4)• Procesamiento desde almacenamiento a E/S
– Ej. Impresión de estados bancarios.
Transfere
nciaMecanismo de
Control
Almacenamiento
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 deuso general de computadores, en la cual toda la especializacion funcional ocurre cuando se programa y no cuando se diseña”.
(SIEW82)
20
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 entre la CPU, la memoria y la E/S.
21
Estructura del nivel superior
Computer
Main
Memory
Input
Output
Systems
Interconnection
Peripherals
Communication
lines
Central
Processing
Unit
Computer
22
23
Estructura de la CPU
Computer Arithmetic
and
Login Unit
Control
Unit
Internal CPU
Interconnection
Registers
CPU
I/O
Memory
System
Bus
CPU
24
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
Estructura de la Unidad de Control
• Unidad de Control: Controla el funcionamiento de la CPU y por tanto de la computadora.
• Implementación microprogramada , actua ejecutando microinstrucciones que definen su funcionalidad.
• Su estructura – Memoria de control
– Lógica Secuencial
– Registros y decodificadores
27
28
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
Manchester University Mark I
(Source: http://www.paralogos.com/DeadSuper)
• 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.
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
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 memoria es la tercera parte especifica del dispositivo ( M ).
33
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
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
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 una palabra procedente de memoria
37
(a ) Palabra número
(b ) Palabra instrucción
1
Bit de signo
Dirección Codop DirecciónCodop
0 8 19 20 28 39
0 39
Formatos de la memoria IAS
38
Estructura Expandida del IAS
Memoria
Principal
M
Unidad Aritmetico-Logica
Unidad de control de programa
Equipo de
Entrada
Salida
MBR
Circuitos aritmeticos logico
MQAccumulator
MAR
Circuitos de
control
IBR
IR
PC
Direcciones
Datos
Instruciones
Unidad Central de Procesamiento
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 leída en MBR.
40
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
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
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 codigos de operación de 24 a 185.
• Diferencias con IAS:– A) Uso de canales de datos.
– 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
Generaciones de computadores
Generación Fechas Tecnología Velocidad típica
1 1946-1957 Válvulas 40.000
2 1958-1964 Transistores (componente discreto)
200.000
3 1965-1971 Pequeña y mediana integración
1.000.000
4 1972-1977 Gran integración 10.000.000
5 1978 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
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
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-> incrementandose 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
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
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
OMNIBUS
Console
ControllerCPU Main Memory I/O
ModuleI/O
Module
56
Ú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 de la densidad.
58
Ú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.
• A finales de los 70, aparecen los de 16 bits (8086).
59
4004 8008 8080 8086 8088
Fecha de
introducción 15/11/71 1/4/72 1/4/74 8/6/78 1/6/79
Velocidad de
reloj 108KHz 108KHz 2 MHz
5 MHz,
8 MHz,
10 MHz
5 MHz,
8 MHz
Anchura del
bus 4 bits 8 bits 8 bits 16 bits 8 bits
Número de
transistores
(microns)
2300
(10) 3.500
6.000
(6)
29.000
(3)
29.000
(3)
Memoria
direccionable 640 bytes
16
kbytes
64
kbyte 1 Mbyte 1 Mbyte
Memoria
virtual - - - - -
Procesadores de la década de los 70
60
80286 In te l
386T M
D X
In tel386 T
M SX
In tel486 T
M D X
C P U
Fecha de
in trod ucción1 /2 /82 17 /10 /85 16 /6 /88 10 /4 /89
V elocidad de
relo j
6 M H z –
12 ,5 M H z
16 M H z
33 M H z
16 M H z
33 M H z
25 M H z,
50 M H z,
A nchura del
bus16 b its 32 b its 16 b its 32 b its
N úm ero de
transisto res 134 .000
(1 ,5 )
275 .00 0
(1 )
275 .000
(1 )
1 ,2
m illones
(0 ,8 -1 )
M em oria
d ireccio nab le
16
m egab ytes
4
gigab ytes
4
gigab ytes
4
gigab ytes
M em oria
virtual1 g igabyte
64
terabytes
64
terabytes
64
terabytes
Procesadores de la década de los 80
61
Intel486TM
SX
Pentium
Procesador
Pentium
Pro
Procesador
Pentium II
Procesador
Fecha de
introducción 22/4/91 22/3/93 1/11/95 7/5/97
Velocidad de
reloj
16 MHz –
33 MHz
16 MHz
33 MHz
16 MHz
33 MHz
25 MHz, 50
MHz,
Anchura del
bus 32 bits 32 bits 64 bits 64 bits
Número de
transistores
1.185
millones
(1,5)
3,1 millones
(,8)
5,5 millones
(0,6) 7,5 millones
Memoria
direccionable
4
megabytes
4
gigabytes
64
gigabytes
64
gigabytes
Memoria
virtual
64
gigabytes 64 terabytes 64 terabytes 64 terabytes
Procesadores de la década de los 90
62
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• En la arquitectura suele emplearse un concepto de
niveles.
•Idea básica: existencia de muchos niveles, desde los
cuales considerar a la computadora.
•Desde el nivel más alto en que el usuario ejecuta
programas, hasta el nivel inferior que consiste en
transistores y cables.
64
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.
65
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 ejecutaPoco o nada visible la estructura interna
66
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 instruccionesNo 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).
67
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 expresiones formadas por unos y ceros.
68
Niveles de máquina ( 4) • “Compatibilidad binaria”: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.
69
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 MicroprogramadoCablear: señales de control que efectuan la transferencia entre registros y están generadas a partir de un bloque de componentes lógicos digitales. Ventajas: Velocidad y cantidad de componentesDesventajas: Extremadamente dificiles de diseñar.
70
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.
71
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.
72
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.
73
Niveles de máquina (8)•Interacciones entre niveles. Suele confundirse en forma frecuenteProgramas emuladores: Emulan el juego completo de instrucciones de una computadora sobre otra computadora distinta. Computadores que no tienen coprocesador de punto flotante emulan las instrucciones de punto flotante por medio de una serie de rutinas implementadas en el leng. 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 leng.a alto nivel y los niveles de firmware y de las unidades funcionales pueden estar tan entrelazados que resulte difícil identificar que operación se está produciendo en qué nivel
74
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 maquina
75
A Typical Computer System
76
Diseño para conseguir mejores prestaciones ( I )
•Precio-> Disminuye; prestaciones y capacidad ->crece
• Aplicaciones de oficina que requieren de mayor potencia de los microprocesadores incluyen:
•Procesamiento de imágenes
•Reconocimiento del habla
•Aplicaciones multimedia
•Vídeo-conferencias
•Almacenamiento de ficheros de voz y vídeo
77
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
78
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.
79
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.
80
Evolución de las características de DRAM y del
procesador
81
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”.
b) Cambiar la interfaz DRAM incluyendo una cache u otro esquema de almacenamiento temporal en el chip DRAM
82
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 multiprocesador.)
83
Diseño para conseguir mejores prestaciones ( VII)
• Requerimientos típicos de ancho de banda para distintas tecnologías de periféricos
PeriféricoTecnología Ancho de banda
requerido
Gráficos Color de 24 bits 30 MBytes/seg.
Red de área local 100BASEX 12 MBytes/seg.
Controlador de disco SCSI o P1394 10 MBytes/seg.
Video de movimiento Completo
1024x768@30fps 67 + MBytes/seg
84
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.
85
Evolución del Pentium y del PowerPCPentium: 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 chip del procesador.
86
Arquitectura y organización de computadoras- 2012
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 .-
87
Arquitectura y organización de computadoras- 2012
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?
Top Related