Вы находитесь на странице: 1из 67

Conceptos Generales relacionados al

Computador Digital
ARQUITECTURA DE COMPUTADORAS
Objetivos
Al finalizar esta unidad el alumno ser capaz de:
Identificar las partes bsicas de un computador.
Diferenciar los tipos de arquitectura de
computador Von Neumann y Harvard.
Reconocer estos tipos de arquitectura en diversos
computadores presentes en el mercado.
Identificar cuando resulta ms conveniente una
arquitectura frente a la otra.
Diferenciar los tipos de arquitectura de procesador
CISC y RISC.
Reconocer estos tipos de arquitectura en diversos
computadores presentes en el mercado.
Identificar ventajas y desventajas de una arquitectura
frente a la otra.
Refutar falsas ideas popularmente aceptadas con
respecto al uso de estas arquitecturas.
Objetivos
Al finalizar esta unidad el alumno ser capaz de:
Identificar la forma como evolucion el
computador a lo largo de los aos.
Emplear nociones bsicas sobre la memoria
semiconductora.
Manejar adecuadamente la terminologa asociada.
Comparar adecuadamente las capacidades de
almacenamiento de diferentes tipos de memoria.
Conceptos Generales relacionados
al Computador Digital
13.1 Concepto de Organizacin y
Arquitectura.
13.2 Modelo de Von Neumann: Mdulos
bsicos: Caractersticas y
elementos del CPU.
13.3 Rendimiento: CPI, MIPS, MFLOPS
El computador digital
El computador digital.
Por qu resulta un reto presentar la
naturaleza y caractersticas de los
computadores de hoy en da?

La tremenda variedad de
computadores.

La vertiginosa velocidad con la que
cambia la tecnologa asociada al
computador.
El computador digital.
Existen dos subreas en que se
descompone el estudio de un
computador: la Arquitectura de
Computadoras y la Estructura (u
Organizacin) de Computadoras.

El conocimiento de la arquitectura es
imprescindible para estudiar la
estructura que la implementa.
Computador Digital:
Arquitectura y Organizacin.
La arquitectura del computador se
refiere a aquellos atributos de un
sistema visibles al programador de
lenguaje de mquina o, lo que es lo
mismo, aquellos atributos que tienen
un impacto directo en la ejecucin
lgica de un programa.
Computador Digital:
Arquitectura y Organizacin.
La organizacin del computador se
refiere a las unidades operacionales y
sus interconexiones las mismas que
permiten realizar las especificaciones
arquitectnicas.
Ejemplos de atributos de la
arquitectura del computador.
Juego de Instrucciones.
Nmero de bits usado para
representar varios tipos de datos
(nmeros, caracteres).
Mecanismos de E/S.
Tcnicas de direccionamiento de
memoria (modos de
direccionamiento).
Entre otros.
Ejemplos de atributos
organizacionales del computador.
Seales de control.
Interfaces entre el computador y los
perifricos.
Tecnologa aplicada al tipo de
memoria usada.
Entre otros.
Un computador es un sistema
complejo.
Los computadores actuales contienen
millones de componentes electrnicos
bsicos.
Computador digital:
Estructura y Funcin.
Reconocer la naturaleza
jerrquica del computador.
Computador digital:
Estructura y Funcin.
Un sistema jerrquico es un conjunto
de sistemas interrelacionados, cada
uno de los cuales se organiza a su
vez en una estructura jerrquica, uno
tras otro, hasta que alcanza el nivel
ms bajo de subsistema elemental.

La naturaleza jerrquica de los
sistemas complejos es esencial tanto
para el diseo como para su
descripcin.
Computador digital:
Estructura y Funcin.
El diseador necesita slo preocuparse
por un nivel particular del sistema a la
vez.
En cada nivel, el sistema consiste de un
conjunto de componentes y sus
interrelaciones.
El comportamiento de cada nivel
depende slo de una simplificada
abstraccin del sistema en el siguiente
nivel inferior.
En cada nivel, el diseador se preocupa
de la estructura y funcin de ese nivel.
Computador digital:
Estructura y Funcin.

Estructura: la manera en la cual los
componentes se relacionan.

Funcin: la operacin de cada
componente como parte de la
estructura.

Computador digital:
Funcin del computador.

Procesamiento de datos.

Almacenamiento de datos.

Transferencias de datos.

Control.
Computador digital:
Funcin del computador.
Mecanismo
de
control
Sistema de
transferencia
de datos
Recurso de
procesamiento
de datos
Recurso de
almacenamiento
de datos
A
m
b
i
e
n
t
e

o
p
e
r
a
c
i
o
n
a
l

Computador digital:
Funcin del computador.
Mecanismo
de
control
Sistema de
transferencia
de datos
A
m
b
i
e
n
t
e

o
p
e
r
a
c
i
o
n
a
l

El computador puede funcionar como un
dispositivo de transferencia de datos
Computador digital:
Funcin del computador.
Mecanismo
de
control
Sistema de
transferencia
de datos
Recurso de
almacenamiento
de datos
A
m
b
i
e
n
t
e

o
p
e
r
a
c
i
o
n
a
l

El computador puede funcionar como
dispositivo de almacenamiento de datos
Computador digital:
Funcin del computador.
Mecanismo
de
control
Sistema de
transferencia
de datos
Recurso de
procesamiento
de datos
Recurso de
almacenamiento
de datos
A
m
b
i
e
n
t
e

o
p
e
r
a
c
i
o
n
a
l

El computador puede ejecutar
operaciones que implican
procesamiento de datos
Computador digital:
Funcin del computador.
Mecanismo
de
control
Recurso de
procesamiento
de datos
Recurso de
almacenamiento
de datos
El computador puede ejecutar
operaciones que implican
procesamiento de datos
Computador digital:
Funcin: Procesamiento.

Los datos pueden tomar una gran
variedad de formas.
El rango de procesamiento es amplio.

Sin embargo:
Existen slo unos pocos mtodos o
tipos fundamentales de
procesamiento de datos.
Computador digital:
Funcin: Almacenamiento.

Es esencial que un computador pueda
almacenar datos.

En la mayora de los casos resulta
muy importante la capacidad de
almacenamiento de datos por largos
perodos de tiempo.
Computador digital:
Funcin: Desplazamiento.

Debe ser capaz de desplazar datos
hacia y desde el ambiente exterior.

El ambiente operacional del
computador est conformado de
dispositivos que sirven como fuente
de datos o como destino de stos.
Computador digital:
Funcin: Desplazamiento.
Cuando los datos son recibidos o
enviados a un dispositivo que est
directamente conectado al
computador, el proceso se denomina
de entrada-salida (I/O, input-output), y
el dispositivo se conoce como
perifrico.
Cuando los datos son desplazados
grandes distancias, de o hacia un
dispositivo remoto, el proceso se
conoce como comunicacin de datos.
Computador digital:
Funcin: Control.

El computador debe poder controlar
estas tres funciones.
El control es ejercido por las personas
mediante instrucciones.
Una unidad de control administra los
recursos del computador y gobierna
la ejecucin de sus partes funcionales
en respuesta de las instrucciones.
Computador digital:
Estructura del computador.
COMPUTADOR

Procesamiento.
Almacenamiento.
Arquitectura bsica de un
computador
Estructura bsica de un computador
Entrada/
Salida

Memoria
principal


CPU
COMPUTADOR

Interconexin
del sistema

Desplaza datos
entre el
computador y el
ambiente exterior
Algunos
mecanismos que
proporcionan la
comunicacin entre
el CPU, la memoria
principal e I/O
Almacena datos
Controla las
operaciones del
computador y
ejecuta sus
funciones de
procesamiento de
datos.
Arquitectura bsica de un
computador
Estructura bsica de un CPU
ALU

Registros


Unidad de
control
CPU

Interconexin
interna del CPU

Ejecuta las
funciones de
procesamiento de
datos del
computador
Algunos
mecanismos que
proporcionan la
comunicacin
entre la unidad de
control, ALU y
registros
Proporciona
almacenamiento
interno al CPU
Controla las
operaciones del
CPU, y por ende, el
computador
Evolucin de las arquitecturas:
Von Neumann vs Harvard.
Tipos de Arquitectura de Computador
CPU
Memoria de
Programa
Memoria de
Datos

ARQUITECTURA HARVARD
n m
CPU
Memoria de
Datos y
Programa
ARQUITECTURA VON NEUMANN
n
Evolucin de las arquitecturas:
Arquitectura Von Neumann.
La memoria mantiene instrucciones y
datos.
Ms flexible y fcil de implementar.
Tpicamente utilizada para
procesadores de propsito general
(por ejemplo Pentium utiliza
arquitectura Von Neumann para la
memoria externa y arquitectura
Harvard para su memoria cach
interna).
Evolucin de las arquitecturas:
Arquitectura Harvard.
Usa mdulos de memoria separados
para instrucciones y para datos.
Permite una fcil implementacin del
pipeline.
No puede utilizar cdigos para auto
modificacin (self-modifying code).
Permite las ms altas tasas de
transferencia con la memoria.
Adecuado para DSP (Digital Signal
Processors).
Evolucin de los procesadores:
CISC vs RISC.
Hay quienes consideran que en breve
los microprocesadores RI SC (reduced
instruction set computer) sustituirn a
los CI SC (complex instruction set
computer), pero existe el hecho que los
microprocesadores CI SC tienen un
mercado de software muy difundido

Evolucin de los procesadores:
CISC vs RISC.
CISC (Complex Instruction Set
Computer).
Normalmente utiliza arquitectura Von
Neumann clsica.
Mltiples instrucciones (mayor a 100). Por
ejemplo, Intel x86 posee alrededor de 700
instrucciones.
Mltiples mtodos de direccionamiento.
Muchas instrucciones poderosas para
implementar ms directamente instrucciones
de alto nivel.
Teora: pocas instrucciones mquina
involucran tiempos de ejecucin pequeos.
Evolucin de los procesadores:
CISC vs RISC.
CISC (Complex Instruction Set
Computer).
La microprogramacin es una caracterstica
importante y esencial de casi todas las
arqutecturas CISC (la microprogramacin
significa que cada instruccin de mquina es
interpretada por un microprograma localizado
en una memoria en el circuito integrado del
procesador).
Algunos procesadores que usan arquitectura
CISC:
Intel 8086, 8088, 80286, 80386, 80486.
Motorola 68000, 68010, 68020, 68030, 6840.
Evolucin de los procesadores:
CISC vs RISC.
RISC (Reduced Instruction Set
Computer).
Pocas instrucciones (menor a 50).
Pocos mtodos de direccionamiento (slo
directo e indirecto).
Modelo de conjunto de instrucciones
Load/Store (Cargar/Almacenar).
Arquitectura no destructiva de tres
direcciones.
Ausencia de microcdigo.
Ejecucin en conductos (pipelined).
Ejecucin en ciclos nicos (single-cycle).
La Unidad Central de
Procesamiento (CPU)
Se denomina CPU (siglas de Central
Processing Unit) o Unidad Central de
Procesamiento a la unidad donde se
ejecutan las instrucciones de los
programas y se controla el
funcionamiento de los distintos
componentes del computador.
Suele estar integrada en un chip
denominado microprocesador.
La Unidad Central de
Procesamiento (CPU)
Al ejecutar los programas
almacenados en la memoria, el CPU
realiza repetitivamente el siguiente
proceso:
Lectura de la instruccin (fetch)
Decodificacin (interpretacin)
Lectura operandos (datos)
Ejecucin
Escritura del resultado
La Unidad Central de
Procesamiento (CPU)
Est dividida a su vez en las
siguientes unidades:
Unidad de proceso, compuesta por:
o Unidad Aritmtico-Lgica
o Registros (almacn de datos a corto plazo)
Unidad de control
La Unidad de Control
La unidad de control le indica al resto
del sistema como llevar a cabo las
instrucciones de un programa.
Comanda las seales electrnicas entre
la memoria y la unidad aritmtico-lgica,
y entre el CPU y los dispositivos de
entrada y salida.
El conjunto de instrucciones estn
incorporadas en la unidad de control
y enumeran todas las operaciones
que puede realizar el CPU.
La Unidad de Control
Cada instruccin de este conjunto de
instrucciones es expresado en una
serie de operaciones bsicas llamadas
microcdigo o microprograma, que le
dicen al CPU cmo realizar
operaciones ms complejas.
Cuando se ejecuta un programa, se lleva
a cabo un proceso a gran velocidad por
el cual el CPU traduce a microcdigo
cada instruccin del programa.
Unidad Aritmtico-Lgica
El procesamiento practicado a los datos en
una computadora involucra en gran medida
operaciones de comparacin y aritmtica
puesto que esos datos se almacenan como
nmeros o cdigo binario.
Las operaciones lgicas se refieren a
comparaciones, como determinar si un
nmero es igual, mayor o menor que otro.
Las operaciones aritmticas se refieren a la
suma, resta, multiplicacin y divisin.
Medidas de rendimiento de un
procesador.
Cundo se dice que un computador
tiene un mejor desempeo que otro?.
Si un programa se ejecuta en dos diferentes
computadores, se dira que es aquel que
termina el trabajo primero.
En un centro de computo que cuente con
dos grandes computadores ejecutando
tareas proporcionadas por muchos usuarios,
se dira que es aquel que completa la mayor
cantidad de tareas durante el da.
Medidas de rendimiento de un
procesador.
Un usuario de computadoras estar
interesado en reducir la respuesta en
el tiempo -el tiempo entre el inicio y
la finalizacin de la tarea- tambin
llamado tiempo de ejecucin.
Un administrador de un centro de
cmputo estar interesado en mejorar
la productividad -throughput, la
cantidad total de trabajo hecho en un
tiempo dado- a veces denominado
ancho de banda.
Medidas de rendimiento de un
procesador.
Ejemplo 1.
Los siguientes cambios al sistema de un
computador incrementan su
productividad, disminuyen la respuesta
en el tiempo, o ambos?
1. Remplazar el procesador en un computador
con una versin ms rpida.
2. Agregar procesadores adicionales a un
sistema que usa mltiples procesadores
para tareas separadas.
Solucin.
Medidas de rendimiento de un
procesador.
Para maximizar el desempeo,
queremos minimizar el tiempo de
respuesta o el tiempo de ejecucin
para alguna tarea.
Podemos relacionar desempeo y
tiempo de ejecucin para una mquina
X:
X
X
ejecucin de Tiempo
1
o Rendimient =
Medidas de rendimiento de un
procesador.
Usaremos la expresin X es ms
rpida que Y en un factor de n, si:
n
ejecucin de Tiempo
ejecucin de Tiempo
o Rendimient
o Rendimient
X
Y
Y
X
= =
Medidas de rendimiento de un
procesador.
Usaremos la expresin X es m% ms
rpida que Y, si:
100%
m%
ejecucin de Tiempo
ejecucin de Tiempo
o Rendimient
o Rendimient
X
Y
Y
X
+ = = 1
Medidas de rendimiento de un procesador:
Tiempo.
El tiempo es la medida del rendimiento
de un computador: el computador que
realiza la misma cantidad de trabajo en
el menor tiempo, es el ms rpido.
El tiempo de ejecucin de un programa
es medido en segundos por programa.
El rendimiento se mide frecuentemente
como una frecuencia de eventos por
segundo.
Medidas de rendimiento de un procesador:
Tiempo.
El tiempo puede ser definido de
diferentes maneras.
La definicin ms directa de tiempo se
denomina tiempo de reloj (wall-clock
time), tiempo de respuesta, o tiempo
transcurrido (elapsed time). Estos
trminos implican el tiempo total para
completar una tarea, incluyendo
accesos a discos, accesos a memoria,
actividades de E/S, gastos del sistema
operativo.
En sistemas multitarea, es necesario un
trmino que distinga entre tiempo
transcurrido y el tiempo que el procesador
est trabajando en nuestro favor.
El tiempo de CPU (CPU execution time o
simplemente CPU time), es el tiempo que el
CPU invierte en procesar el programa (tarea)
y no incluye el tiempo gastado en esperar
por la E/S o ejecutar otros programas.
Recordar que la respuesta en el tiempo
experimentada por el usuario ser el tiempo
transcurrido (elapsed time), no el tiempo de
CPU.
Medidas de rendimiento de un procesador:
Tiempo.
Medidas de rendimiento de un procesador:
Tiempo de CPU del usuario y del sistema.
El tiempo de CPU se puede dividir en el
tiempo gastado en el programa,
llamado tiempo de CPU del usuario, y
en el tiempo gastado por el sistema
operativo en ejecutar tareas a favor del
programa, llamado tiempo de CPU del
sistema.
Medidas de rendimiento de un procesador:
Rendimiento del sistema y rendimiento del
CPU.
Se usar el trmino rendimiento del
sistema para referirnos al tiempo
transcurrido en un sistema no cargado.
Se usar el trmino rendimiento del
CPU para referirnos al tiempo de CPU
del usuario.
Medidas de rendimiento de un procesador:
Sobre la mtrica.
El tiempo de CPU para un programa
puede expresarse de dos maneras:
reloj de Frecuencia
programa un para CPU del reloj de Ciclos
programa un para
CPU de Ejecucin de Tiempo
reloj de ciclo un de Duracin x
programa un para
CPU del reloj de Ciclos
programa un para
CPU de Ejecucin de Tiempo
=
=
Medidas de rendimiento de un procesador:
Sobre la mtrica.
Muchas tcnicas que disminuyen el nmero
de ciclos de reloj tambin incrementan la
duracin del ciclo de reloj.
El compilador genera instrucciones mquina
y stas son las que reconoce y ejecuta el
CPU, por tanto resulta importante establecer
una relacin entre stas y el tiempo de
ejecucin.
n instrucci por reloj de
ciclos de nmero del Promedio
x
programa el en
nes instruccio de Nmero
programa un para
CPU de reloj de Ciclos

sima - i n instruccci la para
reloj de ciclos de Nmero
x
programa el en sima - i
n instrucci la de Frecuencia
programa un para
CPU de reloj de Ciclos
=
|
|
.
|

\
|
=

=
n
i 1
Medidas de rendimiento de un procesador:
Sobre la mtrica: CPI.
El CPI es un promedio de todas las
instrucciones ejecutadas en el programa.
El CPI proporciona una manera de comparar
dos diferentes implementaciones para la
misma arquitectura (mismo conjunto de
instrucciones), ya que el nmero de
instrucciones requeridas para un programa
ser el mismo.
reloj de Frecuencia
CPI x nes instruccio de Cuenta
CPU de
Tiempo
reloj de ciclo
de Duracin
x CPI x
nes instruccio
de Cuenta
CPU de
Tiempo
=
=
Medidas de rendimiento de un procesador:
Sobre la mtrica: CPI.
No se puede cambiar ninguna de ellas sin
tener que cambiar las dems, ya que las
tecnologas bsicas involucradas al cambiar
una caracterstica tambin son
interdependientes.
Frecuencia de reloj: Tecnologa asociada al
hardware y organizacin.
CPI: Organizacin y arquitectura a nivel del
lenguaje de mquina.
Nmero de instrucciones: Arquitectura del nivel
de lenguaje de mquina y tecnologa de
compiladores.
Medidas de rendimiento de un procesador:
Sobre la mtrica: CPI.
Al disear un CPU suele ser til expresar

=
|
|
.
|

\
|
=
n
i 1
sima - i n instruccci la para
reloj de ciclos de Nmero
x
programa el en sima - i
n instrucci la de Frecuencia
programa un para
CPU de reloj de Ciclos
( ) CPI x I
programa un para
CPU de reloj de Ciclos
i i
=
=
n
i 1
O lo que es lo mismo
Medidas de rendimiento de un procesador:
Acelerar el caso comn y Ley de Amdhal.
Quiz el principio ms importante y generalizado del
diseo de computadores sea acelerar el caso
comn: favorecer el caso frecuente sobre el poco
frecuente.
Este principio tambin se aplica cuando se
determina cmo emplear recursos: el impacto es
mayor si la ocurrencia acelerada es frecuente.
Esto ayudar a aumentar el rendimiento.
Este principio puede ser cuantificado mediante la
ley de Amdhal.

posible sea cuando mejora la utilizando completa tarea la de ejecucin de Tiempo
mejora la utilizar sin completa tarea la de ejecucin de Tiempo
(speedup)
o rendimient de n Aceleraci
mejora la utilizar sin completa tarea la de o Rendimient
posible sea cuando mejora la utilizando completa tarea la de o Rendimient
(speedup)
o rendimient de n Aceleraci
=
=
Medidas de rendimiento de un procesador:
Acelerar el caso comn y Ley de Amdhal.
La ley de Amdhal nos da una forma rpida
de calcular la aceleracin.
Depende de dos factores:
La fraccin del tiempo de clculo de la
mquina original que puede utilizarse para
aprovechar la mejora.
La optimizacin lograda por el modo de
ejecucin mejorado.
( )
( )
|
|
.
|

\
|
+
= =
|
|
.
|

\
|
+ =
mejorada
mejorada
mejorada
nuevo
antiguo
global
mejorada
mejorada
mejorada antiguo nuevo
n Aceleraci
Fraccin
Fraccin 1
ejecucin de Tiempo
ejecucin de Tiempo
n Aceleraci
n Aceleraci
Fraccin
Fraccin 1 ejecucin de Tiempo ejecucin de Tiempo
1
Medidas de rendimiento de un procesador:
MIPS y errores de utilizacin.
Una alternativa al tiempo como mtrica
son los MIPS, o millones de instrucciones
por segundo.
6
6 6
10 x MIPS
nes instruccio de Recuento
ejecucin de Tiempo
10 x CPI
reloj de Frecuencia
10 x ejecucin de Tiempo
nes instruccio de Recuento
MIPS
=
= =
Medidas de rendimiento de un procesador:
MIPS y errores de utilizacin.
Mquinas ms rpidas tendrn una mayor
frecuencia de MIPS.
El problema:
Los MIPS son dependientes del repertorio de
instrucciones, lo cual lo hace difcil la
comparacin de los MIPS de computadoras con
diferentes repertorios de instrucciones.
Los MIPS varan entre programas en el mismo
computador.
Los MIPS pueden variar inversamente al
rendimiento.
Medidas de rendimiento de un procesador:
MFLOPS y errores de utilizacin.
Otra alternativa popular son los MFLOPS, o
millones de instrucciones en punto flotante
por segundo.
6
10 x ejecucin de Tiempo
programa un de flotante punto de s operacione de Nmero
MFLOPS=
Una estimacin de MFLOPS depende de la
mquina y del programa.
Est basado en las operaciones en lugar de
en las instrucciones y se pens para que
fuera una comparacin buena entre
diferentes mquinas.
Segmentacin (pipelining).
Es una tcnica de implementacin por la cual
se solapa la ejecucin de mltiples
instrucciones.
La segmentacin es como una lnea de
ensamblaje: cada etapa de la segmentacin
completa una parte de la instruccin.
La productividad de la segmentacin est
determinada por la frecuencia con que una
instruccin salga del cauce.
Segmentacin (pipelining).
El tiempo requerido para desplazar una
instruccin, un paso, a lo largo del cauce es
un ciclo de mquina.
La duracin de un ciclo de mquina est
determinada por el tiempo que necesita la
etapa ms lenta (porque todas las etapas
progresan a la vez).
Con frecuencia, el ciclo de mquina es un
ciclo de reloj (a veces dos, o raramente
ms), aunque el reloj puede tener mltiples
fases.
Segmentacin (pipelining).
La segmentacin consigue una reduccin en
el tiempo de ejecucin medio por
instruccin.
Esta reduccin se puede obtener
disminuyendo la duracin del ciclo de reloj
de la mquina segmentada o disminuyendo
el nmero de ciclos de reloj por instruccin,
o haciendo ambas cosas.
La segmentacin es una tcnica de
implementacin que explota el paralelismo
entre las instrucciones de un flujo
secuencial.
Fin

Вам также может понравиться