You are on page 1of 58

16/11/18

1. Arquitecturas de cómputo
Arquitectura de Computadoras
Ingeniería en Sistemas Computacionales
51mvhw

Arquitectura de Computadoras
Temario

Conoce e iden)fica los componentes y el funcionamiento en diferentes


modelos de arquitectura.

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo.
1.2 Análisis de los componentes.
1.2.1 CPU.
1.2.2 Memoria.
1.2.3 Manejo de la entrada/salida.
1.2.4 Buses
1.2.5. Interrupciones

1
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Computadora

q Sistema de calculo de propósito general que incorpora una unidad


central de proceso, memoria y disposi6vos de entrada y salida.

Del Diccionario de Electrónica e informática Orbis-Marcombo 1986.

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Caracterís)cas
q Habilidad para realizar operaciones aritmé3cas y lógicas.

q Capacidad de recibir información del mundo exterior y entregar


resultados de sus cálculos.

q Memoria. Puede retener información por un periodo de 3empo dado.

q Es programable. Efectúa una serie de operaciones en un orden


determinado.
4

2
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Caracterís)cas
q Habilidad para realizar operaciones aritmé3cas y lógicas.

q Capacidad de recibir información del mundo exterior y entregar


resultados de sus cálculos.

q Memoria. Puede retener información por un periodo de 3empo dado.

q Es programable. Efectúa una serie de operaciones en un orden


determinado.
5

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Funciones básicas:
q Procesamiento de datos

q Almacenamiento de datos

q Transferencia de datos

q Control

3
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Funciones básicas:
q La computadora es una en/dad que interactúa de alguna manera con
su entorno externo.

q En general, todas sus conexiones con el exterior pueden ser clasificadas


como disposi/vos periféricos o líneas de comunicación.

1. Arquitecturas de cómputo
Flujo de información en el CPU
1.1 Modelos de arquitecturas de cómputo

Flujo de información
Control Resultados
en el CPU:
Subsistema
de Memoria

Códigos de Datos
Operación
Estado
Unidad de Control Unidad Lógica
Control Aritmética

4
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Jerarquía de un Computadora
Sistema de Computo:

Subsistema de
Procesador Entrada / Salida

Subsistema de
CPU
Memoria

ALU Unidad de Control


9

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo
Componentes de una Computadora
q Unidad Central de Procesamiento (CPU):
§ Controla el funcionamiento de la computadora y lleva a cabo las funciones
de procesamiento de datos. (Procesador).

q Memoria Principal:
§ Almacena datos.

q Subsistema de E/S:
§ transfiere datos entre la computadora y el exterior.

q Sistema de Interconexión (Bus del sistema):


§ Es un mecanismo que proporciona la comunicación entre la CPU, la memoria y E/S.

10

5
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Componentes de una Computadora


q Unidad Central de Procesamiento (CPU):
§ Unidad de Control: Controla el funcionamiento de la CPU y por tanto de la
computadora.

§ Unidad Aritmé8ca y Lógica (ALU): Lleva a cabo las funciones de procesamiento


de datos.

§ Registros: Es el área de almacenamiento interno temporal de datos para la CPU.

§ Interconexión interna de la CPU: Son mecanismos que proporcionan


comunicación entre la unidad de control, ALU y registros.

11

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura y Organización de Computadoras


q Arquitectura de una computadoras
§ Explica la situación de sus componentes y permite determinar las posibilidades
de que un sistema informá9co, que con una determinada configuración, pueda
realizar las operaciones para las que se va a u9lizar.

§ Se refiere a los atributos de un sistema que son visibles a un programador, es


decir aquellos atributos que 9enen un impacto directo en la ejecución lógica de
un programa.

§ Ejemplos de atributos arquitectónicos: Conjunto de instrucciones, número de


bits usados para representar datos, mecanismos de entrada salida y técnicas de
direccionamiento de memoria.
12

6
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura y Organización de Computadoras


q Organización de computadoras
§ Se refiere a las unidades funcionales y sus interconexiones, que materializan
especificaciones arquitectónicas.

§ Ejemplos de atributos de organización: son los detalles del hardware


transparentes para el programador, tales como señales de control, interfaces
entre la computadora y los periféricos y la tecnología de memoria uBlizada.

13

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo
Arquitectura de Computadoras Organización de Computadoras

q Es el diseño conceptual y la estructura q Es la forma de seleccionar e interconectar


operacional fundamental de un sistema de componentes de hardware para crear
computadora. computadoras según los requerimientos de
funcionalidad, rendimiento y costo.
q Es decir, es un modelo y una descripción
funcional de los requerimientos y las
implementaciones de diseño para varias
partes de una computadora, con especial
interés en la forma en que la unidad central
de proceso (CPU) trabaja internamente y
accede a las direcciones de memoria.

14

7
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Modelos de Arquitecturas de Cómputo


q Arquitectura de computo clásicas.

q Arquitectura de cómputo Segmentadas.

q Arquitectura de Cómputo Mul8procesamiento.

15

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Modelos de Arquitecturas de Cómputo


Arquitectura de computo clásicas.
Arquitectura Von Newman
q El modelo clásico de arquitectura de computadoras fué diseñado por
Jhon Von Newman que consta de los siguientes elementos:
§ Disposi=vos de entrada
§ Disposi=vos de proceso
§ Disposi=vos de almacenamiento
§ Disposi=vos de salida

16

8
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura de computo clásicas.


Arquitectura Von Newman
q Fué u%lizada en la computadora ENIAC.

q Consiste en una unidad central de proceso que se comunica a través de un solo bus
con un banco de memoria en donde se almacenan tanto los códigos de instrucción
del programa, como los datos que serán procesados por este.

q Es la más empleada en la actualidad ya, que es muy versá%l.


§ Ejemplo de esta versa%lidad es el funcionamiento de los compiladores, los cuales son programas
que toman como entrada un archivo de texto conteniendo código fuente y generan como datos
de salida, el código maquina que corresponde a dicho código fuente.
§ Estos datos de salida pueden ejecutarse como un programa posteriormente ya que se usa la
misma memoria para datos y para el código del programa.

17

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura de computo clásicas.


Arquitectura Von Newman
q La ENIAC (Electronic Numerical Integrator And Computer) fue la
primera computadora electrónica de uso general en el mundo.

18

9
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura de computo clásicas.


Arquitectura Von Newman
q Uno de los inconvenientes más grandes de la ENIAC era que tenia que
ser programada manualmente mediante conmutadores y conectando y
desconectando cables.
q El proceso de programación podría ser más fácil si el programa se
representará en una forma adecuada para ser guardado en la memoria
junto con los datos.
q La computadora conseguiría sus instrucciones leyéndolas de la
memoria, y se podría hacer o modificar un programa escribiendo en
una zona de memoria.
19

1.1.1 Modelos
1. Arquitecturas de arquitectura de
de cómputo
computo
1.1 Modelos de arquitecturas clásicas
de cómputo
Arquitectura Mauchly-Eckert (VonNewman)
Arquitectura de computo clásicas.
Concepto de programa almacenado
Arquitectura VonNewman

Bus principal Memoria Principal


Procesador
Almacena
Unidad de el programa y
Control los datos

ALU

Registros Entrada y salida

20

10
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura de computo clásicas.


Arquitectura VonNewman
q Las computadoras se han diseñado basándose en los conceptos
desarrollados por Von Neumann.
q Este diseño se conoce como Arquitectura de Von Neumann y se basa en tres
conceptos clave:
§ Los datos y las instrucciones se almacenan en una sola memoria de lectura - escritura.
§ Los contenidos de esta memoria se direccionan indicando su posición, sin considerar el
;po de dato contenido en la misma.
§ La ejecución se produce siguiendo una secuencia de instrucción tras instrucción (a no ser
que dicha instrucción se modifique explícitamente).
21

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura VonNewman
q Registro Temporal de Memoria
Buffer (MBR): Con$ene una
palabra que debe ser almacenada
en memoria, o recibe una palabra
procedente de la memoria.

q Registro Temporal de Instrucción


(IBR): Almacena temporalmente la
instrucción contenida en la parte
derecha de una palabra.

22

11
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura VonNewman
q Registro de Instrucción (IR):
Con$ene el código de operación
de la instrucción que se va a
ejecutar.

q Registro de Dirección de
Memoria (MAR): Especifica la
dirección de memoria de la
palabra que va a ser escrita o leída
en MBR.

23

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura VonNewman
q Contador de Programa (PC):
Con$ene la dirección de la
siguiente pareja de instrucciones
que se traerán de memoria.

q Acumulador (AC) Mul4plicador


Cociente (MQ): Se emplean para
almacenar temporalmente
operandos y resultados de
operaciones de la ALU.

24

12
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura de computo clásicas.


Arquitectura VonNewman
q La principal desventaja de esta arquitectura, es que el bus de datos y
direcciones es único y se convierte en un cuello de botella por el cual debe
pasar toda la información que se lee de o se escribe a la memoria, obligando
a que todos los accesos a esta sean secuenciales.

q Esto limita el grado de paralelismo (acciones que se pueden realizar al


mismo ?empo) y por lo tanto, el desempeño de la computadora.

q Este efecto se conoce como el cuello de botella de Von Newman


25

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitectura de computo clásicas.


Arquitectura Harvard
q Esta arquitectura surgió en la universidad de Harvard, poco después de que
la arquitectura Von Newman apareciera en la universidad de Princeton.

q Al igual que en la arquitectura Von Newman, el programa se almacena como


un código numérico en la memoria, pero no en el mismo espacio de
memoria ni en el mismo formato que los datos.
§ Por ejemplo, se pueden almacenar las instrucciones en doce bits en la memoria de
programa, mientras los datos de almacenan en ocho bits en una memoria aparte.

26

13
arquitectura se asigna un código numérico a cada instrucción. Dichos códigos se almacenan en la
misma unidad de memoria que los datos que van a procesarse, para ser ejecutados en el orden en que se
encuentran almacenados en memoria. Esto permite cambiar rápidamente la aplicación de la 16/11/18
computadora y dio origen a las computadoras de propósito general
Mas a detalle, el procesador se subdivide en una unidad de control (C.U.), una unidad lógica aritmética
(A.L.U.) y una serie de registros. Los registros sirven para almacenar internamente datos y estado del
procesador. La unidad aritmética lógica proporciona la capacidad de realizar operaciones aritméticas y
lógicas. La unidad de control genera las señales de control para leer el código de las instrucciones,
decodificarlas y hacer que la ALU las ejecute.

1. Arquitecturas
Arquitectura Harvard de cómputo

1.1 Modelos de surgió


Esta arquitectura arquitecturas demismo
en la universidad del cómputo
nombre, poco después de que la arquitectura Von
Newman apareciera en la universidad de Princeton. Al igual que en la arquitectura Von Newman, el
programa se almacena como un código numérico en la memoria, pero no en el mismo espacio de
memoria ni en el mismo formato que los datos. Por ejemplo, se pueden almacenar las instrucciones en
Arquitectura
doce bits de
en lacomputo clásicas.
memoria de programa, mientras los datos de almacenan en ocho bits en una memoria
aparte.
Arquitectura Harvard

Bus de Bus de
programa Procesador datos
Memoria de datos
Unidad de
Memoria de Control
programa
ALU

Registros Entrada y salida

Figura 1.1.1.2 Diagrama a bloques de la arquitectura Harvard


27
El hecho de tener un bus separado para el programa y otro para los datos permite que se lea el código
de operación de una instrucción, al mismo tiempo se lee de la memoria de datos los operados de la
instrucción previa. Así se evita el problema del cuello de botella de Von Newman y se obtiene un mejor
desempeño.
En la actualidad la mayoría de los procesadores modernos se conectan al exterior de manera similar a a
la arquitectura Von Newman, con un banco de memoria masivo único, pero internamente incluyen
varios niveles de memoria cache con bancos separados en cache de programa y cache de datos,
buscando un mejor desempeño sin perder la versatilidad.

1. Arquitecturas de
1.1.2 Arquitecturas cómputo
Segmentadas.
1.1 Modelos de arquitecturas
Las arquitecturas de cómputo
segmentadas o con segmentación del cauce buscan mejorar el desempeño realizando
paralelamente varias etapas del ciclo de instrucción al mismo tiempo. El procesador se divide en varias
unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones. Para
Arquitectura de computo clásicas.
Arquitectura Harvard

q El tener un bus para el programa y otro para los datos, permite que se lea el código de operación de
una instrucción, al mismo 7empo que se lee de la memoria de datos los operados de la instrucción
previa.

q Así se evita el problema del cuello de botella de Von Newman y se ob7ene un mejor desempeño.

q La mayoría de los procesadores modernos se conectan al exterior de manera similar a a la


arquitectura Von Newman, con un banco de memoria masivo único, pero internamente incluyen
varios niveles de memoria cache con bancos separados en cache de programa y cache de datos,
buscando un mejor desempeño sin perder la versa7lidad.

28

14
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q Otra aportación frecuente que aumenta el rendimiento del
computador es el fomento del paralelismo implícito, que consiste en la
segmentación del procesador (pipe-line), descomponiéndolo en etapas
para poder procesar una instrucción diferente en cada una de ellas y
trabajar con varias a la vez.

q Las arquitecturas segmentadas o con segmentación del flujo buscan


mejorar el desempeño realizando paralelamente varias etapas del ciclo
de instrucción al mismo Aempo.
29

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q El procesador se divide en varias unidades funcionales independientes
y se dividen entre ellas el procesamiento de las instrucciones.
q Supongamos que un procesador simple 8ene un ciclo de instrucción
sencillo, consistente solamente en una etapa de búsqueda del código
de instrucción y en otra etapa de ejecución de la instrucción.
q En un procesador sin segmentación del flujo, las dos etapas se
realizarían de manera secuencial para cada una de la instrucciones.
B1 E1 B2 E2 B3 E3

30

15
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q En un procesador con segmentación del flujo, cada una de estas etapas se
asigna a una unidad funcional diferente,
§ la búsqueda a la unidad de búsqueda y la ejecución a la unidad de ejecución.
q Las unidades pueden trabajar en forma paralela en instrucciones diferentes.
q Se comunican por medio de una cola de instrucciones en la que la unidad de
búsqueda coloca los códigos de instrucción que leyó para que la unidad de
ejecución los tome de la cola y los ejecute.
q Esta cola se parece a un tubo donde las instrucciones entran por un extremo
y salen por el otro.
q De esta analogía proviene el nombre en ingles: Pipelining.
31

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q De esta analogía proviene el nombre en ingles: Pipelining.

Unidad de Unidad de
Cola de Instrucciones
Búsqueda Búsqueda

Comunicación entre las unidades en un procesador con segmentación de cauce.


32

16
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q En un procesador con segmentación, la unidad de búsqueda
comenzaría buscando el código de la primera instrucción en el primer
ciclo de reloj.
q Durante el segundo ciclo de reloj, la unidad de búsqueda obtendría el
código de la instrucción 2, mientras que la unidad de ejecución ejecuta
la instrucción 1 y así sucesivamente.
B1 B2 B3 B4 Unidad de búsqueda

E1 E2 E3 Unidad de ejecución
33

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q La mejora en el rendimiento no es proporcional al numero de
segmentos debido a que cada etapa no toma el mismo .empo en
realizarse, además de que se puede presentar competencia por el uso
de algunos recursos como la memoria principal.

q Otra razón es cuando se encuentra un salto en el programa y todas las


instrucciones que ya se buscaron y se encuentran en la cola, deben
descartarse y comenzar a buscar las instrucciones nuevamente a par=r
de la dirección a la que se salto.
34

17
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.

Espera Espera

Búsqueda Cola de Instrucciones Ejecución

Consecuencias de la competencia por un recurso


35

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q La arquitectura pipe-line se aplica en dos lugares de la maquina, en la
CPU y en la ALU

q En informá7ca, un pipe-line es un conjunto de elementos procesadores


de datos conectados en serie, en donde la salida de un elemento es la
entrada del siguiente.

q Los elementos del pipe-line son generalmente ejecutados en paralelo,


en esos casos, debe haber un almacenamiento 7po buffer insertado
entre elementos
36

18
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas Segmentadas.
q Pipelines gráficos, se encuentran en la mayoría de las tarjetas gráficas,
consiste en múl6ples unidades aritmé6cas o CPUs completas, que
implementan variados escenarios de operaciones >picas de
renderizado, por ejemplo, cálculos de luz y colores, renderizado,
proyección de perspec6va.

q Pipelines de so/ware, consiste en múl6ples procesos ordenados de tal


forma que el flujo de salida de un proceso alimenta la entrada del
siguiente proceso. Por ejemplo, los pipelines de Unix.
37

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas de mul.procesamiento.
q Cuando se desea incrementar el desempeño más allá de lo que permite
la técnica de segmentación del flujo, se requiere u:lizar más de un
procesador para la ejecución de un programa de aplicación.

q Las CPU de mul:procesamiento se clasifican de la siguiente manera


(Clasificación de Flynn):
§ SISO – (Single Instruc:on, Single Operand ) com- putadoras de un solo núcleo
§ SIMO – (Single Instruc:on, Mul:ple Operand ) procesadores vectoriales;
extensiones MMX, SSE; núcleos de GPU
§ MISO – (Mul:ple Instruc:on, Single Operand ) No implementado
§ MIMO – (Mul:ple Instruc:on, Mul:ple Operand ) sistemas SMP, Clusters, GPU
38

19
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas de mul.procesamiento.
q Procesadores vectoriales – Son computadoras pensadas para aplicar
un mismo algoritmo numérico a una serie de datos matriciales, en
especial en la simulación de sistemas 6sicos complejos.
§ La mayoría de los procesadores modernos incluye algunas instrucciones de <po
vectorial, tales como las extensiones MMX, SSE
q Procesadores Digitales de Señales (DSP), son procesadores
especializados en el procesamiento de señales tales como audio, video,
radar, sonar, radio, etc. Cuentan con instrucciones <po vectorial que los
hace muy aptos para dicha aplicación

39

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas de mul.procesamiento.
Sistemas SMP
q En los sistemas SMP (Simetric Mul,procesesors), varios procesadores
comparten la misma memoria principal y periféricos de I/O.

q Normalmente conectados por un bus común.

q Se conocen como simétricos, ya que ningún procesador toma el papel


de maestro y los demás de esclavos, sino que todos Cenen derechos
similares en cuanto al acceso a la memoria y periféricos y ambos son
administrados por el sistema operaCvo.
40

20
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas de mul.procesamiento.
Sistemas SMP
q Pueden formarse con varios núcleos en un solo circuito integrado o con
varios circuitos integrados en una misma tarjeta madre.
§ La primera opción ha sido popularizada al hacerse más económicos los
procesadores mul<núcleo de los principales fabricantes y con su uso en sistemas
de gama media y baja, e inclusive en teléfonos celulares y tabletas.

§ La segunda opción fue la que se uso en un principio y sigue siendo usada en en


estaciones de trabajo y en servidores de alto rendimiento debido a que
incrementa el poder computacional del sistema, pero también incrementa
considerablemente el costo del sistema.

41

1. ArquitecturasSistemas
de cómputo
SMP
1.1 Modelos de arquitecturas de cómputo
Sistemas SMP (Simetric Multi Procesesors) –
Varios procesadores comparten la misma me-
Arquitecturas de mul.procesamiento.
moria principal y periféricos de I/O, Normal-
Sistemas SMP
mente conectados por un bus común

Procesador Procesador Procesador Procesador

BUS Común

Memoria

42

21
16/11/18

1. Arquitecturas de cómputo Sistemas SMP

1.1 Modelos de arquitecturas de cómputo Sistemas SMP (Simetric Multi Procesesors) –


Varios procesadores comparten la misma me-
moria principal y periféricos de I/O, Normal-
mente conectados por un bus común

Arquitecturas de mul.procesamiento.
Procesador Procesador Procesador Procesador

BUS Común

Sistemas SMP Memoria

q Los sistemas SMP permiten que cualquier procesador trabaje en


cualquier tarea sin importar su localización en memoria; con un
propicio soporte del sistema opera:vo, estos sistemas pueden mover
fácilmente tareas entre los procesadores para garan:zar
eficientemente el trabajo.

q Una computadora SMP se compone de microprocesadores


independientes que se comunican con la memoria a través de un bus
compar:do.
43

1. Arquitecturas de cómputo Sistemas SMP

1.1 Modelos de arquitecturas de cómputo Sistemas SMP (Simetric Multi Procesesors) –


Varios procesadores comparten la misma me-
moria principal y periféricos de I/O, Normal-
mente conectados por un bus común

Procesador Procesador Procesador Procesador

Arquitecturas de mul.procesamiento. BUS Común

Sistemas SMP Memoria

q Dicho bus es un recurso de uso común. Por tanto, debe ser arbitrado
para que solamente un microprocesador lo use en cada instante de
7empo.

q Si las computadoras con un solo microprocesador 7enden a gastar


considerable 7empo esperando a que lleguen los datos desde la
memoria, SMP no mejora ni empeora lo que sí es que hay varios
parados en espera de datos
44

22
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas de mul.procesamiento.
Clusters
q Son conjuntos de computadoras independientes conectadas en una red de área local o por
un bus de interconexión y que trabajan coopera8vamente para resolver un problema.

q Es clave en su funcionamiento contar con un sistema opera8vo y programas de aplicación


capaces de distribuir el trabajo entre las computadoras de la red.

q Este 8po de computadora paralela se ha vuelto muy popular por que permite usar los
avances en los procesadores comerciales que 8enen una muy buena relación costo
rendimiento y se puede incorporar rápidamente los avances que proporciona las nuevas
tecnologías en cuanto es económicamente viable.

45

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo
Arquitecturas de mul.procesamiento. Clusters
Clusters
Conjuntos de computadoras independientes conec-
q Se debe tener cuidado al implementar
tadas en una red la
deaplicación,
área localyao que si los
por un busdatos que hay que
de inter-
pasar de un procesador a otro son demasiados, el 7empo empleado en pasar
información de un nodo conexión y que sobrepasar
a otro puede trabajan cooperativamente
a la ganancia que para re- al
se 7ene
dividir el trabajo entresolver
variosun problema
procesadores.

Memoria Memoria Memoria Memoria

Procesador Procesador Procesador Procesador

Red de Interconexión
46

23
16/11/18

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas de mul.procesamiento.
Procesadores Gráficos

q Las unidades de procesamiento gráfico (Graphics Processing Unit


GPU) – sistemas diseñados originalmente para el procesamiento de
Gráficos,

q Con múl8ples procesadores vectoriales sencillos compar8endo la


misma memoria, la cual también puede ser accedida por el CPU.

q Por la gran can8dad de núcleos con los que cuenta, logran un excelente
desempeño al ejecutar algoritmos que se adaptan a ser paralelizados.
47

Figura 1.1.3.2 Diagrama a bloques de un cluster


1. Arquitecturas de cómputo
Las unidades de procesamiento gráfico (Graphics Processing Unit GPU) – sistemas diseñados
1.1 Modelos de arquitecturas
originalmente para el procesamientode cómputo
de Gráficos, con múltiples procesadores vectoriales sencillos
compartiendo la misma memoria, la cual también puede ser accedida por el CPU. Por la gran cantidad
de núcleos con los que cuenta, logran un excelente desempeño al ejecutar algoritmos que se adaptan a
Arquitecturas de mul.procesamiento.
ser paralelizados, a tal grado que muchas de las supercomputadoras más rápidas de la actualidad
utilizan estos procesadores, y los fabricantes de tarjetas gráficas producen versiones de sus productos
Procesadores Gráficos
especializadas en acelerar los cálculos de propósito general.

Host

Figura 1.1.3.3 Diagrama a bloques de una unidad de procesamiento gráfico 48

1.2 Análisis de los componentes.

1.2.1 CPU.
24
1.2.1.1 Arquitecturas.
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
q Ademas de las arquitecturas clásicas mencionadas, en la actualidad han
aparecido arquitecturas híbridas entre la Von Newman y la Harvard,
buscando conservar la flexibilidad, pero mejorando el rendimiento.

q Uno de los cambios más importante de los úl?mos años en diseño de las
computadoras se dio durante los años 1980s, con la aparición del diseño
conocida como computadoras de conjunto reducido de instrucciones (RISC,
por sus siglas en ingles).

q Este diseño pretende aplicar un enfoque totalmente dis?nto al tradicional


empleado hasta entonces, conocido como computadoras de conjunto
complejo de instrucciones (CISC).
49

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
q Las arquitecturas CISC (Complex Instruc0on Set Computers) se caracterizan
por tener un número amplio de instrucciones y modos de direccionamiento.

q Se implementan instrucciones especiales que realizan funciones complejas,


de manera que un programador puede encontrar con seguridad, una
instrucción especial que realiza en hardware la función que el necesita.

q El número de registros del CPU es limitado, ya que las compuertas lógicas del
circuito integrado se emplean para implementar las secuencias de control de
estas instrucciones especiales.

50

25
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
q La tendencia en programacion era ya no se programar en ensamblador,
sino en lenguajes de alto nivel, como C.

q Los compiladores de lenguajes de alto nivel no hacían uso de las


instrucciones especiales implementadas en los procesadores CISC, por
lo que resultaba un desperdicio de recursos emplear las compuertas
del circuito de esta forma.
§ Por lo anterior, se decidió que era mejor emplear estos recursos en hacer que las
pocas instrucciones que realmente empleaban los compiladores se ejecutaran lo
más rápidamente posible.
51

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
q Así surgió el diseño RISC (Reduced Instruc,on Set Computers) donde solo se
cuenta con unas pocas instrucciones y modos de direccionamiento, pero
busca implementarlos de forma muy eficiente y que todas las instrucciones
trabajen con todos los modos de direccionamiento.

q Se observó que una de las tareas que tomaban más Bempo en ejecutarse en
lenguajes de alto nivel, era el pasar los parámetros a las subruBnas a través
de la pila.

q Como la forma más rápida de hacer este paso es por medio de registros del
CPU, se busco dotarlo con un amplio número de registros, a través de los
cuales se pueden pasar dichos parámetros.
52

26
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
Tipos
q Los CPUs modernos pueden clasificarse de acuerdo a varias
caracterís7cas, tales como:
§ el tamaño del ALU o del Bus de conexión al exterior (8, 16, 32, 64 bits),
§ si 7enen cauce segmentado o no segmentado,
§ 7po CISC o RISC,
§ Tipo de arquitectura: Von Newan o Harvard
§ si solo 7enen instrucciones con enteros o implementan también instrucciones de
punto flotante

53

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
Caracterís)cas
q Las caracterís*cas más importantes a considerar al elegir un CPU para
usarlo en una aplicación, son:
§ Modelo del programador, conjunto de registros que el programador puede
u*lizar.
§ Conjunto de instrucciones que puede ejecutar el CPU
§ Modos de direccionamiento que pueden usarse para obtener los operandos de
las instrucciones.
§ Ciclo de instrucción, el conjunto de pasos que realiza el CPU para procesar cada
instrucción.
§ Buses de interconexión, usados para que el CPU lea y escriba a la memoria y a los
disposi*vos de entrada y salida.
54

27
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
Funcionamiento
q Todos los CPU 'enen como función principal la ejecución de un
programa acorde a la aplicación del mismo.

q Un programa es un conjunto de instrucciones almacenadas de acuerdo


al orden en que deben ejecutarse.
§ Por lo tanto, toda computadora debe ser capaz de procesar las instrucciones de
su programa en un ciclo de instrucción.

55

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
Funcionamiento
q Etapas de ejecución de instrucciones:
1-Búsqueda del código de Instrucción. Leer de la memoria cual será la siguiente instrucción
a ejecutar, almacenada en forma de un código numérico, indica cual es la operación y que
operandos se ejecutara el CPU.

2- Decodificación. Toma el código numérico e idenAfica a cual de las operaciones


corresponde dicho código.

3- Ejecución. En esta etapa se lleva a cabo la operación sobre los datos. La unidad de
control (CU) genera las señales de control necesarias para llevar los datos a las entradas de
la ALU, la cual efectuará las operaciones aritmé4cas y lógicas.
Posteriormente, la unidad de control generará las señales de control necesarias para
transferir la salida de la ALU al registro donde serán almacenados los resultados.
56

28
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU.
Funcionamiento
q Etapas de ejecución de instrucciones:
1-Búsqueda del código de Instrucción. Leer de la memoria cual será la siguiente instrucción
a ejecutar, almacenada en forma de un código numérico, indica cual es la operación y que
operandos se ejecutara el CPU.
yoría de los CPUs. Este CPU es similar a las primeras computadoras existentes en los años 1950s
asado en el diseño explicado 2-en Decodificación.
Mano, M. Morris.Toma el códigodenumérico
Arquitectura e idenAfica
computadoras. Pearsona cual de las operaciones
1994).
corresponde dicho código.
a computadora contara con una memoria de 4096 palabras de 16 bits cada una. Esto corresponde a
bus de direcciones de 12 bits3-y Ejecución.
un bus de datos de 16
En esta bits).seEnlleva
etapa cadaa localidad de memoria
cabo la operación se podrá
sobre los datos. La unidad de
macenar un entero de 16 bits ocontrol
el código
(CU)degenera
una instrucción,
las señales también de 16necesarias
de control bits. para llevar los datos a las entradas de
dos los CPU tienen como funciónla ALU, la cuallaefectuará
principal ejecuciónlas deoperaciones
un programaaritmé4cas y lógicas. del
acorde a la aplicación
smo. Un programa es un conjunto de instrucciones almacenadas de acuerdo al orden en quede
Posteriormente, la unidad de control generará las señales control necesarias para
deben
cutarse. Por lo tanto, toda computadora debe ser capaz de procesar las instrucciones de su programalos resultados.
transferir la salida de la ALU al registro donde serán almacenados
un ciclo de instrucción, consistente en un número de etapas que varia con cada CPU, pero que 57
dicionalmente han sido tres:
Búsqueda del código de Instrucción. Esta consiste en leer de la memoria cual será la siguiente
trucción a ejecutar, la cual esta almacenada en forma de un código numérico que indica cual de todas
operaciones que puede realizar el CPU sera la siguiente y con que operandos se ejecutara.
Decodificación. Consiste en tomar el código numérico e identificar a cual de las operaciones que
ede realizar el CPU corresponde dicho código. El proceso contrario, la codificación, consiste en
1. Arquitecturas de cómputo
nociendo la instrucción, determinar el número que la va a representar. Esta etapa usualmente se
liza con un decodificador binario.
Ejecución. En esta etapa 1.2 Análisis
se lleva de los componentes
a cabo la operación sobre los datos que se vallan a procesar. En
neral, la unidad de control (CU) genera las señales de control necesarias para llevar los datos a las
CPU.Lógica, la cual efectuará las operaciones aritméticas y lógicas.
radas de la Unidad Aritmética
steriormente, la unidad de control generara las señales de control necesarias para transferir la salida
Funcionamiento
la Unidad Aritmética Lógica al registro donde serán almacenados los resultados■paraCada instrucción del programa se
su uso
terior. q Etapas de ejecución almacena en memoria como un
número binario.

Búsqueda de la Instrucción ■ Este número se conoce como código


de instrucción, y usualmente se
Decodificación de la Instrucción
divide en al menos dos campos:
□ un código de operación (Opcode)
□ un número que representa al
Ejecución de la Instrucción operando u operandos de la
instrucción.
58

Figura 1.2.1.4.1 Ciclo de instrucción

importante recordar que cada instrucción del programa se almacena en memoria como un número
ario. Este número se conoce como código de instrucción, y usualmente se divide en al menos dos
mpos: un código de operación (Opcode) y un número que representa al operando u operandos de la
trucción. En el caso de la computadora imaginaria que estamos estudiando, se almacena cada
29
trucción en una de las 4096 palabras de memoria de 16 bits cada una. Se utiliza un formato de un
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento Código de Operación
0h
Instrucción
LOAD (Carga)
Operación
ACC<-[M]

Búsqueda 1h STORE (Almacena) [M]<-ACC

q Código de instrucciones
2h ADD (Suma) ACC<-ACC+[M]
3h ADC (Suma con Acarreo) ACC<-ACC+[M]+C
4h SUB (Resta) ACC<-ACC+-M]
5h OR (Or Bit a Bit) ACC<-ACC or [M]
6h AND (And bit a Bit) ACC<-ACC and [M]
7h XOR (Xor Bit a Bit) ACC<-ACC xor [M]
Código de Instrucción
8h SHL (Corrimiento a la Izquierda) ACC<-ACC << 1
9h SHR (Corrimiento a la derecha) ACC<-ACC >> 1
Operación Operando 1 Operando 2
Ah BRA Bifurcación o salto PC<-M
Bh BRZ (Bifurca si es Cero) Si Z==1 => PC<-M
Operando único Ch BRC (Bifurca si hay Acarreo) Si C==1 => PC<-M
Dh BRO (Bifurca si hay Sobreflujo) Si O==1 => PC<-M
Codigo de Operación
Eh LDI (Carga Constante Inmediata) ACC <-[PC]; PC<-PC+1
Figura 1.2.1.4.2 Codificación de las instrucciones Fh STOP Detener la ejecución

La siguiente tabla resume los códigos de operación de la computadora de ejemplo.


59
Código de Operación Instrucción Operación
0h LOAD (Carga) ACC<-[M]
1h STORE (Almacena) [M]<-ACC
2h ADD (Suma) ACC<-ACC+[M]
3h ADC (Suma con Acarreo) ACC<-ACC+[M]+C
4h SUB (Resta) ACC<-ACC+-M]
5h OR (Or Bit a Bit) ACC<-ACC or [M]
6h AND (And bit a Bit) ACC<-ACC and [M]

1. Arquitecturas de cómputo
7h XOR (Xor Bit a Bit) ACC<-ACC xor [M]
8h SHL (Corrimiento a la Izquierda) ACC<-ACC << 1

1.2 Análisis de los componentes


9h SHR (Corrimiento a la derecha) ACC<-ACC >> 1
Ah BRA Bifurcación o salto PC<-M
Bh BRZ (Bifurca si es Cero) Si Z==1 => PC<-M
Ch
Dh
CPU. Funcionamiento
BRC (Bifurca si hay Acarreo)
BRO (Bifurca si hay Sobreflujo)
Si C==1 => PC<-M
Si O==1 => PC<-M
Eh
Fh
Búsqueda
LDI (Carga Constante Inmediata)
STOP
ACC <-[PC]; PC<-PC+1
Detener la ejecución
q Partes del CPU
Tabla 1.2.1.4.1 Códigos de operación para la computadora de ejemplo

§ ACC – Acumulador, se usará para almacenar uno de los operandos y el resultado


Las partes del CPU de la computadora imaginaria son:
ACC – Acumulador, se usará para almacenar uno de los operandos y el resultado de varias de las
instrucciones de varias de las instrucciones.
MAR – (Memory Address Register) Registro de dirección de memoria, selecciona a que localidad de
§ MAR – (Memory Address Register) Registro de dirección de memoria, selecciona
memoria se va a leer o a escribir.
a que localidad de memoria se va a leer o a escribir.
MBR – (Memory Bus Register) Registro de bus de memoria. A través de él se lee y se escriben los

§ MBR – (Memory Bus Register) Registro de bus de memoria. A través de él se lee y


se escriben los datos.
§ PC – (Program Counter) El contador de programa almacena la dirección de la
siguiente instrucción a buscar. Por esta razón también es conocido como
apuntador de instrucciones.
IR - Registro de instrucción, guarda el código de la instrucción que se esta
ejecutando.
60

30
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento
Búsqueda
q Partes del CPU
§ Flags – Registro de Banderas, agrupa a todas las banderas de la ALU en un
registro, en el caso de nuestra computadora imaginaria, las banderas disponibles
serán:
• Z – Bandera de Cero, se pone en uno cuando todos los bits del resultado son cero;
• O – Sobreflujo, se pone en uno cuando el resultado de la ulCma operación se sale de el
rango de los números de 16 bits con signo;
• C – Acarreo, se enciende cuando el resultado de la ulCma operación se sale del rengo de los
números de 16 bits sin signo.

61

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
datos.
PC – (Program Counter) El contador de programa almacena la dirección de la siguiente instrucción a
CPU. Funcionamiento
buscar. Por esta razón también es conocido como apuntador de instrucciones.
IR - Registro de instrucción, guarda el código de la instrucción que se esta ejecutando.
Flags – Registro de Banderas, agrupa a todas las banderas de la ALU en un registro, en el caso de
Búsqueda ■ El registro PC con1ene la dirección de
nuestra computadora imaginaria, las banderas disponibles serán: Z – Bandera de Cero, se pone en uno
cuando todos los bits del resultado son cero; O – Sobreflujo, se pone en uno cuando el resultado de la
memoria que con1ene el código de la
q Partes del CPU
ultima operación se sale de el rango de los números de 16 bits con signo; C – Acarreo, se enciende
cuando el resultado de la ultima operación se sale del rengo de los números de 16 bits sin signo.
siguiente instrucción a ejecutar.
Contenido Dir.
■ La etapa de búsqueda consiste básicamente
Banderas
XXXXh
XXXXh
000h
001h
en leer este código y almacenarlo en el
registro IR para su posterior uso en las
MAR

2023h 002h
4024h 003h
etapas de decodificación y ejecución, el
Acumulador
BUS ...
PC XXXXh 022h
contenido de PC se copia al MAR para poder
MBR

1234h 023h
IR 4567h 024h leer esa localidad de memoria.
...
XXXXh FFFh
■ Se lee la memoria y el resultado de dicha
CPU
lectura se copia del MBR al IR.
Memoria
Figura 1.2.1.4.2 Diagrama a bloques del CPU a estudiar 62
Como se explico anteriormente, el funcionamiento del CPU se basa en los pasos del ciclo de
instrucción, consistentes en búsqueda, decodificación y ejecución de la instrucción. Comenzaremos
revisando los pasos correspondientes a la búsqueda de la instrucción.

El registro PC contiene la dirección de la localidad de memoria que contiene el código de instrucción


de la siguiente instrucción a ejecutar. Como la etapa de búsqueda consistirá básicamente en leer este
código y almacenarlo en el registro IR para su posterior uso en las etapas de decodificación y
ejecución, el contenido de PC se copia al MAR para poder leer esa localidad de memoria. Se lee la
memoria y el resultado de dicha lectura se copia del MBR al IR. Finalmente, se incrementa el PC para
que en el siguiente ciclo de instrucción se lea la instrucción de la localidad de memoria consecutiva.
Resumiendo estas operaciones en lenguaje de transferencia de registros:
MAR<-PC
31
IR<-[MAR]
PC<-PC+1
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
datos.
PC – (Program Counter) El contador de programa almacena la dirección de la siguiente instrucción a
CPU. Funcionamiento
buscar. Por esta razón también es conocido como apuntador de instrucciones.
IR - Registro de instrucción, guarda el código de la instrucción que se esta ejecutando.
Flags – Registro de Banderas, agrupa a todas las banderas de la ALU en un registro, en el caso de
Búsqueda ■ Se incrementa el PC para que en el siguiente
nuestra computadora imaginaria, las banderas disponibles serán: Z – Bandera de Cero, se pone en uno
cuando todos los bits del resultado son cero; O – Sobreflujo, se pone en uno cuando el resultado de la
ciclo de instrucción se lea la instrucción de la
q Partes del CPU
ultima operación se sale de el rango de los números de 16 bits con signo; C – Acarreo, se enciende
cuando el resultado de la ultima operación se sale del rengo de los números de 16 bits sin signo.
localidad de memoria consecu6va.
Contenido Dir.

Banderas
XXXXh 000h ■ Resumiendo estas operaciones en lenguaje
XXXXh 001h
de transferencia de registros:
MAR

2023h 002h
4024h 003h
MAR ß PC
Acumulador
BUS ...
PC XXXXh 022h
IR ß [MAR]
MBR

1234h 023h
IR 4567h 024h PC ß PC+1
...
XXXXh FFFh
CPU
Memoria
Figura 1.2.1.4.2 Diagrama a bloques del CPU a estudiar 63
Como se explico anteriormente, el funcionamiento del CPU se basa en los pasos del ciclo de
instrucción, consistentes en búsqueda, decodificación y ejecución de la instrucción. Comenzaremos
revisando los pasos correspondientes a la búsqueda de la instrucción.

El registro PC contiene la dirección de la localidad de memoria que contiene el código de instrucción


de la siguiente instrucción a ejecutar. Como la etapa de búsqueda consistirá básicamente en leer este
código y almacenarlo en el registro IR para su posterior uso en las etapas de decodificación y
ejecución, el contenido de PC se copia al MAR para poder leer esa localidad de memoria. Se lee la
memoria y el resultado de dicha lectura se copia del MBR al IR. Finalmente, se incrementa el PC para
que en el siguiente ciclo de instrucción se lea la instrucción de la localidad de memoria consecutiva.
Resumiendo estas operaciones en lenguaje de transferencia de registros:
MAR<-PC

1. Arquitecturas de cómputo
IR<-[MAR]
PC<-PC+1
En la etapa de decodificación simplemente se separan los códigos de operación de los operandos. Por

1.2 Análisis de los componentes


ejemplo, la instrucción LOAD 023h se codificaría como 0023h, siendo 0h el código de operación y
023h el operando. Además, la unidad de control deberá identificar que al opcode 0 corresponde a la
instrucción LOAD para que en la siguiente etapa se realicen las operaciones correspondientes a esta
instrucción.

CPU. Funcionamiento
En cuanto a la etapa de ejecución, los pasos realizados en esta etapa varían dependiendo del código de
operación leído en la etapa de búsqueda. Por ejemplo, si el código leído es un 0, que corresponde con

Decodificación
q En la etapa de decodificación se separan los códigos de operación de
los operandos.
§ Por ejemplo, la instrucción LOAD 023h se codificaría como 0023h, donde 0h el
código de operación y 023h el operando.

§ Además, la unidad de control deberá iden=ficar que al opcode 0 corresponde a la


instrucción LOAD para que en la siguiente etapa se realicen las operaciones
correspondientes a esta instrucción.

64

32
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento
Ejecución
q Los pasos realizados en esta etapa varían dependiendo del código de
operación leído en la etapa de búsqueda.
§ Por ejemplo, si el código leído es un 0, que corresponde con una instrucción
LOAD, la etapa de ejecución consis=rá en copiar la parte de la dirección del
operando en el registro MAR para poder leer la localidad en donde se encuentra
el operando.
§ Se lee el operando de memoria y el dato leído se copia del MBR al acumulador.
§ Resumiendo dichas operaciones en lenguaje de transferencia de registros se
=ene:

65
mayoría de los CPUs. Este CPU es similar a las primeras computadoras existentes en los años 1950s
(Basado en el diseño explicado en Mano, M. Morris. Arquitectura de computadoras. Pearson 1994).
Esta computadora contara con una memoria de 4096 palabras de 16 bits cada una. Esto corresponde a
un bus de direcciones de 12 bits y un bus de datos de 16 bits). En cada localidad de memoria se podrá
almacenar un entero de 16 bits o el código de una instrucción, también de 16 bits.
Todos los CPU tienen como función principal la ejecución de un programa acorde a la aplicación del
mismo. Un programa es un conjunto de instrucciones almacenadas de acuerdo al orden en que deben
ejecutarse. Por lo tanto, toda computadora debe ser capaz de procesar las instrucciones de su programa
en un ciclo de instrucción, consistente en un número de etapas que varia con cada CPU, pero que
tradicionalmente han sido tres:

1. Arquitecturas de cómputo
1-Búsqueda del código de Instrucción. Esta consiste en leer de la memoria cual será la siguiente
instrucción a ejecutar, la cual esta almacenada en forma de un código numérico que indica cual de todas
las operaciones que puede realizar el CPU sera la siguiente y con que operandos se ejecutara.

1.2 Análisis de los componentes 2-puede


Decodificación. Consiste en tomar el código numérico e identificar a cual de las operaciones que
realizar el CPU corresponde dicho código. El proceso contrario, la codificación, consiste en
conociendo la instrucción, determinar el número que la va a representar. Esta etapa usualmente se
realiza con un decodificador binario.
CPU. Funcionamiento 3- Ejecución. En esta etapa se lleva a cabo la operación sobre los datos que se vallan a procesar. En

Ejecución general, la unidad de control (CU) genera las señales de control necesarias para llevar los datos a las
entradas de la Unidad Aritmética Lógica, la cual efectuará las operaciones aritméticas y lógicas.
Posteriormente, la unidad de control generara las señales de control necesarias para transferir la salida
q Ejemplos de Codificación de la Unidad Aritmética Lógica al registro donde serán almacenados los resultados para su uso
posterior.

Instrucción Opcode Operando Código


LD 123h 0h 123h 0123h Búsqueda de la Instrucción

ADD 123h 2h 123h 2123h


Decodificación de la Instrucción
BRA 123h Ah 123h A123h
LDI 1234h E000h 123h E000h, 1234h Ejecución de la Instrucción
STOP Fh No Aplica F000h

Figura 1.2.1.4.1 Ciclo de instrucción

Es importante recordar que cada instrucción del programa se almacena en memoria como un número
binario. Este número se conoce como código de instrucción, y usualmente se divide 66 en al menos dos
campos: un código de operación (Opcode) y un número que representa al operando u operandos de la
instrucción. En el caso de la computadora imaginaria que estamos estudiando, se almacena cada
instrucción en una de las 4096 palabras de memoria de 16 bits cada una. Se utiliza un formato de un
solo operando, con un segundo operando en el acumulador cuando es necesario. Los cuatro bits más
significativos de los dieciséis bits de la palabra se dedican a almacenar el código de operación. Los
doce bits menos significativos se dedican a almacenar la dirección del operando.

33
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento
Ejecución
Ejemplos de Codificación
q Búsqueda de instrucción: En esta etapa se lee el código de la siguiente
instrucción a ejecutar
§ PC Con7ene la dirección de la instrucción IR <- [PC] (se lee de memoria el código)
§ PC <- PC + 1 (PC apunta a la siguiente instrucción
Búsqueda Instrucción
q Decodificación de la instrucción LOAD 023h
§ Se separa el contenido de IR en Opcode y Operando
Contenido Dir.
§ Se busca a que instrucción corresponde el Opcode
XXXXh 000h 67
Banderas XXXXh 001h
MAR

0023h 002h
Acumulador 2024h 003h
BUS ...
PC XXXXh 022h
MBR

1234h 023h
1. Arquitecturas de IRcómputo 4567h 024h

1.2 Análisis de los componentes ...


XXXXh FFFh
CPUBúsqueda Instrucción
CPU. Funcionamiento
Ejecución. Ejemplos de Codificación LOAD 023h Memoria
Búsqueda Contenido Dir.

Instrucción LOAD 023h Banderas


XXXXh
XXXXh
000h
001h
MAR

0023h 002h
Acumulador 2024h 003h
BUS ...
PC XXXXh 022h
MBR

1234h 023h
4567h 024h
IR
...
XXXXh FFFh
CPU
68
Memoria

34
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento Búsqueda Instrucción
Ejecución. Ejemplos de Codificación LOAD 023h
Búsqueda Contenido Dir.
XXXXh 000h
Instrucción LOAD 023h Banderas XXXXh 001h

002h
MAR
0023h 002h
Acumulador 2024h 003h
BUS ...
002h
003h
PC XXXXh 022h

0023h
MBR
1234h 023h
4567h 024h
0023h
IR
...
XXXXh FFFh
CPU
Memoria 69

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento Búsqueda Instrucción
Ejecución. Ejemplos de Codificación LOAD 023h
Ejecución Contenido Dir.
XXXXh 000h
Instrucción LOAD 023h Banderas XXXXh 001h
002h
MAR

0023h 002h
Acumulador
1234h 2024h 003h
BUS ...
002h
003h
PC XXXXh 022h
0023h
MBR

1234h 023h
4567h 024h
0023h
IR
...
XXXXh FFFh
CPU
Memoria 70

35
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento Búsqueda de la Instrucción
Ejecución. Ejemplos de Codificación ADD 024h
Búsqueda de la Contenido Dir.
XXXXh 000h
Instrucción ADD 024h Banderas XXXXh 001h

MAR
003h
0023h 002h
Acumulador 2024h 003h
BUS ...
PC
003h XXXXh 022h

2024h
MBR
1234h 023h
4567h 024h
2024h
IR
...
XXXXh FFFh
CPU
Memoria 71

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento Búsqueda de la Instrucción
Ejecución. Ejemplos de Codificación ADD 024h
Ejecucuón de la Contenido Dir.
XXXXh 000h
Instrucción ADD 024h Banderas
Z=0, C=0, V=0 XXXXh 001h
2024h
MAR

0023h 002h
1234h
Acumulador 2024h 003h
BUS ...
PC
004h XXXXh 022h
4567h
MBR

1234h 023h
4567h 024h
2024h
IR
...
XXXXh FFFh
CPU
Memoria 72

36
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
CPU. Funcionamiento Búsqueda de la Instrucción
Ejecución. Ejemplos de Codificación ADD 024h
Ejecucuón de la Contenido Dir.
XXXXh 000h
Instrucción ADD 024h Banderas
Z=0, C=0, V=0 XXXXh 001h

2024h
MAR
0023h 002h
579Bh
Acumulador 2024h 003h
BUS ...
PC
004h XXXXh 022h

4567h
MBR
1234h 023h
4567h 024h
2024h
IR
...
XXXXh FFFh
CPU
Memoria 73

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
Memoria.

q La memoria se refiere a parte de los componentes que componen una


computadora.

q Son disposi4vos que re4enen datos durante algún intervalo de 4empo.

q Las memorias proporcionan una de las principales funciones de la


computadora, almacenamiento de información.

q Es uno de los componentes fundamentales de todas las computadoras,


acoplados a un CPU, implementa lo fundamental del modelo de
computadora de Arquitectura de von Neumann.
74

37
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
Memoria.

q Conjunto de celdas de almacenamiento y sus circuitos asociados

q Una palabra es el conjunto de bits que puede leerse o escribirse en una sola
operación

q Un grupo de 8 bits es un byte. Un grupo de 4 bits un Nible

q Los tamaños de palabra en las memorias suelen ser múl>plos de 8 bis

q El tamaño de la palabra coincide con el numero de terminales de datos que


poseen.
75

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
Memoria.

q Las lineas de direcciones sirven para elegir en cual de todas las localodades
de memoria se va a guardar o a leer un dato

q El número de lineas de direcciones se determina por el tamaño de la


memoria
§ T=2N
§ T - Número de localidades
§ N - Número de lineas de direcciones

q Es común que el tamaño de las memorias se exprese como un múl=plo de


las siguientes unidades:
§ 1K = 210=1024; 1M = 220 = 1024*1024; 1G=230 = 1024*1024 *1024
76

38
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
Memoria.

q Las memorias suelen ser de rápido acceso, y pueden ser volá3les o no


volá3les.

q La clasificación principal de memorias son RAM y ROM.

q Estas memorias son u3lizadas para almacenamiento primario.

77

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
Memoria RAM Memoria ROM
q Volá.les: pierden la información cuan- q No volá.les: conservan la información aún sin
do son desenergizadas (RAM) suministro de energía

q ROM: Se construyen con diodos, datos


q RAM esta.ca: Se forma con flip-flops. grabados por el fabricante
Rápida pero cara.
q PROM: Los datos se graban quemando
q RAM Dinámica: Se almacenan los da- fusibles.
tos en la capacitancia parásita de un
q EPROM: Similares a la DRAM, guar- dan los
transistor. Como el capacitor se descar-
datos en la carga almacenada en la compuerta
ga necesita reescribirse el dato con flotante de un MOS- FET especial. Se borran
frecuencia. Alta densidad, baratas pero con Luz UV
lentas.
q EEPROM y FLASH: Se borran eléctricamente 78

39
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q También abreviado E/S o I/O, es un conjunto de interfaces que usan las
dis6ntas unidades funcionales de un sistema de procesamiento de
información para comunicarse unas con otras, o las señales
(información) enviadas a través de esas interfaces.

q Las entradas son las señales recibidas por la unidad, mientras que las
salidas son las señales enviadas por ésta.

q Los disposi6vos de Entrada y Salida permiten la comunicación entre la


computadora y el usuario.
79

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q Los periféricos no se conectan directamente al sistema de buses, para acceder a la CPU y la
memoria.

q Los periféricos son muy diferentes entre sí, y debería disponerse de una lógica adicional
dentro de la CPU para cada disposi=vo.

q La mayoría de los periféricos son lentos respecto a la CPU y la memoria por lo que se
desaprovecharía =empo y prestaciones conectándolos a un sistema de buses de alta
velocidad.

q Los periféricos se comunican a la computadora a través de un enlace a un módulo de E/S


específico.
80

40
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida

Los módulos E/S son la interface


entre el procesador y la memoria
mediante el conjunto de buses por un
lado, y con los disposi5vos periféricos
usando enlaces de datos específicos.

Los periféricos se comunican a la


computadora a través de un enlace a
un módulo de E/S específico.
Fig. 10.1. Módulo de E/S.
81
Por lo expuesto, cada periférico deberá tener una lógica de control
que controla la operación con el módulo de E/S. Las señales eléctricas de
los datos pueden requerir una transducción o adecuación en el caso de
una salida o una entrada dependiendo de las características operativas
del periférico. Finalmente, el dispositivo puede disponer de una memoria
o buffer para almacenar temporalmente los datos que van o vienen desde
el módulo de E/S hacia el periférico. Estos aspectos de muestran en la
Figura 10.2.

Los periféricos se clasifican según:


- El sentido de la transferencia de los datos en: Periféricos de

1. Arquitecturas de cómputo
entrada, Periféricos de salida y Periféricos de entrada-salida.
- Con quién interactúan en: de interacción con humanos y de
interacción con máquinas

1.2 Análisis de los componentes

Módulos de entrada y salida 293


Cada periférico deberá tener una lógica de
control que controla la operación con el
módulo de E/S.

Los periféricos se clasifican según:


■ El sen@do de la transferencia de los
datos en: Periféricos de entrada,
Periféricos de salida y Periféricos de
entrada-salida.
■ Con quién interactúan en: de
interacción con humanos y de
Fig. 10.2 Diagrama en bloques de un dispositivo externo o periférico
interacción con máquinas 82
1.2 Módulos de E/S
La CPU puede requerir comunicación con un periférico según las
necesidades de un programa. La CPU, la memoria principal y los buses
deben compartirse con las transferencias de datos hacia o desde los
periféricos. Por lo tanto, los módulos deberán incluir funciones de
control y temporización que coordinen el tráfico entre los recursos
internos y externos de la computadora.

Además, los módulos de E/S deben comunicarse con el


procesador, del que recibirá órdenes e intercambiará datos e información 41
de estado, a través del bus de control y del bus de datos,
respectivamente. Y lógicamente, también habrá comunicación con el
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q La CPU puede requerir comunicación con un periférico según las
necesidades de un programa.

q La CPU, la memoria principal y los buses deben compar=rse con las


transferencias de datos hacia o desde los periféricos.

q Los módulos deben incluir funciones de control y temporización que


coordinen el tráfico entre los recursos internos y externos de la
computadora.

83

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q Deben comunicarse con el procesador,
§ recibir órdenes e intercambiar datos e información de estado, a través del bus de control
y del bus de datos, respec8vamente.

q También habrá comunicación con el periférico mediante los enlaces


externos, que también implica órdenes, información de estado y los datos.

q Una función común de un módulo de E/S es el almacenamiento temporal de


datos.

q Función de detección de errores y comunicarse a la CPU.

84

42
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


■ El módulo se conecta a la CPU y la
memoria a través de las líneas del
bus del sistema.
■ Los datos se almacenan
temporalmente en uno o más
registros de datos internos y otros
registros de estado.
■ La lógica de control del módulo
interactúa con la CPU mediante las
líneas de control. Fig. 10.3. Diagrama de bloques de un módulo de E/S.

1.4 Técnicas para las operaciones de E/S 85

Para las operaciones de E/S (como fue discutido en el Capítulo 8),


se pueden utilizar tres técnicas:
- E/S programada: Los datos se intercambian entre el
procesador y el módulo de E/S. Con un programa que se
ejecuta en la CPU se controla directamente la operación de
E/S. Cuando el procesador envía una orden al módulo de E/S
debe esperar que esta operación concluya. La gestión de la
operación de E/S por parte de un programa ejecutándose en
una CPU rápida genera un gran desperdicio de tiempo.

1. Arquitecturas de cómputo
- E/S mediante interrupciones: La CPU envía la orden de
E/S, pero continúa ejecutando otras instrucciones y es
interrumpido por el módulo de E/S cuando ha terminado la

1.2 Análisis de los componentes operación.


- Acceso directo a memoria (DMA): El módulo de E/S y la
memoria principal intercambian datos directamente sin la
intervención de la CPU.

Módulos de entrada y salida En las dos primeras técnicas, la CPU es responsable de almacenar
los datos leídos desde el módulo de E/S en la memoria en una operación
■ El módulo de E/S debe estar preparado de entrada, y de leerlos desde la memoria en una operación de salida.

para reconocer las direcciones que


provienen de la CPU y generar las
direcciones asociadas a los periféricos
que controla.
296
■ Cada módulo de E/S ?ene una dirección
única, o un conjunto único de
direcciones si controla más de un
disposi?vo externo.
■ Posee la lógica dedicada de interfaz con Fig. 10.3. Diagrama de bloques de un módulo de E/S.

cada uno de los disposi?vos que 1.4 Técnicas para las operaciones de E/S
controla 86
Para las operaciones de E/S (como fue discutido en el Capítulo 8),
se pueden utilizar tres técnicas:
- E/S programada: Los datos se intercambian entre el
procesador y el módulo de E/S. Con un programa que se
ejecuta en la CPU se controla directamente la operación de
E/S. Cuando el procesador envía una orden al módulo de E/S
debe esperar que esta operación concluya. La gestión de la
operación de E/S por parte de un programa ejecutándose en
una CPU rápida genera un gran desperdicio de tiempo.
- E/S mediante interrupciones: La CPU envía la orden de
E/S, pero continúa ejecutando otras instrucciones y es 43
interrumpido por el módulo de E/S cuando ha terminado la
operación.
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q Los módulos de E/S pueden clasificarse de acuerdo a los detalles de
procesamiento presentados a la CPU, en:

§ Canal o procesador de E/S: cuando el módulo se encarga de la mayoría de los


detalles de procesamiento, presentando a la CPU una interface de alto nivel. Este
esquema es usado en grandes computadoras (mainframes)

§ Controlador de E/S o del disposi7vo: cuando el módulo es bastante sencillo y


requiere de la CPU un control más detallado.

87

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q Proporcionan a la computadora capacidad de interactuar con el mundo
exterior

q Ejemplos clásicos:
§ teclado, ratón, monitor.

q Ejemplos no tan conocidos:


§ puerto paralelo, puerto serie, temporizador, conver:dor analógico – digital,
conver:dor digital analógico

88

44
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
Módulos de entrada y salida
q Disposi&vos de entrada, que sirven para introducir datos a la computadora
para su proceso.
q Los datos se leen de los disposi&vos de entrada y se almacenan en la
memoria central o interna.
q Convierten la información en señales eléctricas que se almacenan en la
memoria central.
q Los disposi&vos de entrada <picos son los teclados, otros son: lápices
óp&cos, palancas de mando (joys&ck), CD-ROM, discos compactos (CD),
mouse.

89

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Para las operaciones de E/S, se pueden u2lizar tres técnicas:

q E/S programada
q E/S mediante interrupciones
q Acceso directo a memoria (DMA)

90

45
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q E/S mediante interrupciones:
§ La CPU envía la orden de E/S, pero con4núa ejecutando otras instrucciones y es
interrumpido por el módulo de E/S cuando ha terminado la operación.
§ El disposi4vo llama a una ru4na de atención por medio de un mecanismo de
hardware especial, interrumpiendo la ejecución del programa principal.
§ Se pueden dis4nguir dos 4pos:
• E/S síncrona
• E/S asíncrona

91

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q E/S mediante interrupciones:
§ E/S Síncrona
§ cuando la operación de E/S finaliza, el control es regresa al proceso que la generó.
§ La espera por E/S se lleva a cabo por medio de una instrucción wait que coloca al CPU en
un estado de espera hasta que ocurre otra interrupción.
§ Aquellas máquinas que no Cenen esta instrucción uClizan un loop. Este loop conCnua
hasta que ocurre una insterrupción transfiriendo el control a otra parte del sistema de
operación.
§ Sólo se aCende una solicitud de E/S por vez.
§ El sistema de operación conoce exactamente que disposiCvo está interrumpiendo.
§ Esta alternaCva excluye procesamiento simultáneo de E/S.

92

46
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


q E/S mediante interrupciones:
§ E/S Asíncrona
§ Regresa al programa usuario sin esperar que la operación de E/S finalice.
§ Se necesita una llamada al sistema que le permita al usuario esperar por la
finalización de E/S (si es requerido).
§ Es necesario llevar un control de las dis=ntas solicitudes de E/S.
§ El sistema opera=vo u=liza una tabla que con=ene una entrada por cada
disposi=vo de E/S (Tabla de Estado de Disposi/vos).

93

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Para las operaciones de E/S, se pueden u2lizar tres técnicas:
q Acceso directo a memoria (DMA):
§ El módulo de E/S y la memoria principal intercambian datos directamente sin la
intervención de la CPU.
§ El disposi2vo de entrada/salida toma el control del Bus del procesador y
transfiere los datos la memoria directamente.

94

47
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Para las operaciones de E/S, se pueden u2lizar tres técnicas:
q Acceso directo a memoria (DMA):
§ Permite a cierto 2po de componentes acceder a la memoria del sistema para leer
o escribir independientemente de la CPU.
§ Muchos sistemas hardware u2lizan DMA, incluyendo
• controladores de unidades de disco, tarjetas gráficas y tarjetas de sonido.
§ Permite a disposi2vos de diferentes velocidades comunicarse sin someter a la
CPU a una carga masiva de interrupciones.

95

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Para las operaciones de E/S, se pueden u2lizar tres técnicas:
q Acceso directo a memoria (DMA):
§ Una transferencia DMA consiste principalmente en copiar un bloque de memoria de un
disposi2vo a otro.
§ En lugar de que la CPU inicie la transferencia, la transferencia se lleva a cabo por el
controlador DMA.
§ Un ejemplo @pico es mover un bloque de memoria desde una memoria externa a una
interna más rápida. Tal operación no ocupa al procesador y, por ende, éste puede efectuar
otras tareas.
§ Las transferencias DMA son esenciales para aumentar el rendimiento de aplicaciones que
requieran muchos recursos.

96

48
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Para las operaciones de E/S, se pueden u2lizar tres técnicas:
q Entrada/salida mediante consulta (Polling) – se revisa si el disposi2vo
requiere atención periódicamente.
§ U2lizado en las primeras computadoras personales,
§ Consiste en que la CPU sondea periódicamente al disposi2vo para ver cuaál es su estado.
§ Ese sondeo se puede hacer, por ejemplo, leyendo de una dirección de entrada/salida
correspondiento varios registros de estado del disposi2vo.
§ Los bits de esos registros de estado indican cuál es la situación concreta del disposi2vo.
§ Otras veces no hay tal registro de estado, y simplemente se lee lo que haya en la
dirección E/S desde el programa.
97

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Canales y procesadores de entrada/salida
q Cada vez más funciones de E/S se realizan sin la par7cipación de la
CPU.

q Este aspecto libera a la CPU de ciertas tareas mejorando las


prestaciones generales de la computadora.

q La complejidad del módulo de E/S ha crecido de tal forma que incluye


mejoras significa7vas.
98

49
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Canales y procesadores de entrada/salida
q Mejoras significa.vas:
§ El módulo de E/S puede comportarse como un procesador en sí, con su propio
repertorio de instrucciones orientado a las E/S.

§ Cuando además incluye un memoria local propia, transformando el módulo de


E/S en una computadora en sí misma.
• Con esta arquitectura, el módulo de E/S puede controlar un conjunto grande
de disposi.vos de E/S con mínima intervención de la CPU.

99

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Canales y procesadores de entrada/salida
q Un canal es una extensión del concepto de DMA.

q Un canal puede ejecutar instrucciones de E/S (relevando a la CPU de


dichas operaciones), en dos modos operaBvos:
§ Canal selector que controla varios disposiBvos de velocidad elevada, salvo que en
un instante se dedica a transferir datos a uno de estos disposiBvos.

§ Canal mul5plexor que puede controlar las E/S de varios disposiBvos al mismo
Bempo.
100

50
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
- Canal selector (Figura 10.6 a) que controla varios dispositivos
de velocidad elevada, salvo que en un instante se dedica a
Módulos-
de entrada y salida
transferir datos a uno de estos dispositivos.
Canal multiplexor (Figura 10.6 b) que puede controlar las
Canales y procesadores de entrada/salida
E/S de varios dispositivos al mismo tiempo.
-

- Canal selector (Figura 10.6 a) que controla varios dispositivos


de velocidad elevada, salvo que en un instante se dedica 101 a
transferir datos a uno de estos dispositivos.
- Canal multiplexor (Figura 10.6 b) que puede controlar las
E/S de varios dispositivos al mismo tiempo.
-

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Módulos de entrada y salida


Canales y procesadores de
entrada/salida

Fig. 10.6 Arquitectura de un canal de E/S

300

102
Fig. 10.6 Arquitectura de un canal de E/S

300

51
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes
Buses
q En arquitectura de computadores, el bus o canal es un sistema digital que
transfiere datos entre los componentes de una computadora o entre
computadoras.
q Está formado por cables o pistas en un circuito impreso, disposi8vos como
resistores y condensadores además de circuitos integrados.
q En los primeros computadores electrónicos, todos los buses eran de 8po
paralelo, de manera que la comunicación entre las partes del computador se
hacía por medio de cintas o muchas pistas en el circuito impreso, en los
cuales cada conductor 8ene una función fija y la conexión es sencilla
requiriendo únicamente puertos de entrada y de salida para cada disposi8vo.

103

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Buses
q La tendencia en los úl.mos años es el uso de buses seriales como el
USB, Firewire para comunicaciones con periféricos reemplazando los
buses paralelos, incluyendo el caso como el del microprocesador con el
chipset en la placa base.

q Esto a pesar de que el bus serial posee una lógica compleja (mayor
poder de cómputo que el bus paralelo) a cambio de velocidades y
eficacias mayores.

104

52
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Bus paralelo
q Es un bus en el cual los datos son enviados por bytes al mismo 3empo,
con la ayuda de varias líneas que 3enen funciones fijas.
q La can3dad de datos enviada es bastante grande con una frecuencia
moderada y es igual al ancho de los datos por la frecuencia de
funcionamiento.
q En los computadores ha sido usado de manera intensiva, desde el bus
del procesador, los buses de discos duros, tarjetas de expansión y de
vídeo, hasta las impresoras.
105

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Bus paralelo

106

53
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Bus paralelo
q Las líneas de dirección son las encargadas de indicar la posición de
memoria o el disposi2vo con el que se desea establecer comunicación.
q Las líneas de control son las encargadas de enviar señales de arbitraje
entre los disposi2vos.
§ Entre las más importantes están las líneas de interrupción, DMA y los indicadores
de estado.
q Las líneas de datos transmiten los bits de forma aleatoria de manera
que por lo general un bus 2ene un ancho que es potencia de 2.
107

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Bus serial
q Los datos son enviados, bit a bit y se reconstruyen por medio de
registros o ru5nas de so6ware.
q Está formado por pocos conductores y su ancho de banda depende de
la frecuencia.
q Es usado desde hace menos de 10 años en buses para discos duros,
unidades de estado sólido, tarjetas de expansión y para el bus del
procesador.

108

54
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Estructura de los buses
q Líneas de datos

q Líneas de dirección

q Líneas de control

109

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Estructura de los buses
q Líneas de datos

q Líneas de dirección

q Líneas de control

110

55
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Estructura de los buses
q Datos:
§ Llevan datos y también comandos para los disposi5vos de entrada / salida.
§ Su amplitud influye en el rendimiento del bus
§ Relacionado con el tamaño de palabra del sistema

111

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Bus paralelo
q Direcciones:
§ Llevan direcciones de memoria en acceso a memoria, o permiten seleccionar un
disposi4vo conectado al bus.
§ Su amplitud determina el espacio de direcciones tanto de memoria como entrada
/ salida

112

56
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Bus paralelo
q Control:
§ Son señales de control de acceso y uso del bus.
§ Arbitraje del bus
§ Sincronización de las comunicaciones
§ Reloj del sistema

113

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Jerarquías de buses
q Jerarquía:
q Tendencia a u+lizar múl+ples buses debido a que:
§ degradación del rendimiento a medida que aumenta el número de disposi+vos
colgados al bus.

§ "Cuello de botella" de las comunicaciones debido a los +empos de espera para


acceder al bus.

114

57
16/11/18

1. Arquitecturas de cómputo
1.2 Análisis de los componentes

Tipos de Buses
Jerarquías de buses
q Jerarquía:
q Se introducen múl0ples buses basando la jerarquía en los
requerimientos de comunicación de los disposi0vos:
§ Bus local: Conecta al procesador con la cache y con algún disposi0vo e/s muy
rápido.
§ Bus del sistema: Conecta al procesador (a través de la cache) con la memoria del
sistema y con un segundo nivel de disposi0vos de velocidad media.
§ Bus de expansión: Se conecta al bus del sistema y hace de interfaz entre este y
los disposi0vos más lentos
115

1. Arquitecturas de cómputo
1.1 Modelos de arquitecturas de cómputo

Arquitecturas de mul.procesamiento.

116

58

You might also like