Está en la página 1de 44

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
1
presentado, con 7 o más.

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
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á
3

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 Miércoles 16/05 Clase teoría -- Godoy


Parcial practico

Segundo parcial Lunes 18/06 Clase práctica Godoy – Veglia

Entrega Trabajo de 21/6 y 27/6 Clase teoría-practica Godoy – Veglia


Monografía
Recuperatorio Segundo Lunes 25/06 Clase práctica Veglia–
Parcial

Extraordinario 29/06 Clase practica Godoy-Veglia


4
Computadora
• Máquina
• Digital
• Sincrónica
• Cálculo Numérico
• Calculo lógico
• Controlada por programa
• Comunicación con el mundo exterior

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?
6
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 ?
7

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
8
• 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.

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

10
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
11

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.).

12
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)
13

Visión funcional de un computador

Recurso de
almacenamiento
de datos

Entorno Operativo
Sistema
Mecanismo
(Fuente y destino Transfere
de Control
ncia de
de datos datos

Recurso de
Procesamiento de
Datos

14
Operaciones (1)
• Transferencia de datos
– e.g. keyboard to screen Almacenamiento

Transfere
Mecanismo
ncia de
de control
datos

Procesamiento

15

Operaciones (2)
• Almacenamiento
– e.g. Internet download to disk Almacenamiento

Sistema
Mecanismo
transferen
de Control
cia de
datos

Procesamiento

16
Operaciones (3)
• Procesamiento de/hacia almacenamiento
– e.g. Actualizacion de estados bancarios
Almacenamiento

Transfere
Mecanismo de
ncia de
Control
datos

Procesamiento

17

Operaciones (4)
• Procesamiento desde almacenamiento a E/S
– Ej. Impresión de estados bancarios.
Almacenamiento

Transfere
Mecanismo de
ncia
Control

Procesamiento

18
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)

19

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 20
entre la CPU, la memoria y la E/S.
Estructura del nivel superior

Peripherals Computer

Central Main
Processing Memory
Unit

Computer
Systems
Interconnection

Input
Output
Communication
lines
21

22
Estructura de la CPU

CPU

Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection

Control
Unit

23

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.
24
25

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
26
– Registros y decodificadores
27

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.
28
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 29

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)
30
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
31

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
32
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 )
33

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.

34
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.

35

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
36
una palabra procedente de memoria
Formatos de la memoria IAS
0 1 39

Bit de
signo (a ) Palabra número

0 8 19 20 28 39

Codop Dirección Codop Dirección

(b ) Palabra instrucción
37

Estructura Expandida del IAS


Unidad Central de Procesamiento
Unidad Aritmetico-Logica

Accumulator MQ

Circuitos aritmeticos logico

Equipo de MBR
Entrada Datos
Salida Instruciones Memoria
Principal
M
IBR PC
MAR
IR Circuitos de
control
Direcciones 38
Unidad de control de programa
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
39
leída en MBR.

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

40
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.

41

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 ).
42

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.
43

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).
44
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.
45

Generaciones de computadores
Generación Fechas Tecnología Velocidad
típica
1 1946-1957 Válvulas 40.000

2 1958-1964 Transistores (componente 200.000


discreto)
3 1965-1971 Pequeña y mediana 1.000.000
integración
4 1972-1977 Gran integración 10.000.000

5 1978 Alta integración 100.000.000


46
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. 47

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. 48
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. 49

Evolución del nro de transistores en los procesadores

50
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 51las
conexiones soldadas.

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
52
– Costo creciente
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.
53

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.
54
DEC - PDP-8 Bus Structure

Main Memory I/O I/O


Console CPU Module Module
Controller

OMNIBUS

55

Ú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.

56
Ú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. 57

Ú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.
58
• A finales de los 70, aparecen los de 16 bits (8086).
Procesadores de la década de los 70
4004 8008 8080 8086 8088
Fecha de
15/11/71 1/4/72 1/4/74 8/6/78 1/6/79
introducción
5 MHz,
Velocidad de 5 MHz,
108KHz 108KHz 2 MHz 8 MHz,
reloj 8 MHz
10 MHz
Anchura del
4 bits 8 bits 8 bits 16 bits 8 bits
bus
Número de
2300 6.000 29.000 29.000
transistores 3.500
(10) (6) (3) (3)
(microns)
Memoria 16 64
640 bytes 1 Mbyte 1 Mbyte
direccionable kbytes kbyte
Memoria
- - - - -
virtual
59

Procesadores de la década de los 80

80286 In te l In te l38 6 T In te l48 6 T


386TM M SX M DX
DX CPU
F ec h a d e
1 /2 /8 2 1 7 /1 0 /8 5 1 6 /6 /8 8 1 0 /4 /8 9
in trod u cció n
2 5 M H z,
V elo c id ad d e 6 MHz – 16 M H z 16 M H z
relo j 1 2 ,5 M H z 3 3 M H z 33 M H z 5 0 M H z,
A n c h u ra d el
1 6 b its 3 2 b its 1 6 b its 3 2 b its
bus
N ú m ero d e 1 ,2
1 3 4 .0 0 0 2 75 .00 0 2 7 5 .0 0 0
tran sisto res m illo n es
(1 ,5 ) (1 ) (1 )
(0 ,8 -1 )
M em o ria 16 4 4 4
d irecc io n ab le m e g ab yte s gig ab ytes g ig ab ytes g ig ab ytes
M em o ria 64 64 64
1 g ig ab yte
virtu a l te rab yte s terab yte s terab yte s
60
Procesadores de la década de los 90
Intel486TM Pentium Pentium Pentium II
SX Procesador Pro Procesador
Procesador
Fecha de
22/4/91 22/3/93 1/11/95 7/5/97
introducción
25 MHz, 50
Velocidad de 16 MHz – 16 MHz 16 MHz
reloj 33 MHz 33 MHz 33 MHz MHz,
Anchura del
32 bits 32 bits 64 bits 64 bits
bus
Número de 1.185
3,1 millones 5,5 millones
transistores millones 7,5 millones
(,8) (0,6)
(1,5)
Memoria 4 4 64 64
direccionable megabytes gigabytes gigabytes gigabytes
Memoria 64
64 terabytes 64 terabytes 64 terabytes
virtual gigabytes

61

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.

62
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. 63

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.

64
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

65

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).
66
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. 67

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.

68

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 y 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. 69

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.

70
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.

71

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 72

nivel.
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 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 73
operación se está produciendo en qué nivel

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 74
A Typical
Computer
System

75

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
76
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

77

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.
78
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. 79

Evolución de las características de DRAM y del


procesador

80
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
81

almacenamiento temporal en el chip DRAM

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 82
multiprocesador.)
Diseño para conseguir mejores
prestaciones ( VII)
• Requerimientos típicos de ancho de banda para distintas tecnologías de
periféricos
Tecnología Ancho de banda
Periférico
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 1024x768@30fps 67 + MBytes/seg


83
Completo

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.
84
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 chip85 del
procesador.

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 .- 86
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? 87

También podría gustarte