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

Arquitectura de Computadoras

Semana 01: Introducción

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

PRESENTACIÓN

Docente:
MSc. Miguel Angel Torres Lázaro
(e-mail: miguel.torres@maelpro.com)

Nombre del curso:


Arquitectura de computadoras

Frecuencia y duración:
6 horas p/semana
84 horas (14 semanas)

Pre-requisitos:
- Circuitos Digitales II

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

PRESENTACIÓN

Estructura de las clases:

1) Preguntas sobre la clase anterior

2) Definiciones y conceptos

3) Desarrollo del tema

4) Preguntas

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

PRESENTACIÓN

Evaluación:

1) Evaluación 01

2) Evaluación 02 (Examen Parcial)

3) Evaluación 03

4) Evaluación 04 (Examen Final)

Promedio Prácticas = (Evaluación 01 + Evaluación 03) / 2

Promedio Final = (Examen Parcial + Examen Final + Promedio Prácticas) / 3

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

PRESENTACIÓN

Objetivos:

- Conocimiento de los conceptos de computadora (en su sentido más


amplio), microprocesador, organización de un microprocesador y
arquitectura de un microprocesador .

- Análisis de las arquitecturas de los microprocesadores y


microcontroladores.

- Diseño de aplicaciones de sistemas con microprocesador.

- Proporcionar el conocimiento de la arquitectura y organización de


microprocesadores para su implementación en futuros cursos (Diseño
Digital).

- Introducción a la programación de microcontroladores en alto nivel,


empleando el lenguaje C estándar y haciendo uso de un estilo
apropiado.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

PRESENTACIÓN
Bibliografía:

[1] William Stallings, Computer Organization & Architecture: Designing


for Performance, Sixth Edition, Pearson Education, 2003.

[2] Barry B. Brey, Intel Microprocessors: Architecture, Programming and


Interfacing, Eighth Edition, Prentice Hall, 2009

[3] Randal Bryant & David O’Hallaron, Computer Systems: A


Programmer’s Perspective, Second Edition, Prentice Hall, 2011.

[4] Daniel W. Lewis, Fundamentals of Embedded Software: Where C


and Assembly Meet, First Edition, Prentice Hall, 2002.

[5] Peter Abel, Lenguaje Ensamblador y Programación para PC IBM y


Compatibles, Tercera Edición, Prentice Hall, 1996.

[6] Muhammad A. Mazidi, Sarmad Naimi & Sepehr Naimi, The AVR
Microcontroller and Embedded System: Using Assembly and C, First
Edition, Prentice Hall, 2011.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

Temario:

– Definición de computadora
– Componentes de una computadora.
– Funcionalidad de una computadora
– Evolución de las computadoras
– Organización y arquitectura de una computadora
– Estructura de una computadora
– Arquitecturas Von Neumann y Harvard
– Funcionamiento de una computadora: Instrucciones
– Interrupciones
– Interrupciones múltiples
– Estructuras de interconexión
– Interconexión de buses

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.1.- Computadora

¿Qué es una computadora?

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.1.- Computadora

Computadora personal Supercomputadora Microcontrolador

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.2.- Entradas y salidas

Interfase Interfase

Entrada Procesador Salida


de datos de datos de datos

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.2.- Entradas y salidas

Analógica

Digital (1/0)

Comunicación serial

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.3.- Funcionalidad de una computadora


Entorno de operación
(Fuente/destino de la información)

Sistema
de
transferencia
de datos

Mecanismo
de
control

Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos

Vista funcional de una computadora.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.3.- Funcionalidad de una computadora


Entorno de operación
(Fuente/destino de la información)

Sistema
de
transferencia
de datos

Mecanismo
de
control

Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos

Computadora empleada para tranferencia de datos.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.3.- Funcionalidad de una computadora


Entorno de operación
(Fuente/destino de la información)

Sistema
de
transferencia
de datos

Mecanismo
de
control

Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos

Almacenamiento de datos recibidos.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.3.- Funcionalidad de una computadora


Entorno de operación
(Fuente/destino de la información)

Sistema
de
transferencia
de datos

Mecanismo
de
control

Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos

Procesamiento de datos desde/al almacen.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.3.- Funcionalidad de una computadora


Entorno de operación
(Fuente/destino de la información)

Sistema
de
transferencia
de datos

Mecanismo
de
control

Unidad de
Unidad de
procesamiento
almacenamiento
de datos
de datos

Procesamiento y almacenamiento de datos recibidos.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.4.- Componentes de una computadora

Líneas de
Periféricos comunicación

COMPUTADORA

-Almacenamiento
-Procesamiento

La computadora y su interacción con el entorno de operación.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.4.- Componentes de una computadora

COMPUTADORA

Memoria
Entrada/Salida
principal

COMPUTADORA Sistemas de
interconexión

Unidad central
de
Procesamiento

Estructura del nivel superior de una computadora.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.4.- Componentes de una computadora

Componentes principales de una computadora

Entradas/Salidas: Lleva a cabo la transferencia de datos entre la computadora y el entorno


de operación (mundo exterior).

Memoria principal: Almacena información.

Unidad central de procesamiento (CPU): Controla la operación de la computadora y lleva a


cabo sus funciones de procesamiento de datos; se le suele llamar simplemente procesador.

Sistema de interconexión: Mecanismo que permite la comunicación ente las


Entradas/Salidas, la memoria principal y la CPU.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.4.- Componentes de una computadora

CPU

Unidad
COMPUTADORA Registros aritmética
y lógica
Memoria

Bus Interconexión
del CPU interna de la
sistema CPU
E/S

Unidad de
control

Estructura de la unidad central de procesamiento (CPU).

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.4.- Componentes de una computadora

Componentes principales de la unidad central de procesamiento

Unidad de control: Controla la operación de la CPU y, por lo tanto, de la computadora.

Unidad aritmética y lógica (ALU): Lleva a cabo las funciones de procesamiento de datos
(operaciones aritméticas y lógicas).

Registros: Proporcionan almacenamiento interno para el CPU.

Sistema de interconexión de la CPU: Mecanismo que permite la comunicación ente la


unidad de control, la ALU y los registros.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.4.- Componentes de una computadora

Unidad de control

CPU Lógica de
secuencia

ALU
Registros y
Unidad decodificadores
Bus
de
interno
control
de la unidad
de control
Registros

Memoria de
control

Estructura de la unidad de control.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Primera generación: Tubos de vacío (1940 - 1956)


Las primeras computadoras emplearon tubos de vacío para su circuitería y cilindros
magnéticos como memoria. Estas computadoras eran enormes (ocupaban una habitación
entera), eran muy costosas y consumían mucha energía. Estas computadoras se
programaban en lenguaje máquina. Ejemplos: ENIAC, UNIVAC.

Computadora UNIVAC.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Máquina de Von Neumann


Introdujo el concepto de programa almacenado.
Contaba con una memoria principal que almacenaba programas y datos.
Se introdujo el uso de la unidad aritmética y lógica (ALU). La unidad de control interpretaba
las instrucciones en memoria y las ejecutaba.
El equipo de entrada/salida era dirigido por la unidad de control.
Tiene como representante la computadora IAS (Princeton Institute for Advanced Studies).

Unidad Aritmética
y Lógica

Aparato de
Memoria
Entrada/
Principal
Salida

Unidad de Control
de Programa

Estructura básica de la computadora IAS.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Segunda generación: Transistores (1956 - 1963)


El transistor fue inventado en Bell Labs en 1947, pero su uso en computadoras no se difundió
hasta finales de los 1950s. El transistor era muy superior al tubo de vacío, lo cual permitió
que las computadoras se vuelvan más pequeñas, más económicas, más eficientes en el
consumo de energía y más confiables. Estás computadoras empezaron a programarse en
lenguaje Assembly en lugar de usar lenguaje máquina. Ejemplos: IBM 7000, IBM 650.

Computadora IBM 7000.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Ley de Moore
Fue expresada en un contexto en el cual la fabricación de circuitos integrados estaba
comenzando a superar la integración a pequeña escala (SSI). Esta ley fue propuesta por
Gordon Moore, co-fundador de Intel, en 1965. Moore observó que el número de transistores
que podían ser colocados en un solo chip se duplicaba cada año, y predijo correctamente que
este ritmo de crecimiento continuaría en el futuro cercano.

Crecimiento en el conteo de transistores en los CPU de Intel.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Tercera generación: Circuitos integrados (1964 - 1971)


Los transistores fueron miniaturizados y colocados en circuitos integrados de silicio, lo cual
incrementó drásticamente la velocidad y eficiencia de las computadoras. A diferencia de las
computadoras de la 1era y 2da generación (donde el código se escribía en tarjetas
perforadas y papeles impresos), las computadoras de esta generación interactúan con el
usuario mediante un teclado y un monitor y cuentan con sistema operativo. Ejemplo: Apple II.

Computadora Apple II.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

DEC PDP-8
Esta computadora apareció en 1964. A diferencia de las computadoras surgidas hasta ese
momento, la PDP no requería de aire acondicionado en la habitación. Además, tenía un
tamaño bastante reducido; de hecho, era posible colocar esta computadora sobre una mesa
de trabajo o, incluso, integrarla dentro de otro equipo.

Esta computadora introdujo por primera vez la estructura de bus, la cual es universal para
todas las comoutadoras actuales.

Estructura de Bus de la PDP-8.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Cuarta generación: Microprocesadores (1972 - Actualidad)


Aparece el microprocesador, permitiendo que miles de circuitos integrados puedan ser
construidos en un solo chip de silicio. La revolución se inició con la aparición del procesador
4004 de Intel, el cual integró todos los componentes básicos de una computadora (CPU,
memoria, controles de entrada/salida) en un solo chip. De este modo, lo que solía ocupar una
habitación entera en 1940, ahora cabía en la palma de la mano.

Computadora personal (PC) actual.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Intel 4004
Fue el primer circuito integrado que contenía todos los componentes de un CPU en un solo
chip, lo cual representó el nacimiento del microprocesador. Este procesador podía sumar dos
números de 4 bits y podía multiplicar solamente mediante sumas sucesivas. Para los
estándares de hoy en día el procesador 4004 es tremendamente primitivo, pero marcó el
comienzo de una evolución continua de las capacidades y el poder de los microprocesadores.

Microprocesador Intel 4004.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Quinta generación: Inteligencia artificial (2010 - Actualidad)


Los dispositivos con inteligencia artificial aún están en desarrollo, pero algunas de estas
tecnologías están empezando a emerger y a ser usadas, como por ejemplo, reconocimiento
de voz. Se espera que los avances en superconductores, procesamiento paralelo,
computación cuántica y nanotecnología, permitan crear máquinas capaces de entender el
lenguaje natural de los humanos y organizarse ellas mismas. Ejemplo: Siri, Robot Romeo.

Robot Romeo, desarrollado en Francia.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

IBM Deep Blue


Deep Blue fue una supercomputadora desarrollada por IBM para jugar ajedrez. Fue la
primera que venció en al campeón mundial de ese momento: Garry Kaspárov, en 1997.
Previamente, Kasparov se había enfrentado y vencido a Deep Blue en Febrero de 1996, a un
ritmo de juego lento. Sin embargo, en 1997 Deep Blue derrotó a Kaspárov en un encuentro
con un ritmo de juego de torneo estándar.

El campeón mundial de ajedrez, Garry Kaspárov, contra la IBM Deep Blue.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Evolución de los procesadores Intel de los 70’s y 80’s.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Evolución de los procesadores Intel de los 90’s y posteriores.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.5.- Evolución de las computadoras

Tarea para el estudiante

Ver el documental “Mentes Brillantes: Steve Jobs vs Bill Gates”, producido por la National
Geographic y disponible en YouTube. Basándose en el contenido de este documental,
responder a las siguientes preguntas:

• ¿Quién construyó el prototipo de la primera computadora Apple?

• ¿Qué tenía de innovadora la computadora Apple en comparación con las computadoras


que habían aparecido hasta ese momento?

• ¿Cuál fue la primera computadora que empezó a desarrollarse con un sistema operativo
con entorno gráfico basado en ventanas?

• ¿En qué se inspiró Apple para desarrollar una computadora con este tipo de sistema
operativo?

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.6.- Organización y arquitectura de computadoras

Organización

La organización de una computadora se refiere a las unidades operacionales de un sistema y


sus interconexiones (implementación).

Ejemplos: Señales de control, interfaces entre la computadora y los periféricos, tecnología de


las memorias utilizadas.

Arquitectura

La arquitectura de una computadora se refiere a los atributos de un sistema que son visibles
por el programador o, dicho de otra manera, a los atributos que tienen un impacto directo
sobre la ejecución lógica de un programa.

Ejemplos: gama de instrucciones, número de bits usados para representar datos,


mechanismos de entrada/salida, ténicas para direccionamiento de memoria.

Se debe tomar en cuenta que pueden existir varios sistemas con la misma arquitectura pero
con diferente organización, como por ejemplo, toda la familia de procesadores Intel x86.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

1.- INTRODUCCIÓN

1.7.- ¿Por qué estudiar arquitectura de computadoras?

● En un trabajo, un ingeniero puede encontrarse ante la necesidad de seleccionar una


computadora que sea eficiente y de costo asequible. Un entendimiento de las
implicaciones de invertir en varias alternativas , tales como una memoria caché más
grande o un procesador con una mayor frecuencia de reloj, es esencial para tomar una
decisión.

● Muchos procesadores no son usados en computadoras personales o servidores, sino en


sistemas embebidos. Un diseñador puede programar en lenguaje C un procesador que se
encuentra embebido (integrado) dentro de un sistema más grande, como por ejemplo, el
controlador de una lavadora o de un automóvil. La depuración del sistema podría requerir
el uso de un analizador lógico que muestre la relación entre las solicitudes de interrupción
de los sensores y el código máquina.

● Los conceptos utilizados en arquitectura de computadoras tienen aplicación en otros


cursos. En particular, la manera en la cual la computadora proporciona soporte
arquitectónico para lenguajes de programación y sistemas operativos facilita el refuerzo de
conceptos en el área de software. Por otra parte, los ingenieros dedicados al diseño de
sistemas electrónicos mediante lenguajes de descripción de hardware (HDLs),
eventualmente requerirán incluir un microprocesador en sus proyectos, por lo cual deberán
conocer la arquitectura de dicho microprocesador para poder llevar a cabo el diseño.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.1.- Definiciones y conceptos

Microcomputador

Es un computador digital construido alrededor de un microprocesador.


Recibieron su nombre por su tamaño reducido en comparación con las computadoras de la
primera y segunda generación. Todas las computadoras personales actuales son
microcomputadores. Las supercomputadoras (como la Blue Gene de IBM) no se consideran
microcomputadores.

Microprocesador

Consiste en uno o varios circuitos integrados de gran complejidad que realizan las funciones
de una unidad central de proceso (CPU).

Para que un microcoprocesador pueda formar un microcomputador requiere de memoria y


dispositivos periféricos de entrada/salida.

Microcomputador = Microprocesador + Memoria + Periféricos

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.1.- Definiciones y conceptos

Unidad Central de Proceso (CPU)

Es el bloque de una computadora que se encarga de realizar el procesamiento de datos y


controlar la operación de la computadora.

La CPU consta de 02 componentes principales: la unidad de control y la unidad aritmética y


lógica (ALU).

Unidad de Control

La unidad de control es la parte del CPU que interpreta las instrucciones del programa y
genera secuencialmente todas las señales necesarias para el gobierno de las demás
unidades y la ejecución de las instrucciones.

Unidad Aritmética Lógica (ALU)

La ALU es la parte del CPU que está encargada de realizar las operaciones aritméticas y
lógicas que se le indique sobre los operandos que se les proporcione.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.1.- Definiciones y conceptos

Unidad de Memoria (Memoria principal)

Es el lugar donde se almacenan los programas, datos, resultados intermedios y resultados


finales de las operaciones realizadas.

Unidad de Entrada/Salida (Interfase de Entrada/Salida)

Es el bloque encargado de comunicar los periféricos con la CPU o con la memoria, todo bajo
la dirección de la unidad de control. Las características del periférico son acopladas a las
características de la CPU, tanto eléctricamente como lógicamente.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Estructura básica de una computadora.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Bus de direcciones

Bus de datos

Bus de control

Unidad Unidad Periférico


Unidad Unidad
aritmética de
de de
y lógica Entrada/
Control Memoria Periférico
(ALU) Salida

Unidad Central de Proceso


(CPU)

Estructura básica de una computadora.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Secuencia de
funciones
Datos Resultado
aritméticas
y lógicas

Programación en hardware.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Códigos de Intérprete de
instrucciones instrucciones

Señales
de control

Funciones
aritméticas
Datos y lógicas Resultado
de propórsito
general

Programación en software.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Entrada Procedimiento Salida

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Memoria Ejemplo Assembly C

Número de botes Datos. Resultado de una


Datos armados hasta el operación, variables.
momento.

Dobleces aplicados Instrucciones. Sentencias, funciones,


Programa para armar los operaciones.
botes.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Arquitectura Von Neumann

Prácticamente todas las computadoras personales actuales han sido diseñadas basadas en
los conceptos desarrollados por John Von Neumann en el Instituto de Estudios Avanzados
(IAS) de Princeton. Este diseño es conocido como la Arquitectura Von Neumann y se basa en
tres conceptos:

● Los datos y las instrucciones son almacenados en una sola memoria de lectura –
escritura.

● Los contenidos de esta memoria son direccionables por ubicación, sin importar el tipo de
información que contenga.

● La ejecución ocurre de manera secuencial (a menos que se indique lo contrario de manera


explícita) de una instrucción a la siguiente.

Arquitectura Harvard

Se diferencia de la Arquitectura Von Neumann en la forma de acceder a las instrucciones y


los datos, ya que éstos se encuentran almacenados en memorias separadas. Además, cada
memoria cuenta con sus propias interconexiones (buses) para poder acceder a ellas de
manera independiente. Esta arquitectura es ampliamente usada en los microprocesadores
utilizados en sistemas embebidos.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Bus de control MEMORIA PRINCIPAL

UNIDAD Bus de Unidad Unidad


CENTRAL DE direcciones de De
PROCESO memoria memoria
(CPU) ROM RAM
Bus de datos e
instrucciones
Instrucciones + Datos

Arquitectura Von Neumann.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

MEMORIA DE Bus de control Bus de control MEMORIA DE


INSTRUCCIONES DATOS
Direcciones de UNIDAD Direcciones de
Unidad instrucciones CENTRAL DE datos Unidad
de PROCESO de
memoria Bus de (CPU) memoria
ROM instrucciones Bus de datos RAM

Arquitectura Harvard.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Componentes de una computadora: Vista del Nivel Top

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.2.- Estructura de una computadora

Registros principales del CPU

Registro de dirección de memoria (MAR): Especifica la dirección en la memoria para la


pŕoxima lectura o escritura.

Registro buffer de memoria (MBR): Contiene la información que debe ser escrita dentro de
la memoria o recibe la información leída desde la memoria.

Registro de dirección de entrada/salida (I/O AR): Especifica un dispositivo de


entrada/salida en particular.

Registro buffer de entrada/salida (I/O BR): Es usado para el intercambio de información


entre un módulo de entrada/salida y la CPU.

Contador de programa (PC): Indica la dirección de la próxima instrucción que debe ser
ejecutada.

Registro de instrucción (IR): Contiene la instrucción que es ejecutada.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Fase de búsqueda Fase de ejecución

Busca la siguiente Ejecuta la


INICIO FIN
instrucción instrucción

Ciclo básico de una instrucción

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Fase de búsqueda de una instrucción

● Al inicio de cada ciclo de instrucción, el procesador busca una instrucción en la memoria


principal y la extrae. En un procesador típico, un registro llamado contador de programa
(PC) contiene la dirección de la próxima instrucción que será extraída.

● A menos que se indique lo contrario, el procesador siempre incrementa el registro PC


después de cada búsqueda de instrucción de modo que extraerá la siguiente instrucción
en secuencia (es decir, la instrucción ubicada en la siguiente posición de memoria).

● La instrucción extraída es cargada dentro de un registro en el procesador, conocido como


el registro de instrucción (IR). La instrucción contiene bits que especifican la acción que
realizará el procesador .

Fase de ejecución de una instrucción

Se divide en dos etapas:

Decodificación → La instrucción depositada en el IR es decodificada por el decodificador.

Ejecución → Con la información decodificada se procede a ejecutar la instrucción.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Tipos de instrucción

El procesador interpreta la instrucción y lleva a cabo la acción requerida. En general, esta


acción se puede clasificar en 04 categorías:

Procesador – Memoria: Los datos son transferidos desde el procesador a la memoria o


desde la memoria al procesador.

Procesador – E/S: Los datos son transferidos desde o hacia un dispositivo periférico, a
través de la transferencia entre el procesador y el módulo E/S.

Procesamiento de datos: El procesador lleva a cabo alguna operación lógica o aritmética


sobre los datos.

Control: Una instrucción especifica que la secuencia de ejecución deb ser alterada. Por
ejemplo, el procesador podría extraer una instrucción de la dirección 149, la cual especifica
que la próxima instrucción debe ser extraída de la dirección 182. El procesador recordará
este hecho, estableciendo el contador de programa (PC) en 182. Por lo tanto, en la próxima
fase de búsqueda, la instrucción será extraída de la dirección 182 en lugar de la 150.

La ejecución de una instrucción puede incluir una combinación de estas acciones.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Definiciones de tiempo

Ciclo de reloj: Es el valor del periodo de la señal de reloj que utiliza la CPU para sincronizar
sus actividades.

Ciclo de máquina: Es el tiempo que emplea la CPU para enviar/recibir información de la


unidad de memoria (memoria principal) o de los dispositivos de entrada/salida. En general, un
ciclo de máquina puede estar formado por varios ciclos de reloj.

Ciclo de instrucción: Es el tiempo que se necesita para buscar una instrucción en memoria,
extraerla, decodificarla y ejecutarla. Un ciclo de instrucción puede estar formado por uno o
más ciclos de máquina, dependiendo del tipo de instrucción.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

15 12 11 0
Opcode Dirección

(a) Formato de instrucción

15 14 0
S Magnitud

(b) Formato de entero

Formato de instrucción y formato de dato (entero) de una computadora hipotética.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Contador de programa (PC) = Dirección de la instrucción

Registros internos Registro de instrucción (IR) = Instrucción siendo ejecutada


de la CPU
Acumulador (AC) = Almacenamiento temporal

0001 = Cargar AC desde la memoria

Lista parcial de 0010 = Almacenar AC en la memoria


opcodes
0101 = Sumar a AC desde la memoria

Registros del CPU y lista de opcodes de una computadora hipotética.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Ejemplo de ejecución de un programa (contenido en formato hexadecimal).

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Estados en un ciclo de instrucción

Cálculo de la dirección de la instrucción (iac): Determina la dirección de la siguiente


instrucción que debe ser ejecutada. Usualmente, esto implica sumar un número fijo a la
dirección de la instrucción previa.

Búsqueda y extracción de la instrucción (if): Lee la instrucción desde su ubicación en


memoria hacia el procesador.

Decodificación de la operación de la instrucción (iod): Analiza la instrucción para


determinar el tipo de operación que debe ser llevada a cabo y el/los operando(s) que deben
usarse.

Cálculo de la dirección del operando (oac): Si la operación implica una referencia a un


operando en memoria o vía de E/S disponible, entonces determina la dirección del operando.

Búsqueda y extracción del operando (of): Extrae el operando desde la memoria, o lo lee
desde la E/S.

Operación de datos (do): Realiza la operación indicada en la instrucción.

Almacenamiento del operando (os): Escribe el resultado en la memoria o en la E/S.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.3.- Funcionamiento de una computadora

Búsqueda y Búsqueda y
Almacenamiento
extracción de extracción del
del operando
la instrucción operando

Múltiples Múltiples
operandos resultados

Cálculo de la Decodificación Cálculo de la Cálculo de la


Operación de
dirección de de la operación dirección del dirección del
datos
la instrucción de la instrucción operando operando

Instrucción completa buscar Retorno para


la siguiente instrucción vectores o strings

Diagrama de estados de un ciclo de instrucción.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

Solicitud de
interrupción
(IRQ)

Procesador
(Programa de usuario) Rutina de
servicio a
interrupción
(ISR)

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

Concepto de interrupción

Una interrupción es un mecanismo proporcionado por una computadora, mediante el cual


otros módulos (entradas/salidas, memoria) pueden interrumpir el procesamiento normal del
procesador. En la mayoría de casos, una interrupción puede ser deshabilitada (enmascarada)
por el programador.

Fuentes de interrupción en un procesador

Programa: La interrupción es generada por alguna condición que ocurre como resultado de
la ejecución de una instrucción como, por ejemplo, desbordamiento aritmético, división entre
cero, intento de ejecutar una instrucción ilegal, o referencia fuera del espacio de memoria
permitido al usuario.

Temporizador: La interrupción es generada por un temporizador dentro del procesador. Esto


permite que el sistema operativo lleve a cabo ciertas funciones regularmente.

Entrada/Salida: La interrupción es generada por un controlador de entrada/salida. Puede


indicar la culminación normal de una operación o una variedad de condiciones de error.

Falla de hardware: La interrupción es generada por una falla como, por ejemplo, falla de
energía o error de paridad en la memoria.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

¿Para qué sirven las interrupciones ?

Las interrupciones se utilizan, principalmente, como una manera de mejorar la eficiencia del
procesamiento.

Por ejemplo, la mayoría de dispositivos externos son mucho más lentos que el procesador.
Suponga que el procesador está transmitiendo información a una impresora, usando el
esquema de ciclo de instrucción que se enseñó anteriormente (fase de búsqueda, fase de
ejecución). Después de cada operación de escritura el procesador debe hacer una pausa y
permanecer inactivo hasta que la impresora esté lista para recibir nueva información.

La duración de la pausa puede estar en el orden de cientos o miles de ciclos de instrucción.


Claramente, hay un desperdicio de la capacidad del procesador.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

No hacer nada más que esperar hasta


que la otra persona llegue.
(Blocking polling)

Ir haciendo otras cosas y


verificar periódicamente.
Esperar a una persona.
(Non-blocking polling)

Analogía de detección de un evento sin emplear interrupciones.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones
Ir haciendo otras cosas.
(Programa de usuario)
¡Ya llegué!

Atender a la persona
(Rutina de servicio a
interrupción)

Persona llegó.

Analogía de detección de un evento empleando interrupciones.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

Ejecución de un programa con y sin interrupciones

Imaginemos un código que consta de dos secciones: el programa de usuario y el programa


de Entrada/Salida.

El programa de usuario lleva a cabo una serie de llamadas para escribir en las
Entradas/Salidas, las cuales están entrelazadas con el procesamiento. Este programa se
divide en tres segmentos, los cuales se refieren a secuencias de instrucciones que no
implican Entradas/Salidas.

Las llamadas para escritura transfieren el control a un programa de Entrada/Salida, el cual es


una utilidad del sistema que realizará la verdadera acción sobre la Entrada/Salida. El
programa de Entrada/Salida consta de 03 secciones:

● Una secuencia de instrucciones para prepararse para la verdadera acción sobre la


Entrada/Salida. Por ejemplo: Almacenar los datos de salida dentro de un buffer.

● El verdadero comando de Entrada/Salida. Sin el uso de interrupciones, una vez que este
comando ha sido iniciado, el programa debe esperar hasta que el dispositivo de
Entrada/Salida lleve a cabo la función solicitada (o puede hacer polling periódicamente).

● Una secuencia de instrucciones para completar la operación. Por ejemplo: Colocar una
bandera en alto que indique si la operación se culminó exitosamente.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

(a) Sin interrupciones (b) Con interrupciones y (c) Con interrupciones y


corta espera de E/S larga espera de E/S

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

Interrupciones y el ciclo de instrucción

Para incluir interrupciones, un ciclo de interrupción es añadido al ciclo de instrucción. En el


ciclo de interrupción, el procesador verifica si ha ocurrido alguna interrupción, indicada por la
presencia de una señal de interrupción.

Si no hay ninguna interrupción pendiente, el procesador procede con el ciclo de búsqueda y


extrae la siguiente instrucción del programa actual.

Si hay una interrupción pendiente, el procesador hace lo siguiente:

● Suspende la ejecución del programa actual y guarda su contexto.

● Carga en el contador de programa (PC) la dirección inicial de una rutina de servicio a


interrupción (ISR).

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

Guardar contexto

Imagina que estás leyendo un libro en tu


habitación y tu hermana te llama desde la sala
para que la ayudes.

¿Qué haces para poder retomar la lectura


justo donde te quedaste?

Guardar el contexto ante una interrupción,


quiere decir guardar la dirección de la próxima
instrucción que debe ejecutarse después de
atender una ISR, así como cualquier otro dato
relevante para la actividad actual del
procesador.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

Programa de usuario Rutina de servicio a interrupción

La interrupción
ocurre aqui

Transferencia de control mediante interrupciones.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

Ciclo de instrucción con interrupciones

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

(a) Sin interrupciones (b) Con interrupciones y (c) Con interrupciones y


corta espera de E/S larga espera de E/S

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

(b) Con interrupciones.

(a) Sin interrupciones.

Mejora en la eficiencia de un programa con corta espera de E/S.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.4.- Interrupciones

(b) Con interrupciones.

(a) Sin interrupciones.

Mejora en la eficiencia de un programa con larga espera de E/S.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.5.- Interrupciones múltiples

Manejo de interrupciones por orden secuencial

● Ocurre una primera interrupción y el procesador atiende la ISR respectiva. Se deshabilitan


todas las interrupciones para que el procesador pueda completar la tarea.

● Las siguientes interrupciones permanecen pendientes hasta que el procesador vuelva a


habilitarlas.

● Después que la ISR respectiva ha completado la tarea, el procesador vuelve a habilitar las
interrupciones y verifica cuales están pendientes.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.5.- Interrupciones múltiples

Manejo de interrupciones por prioridad (Interrupciones anidadas)

● Ocurre una primera interrupción y el procesador atiende la ISR respectiva.

● Si ocurre una segunda interrupción y ésta tiene menor prioridad que la primera, entonces
la segunda interrupción permanece pendiente hasta que la ISR correspondiente a la
primera interrupción haya completado la tarea.

● Por otro lado, si ocurre una segunda interrupción y ésta tiene mayor prioridad que la
primera, entonces se atiende la ISR correspondiente a la segunda interrupción.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.5.- Interrupciones múltiples

Programa de Usuario ISR de impresora ISR de Comunicación

ISR de Disco

Ejemplo de secuencia de tiempo de múltiples interrupciones.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.6.- Estructuras de interconexión


● Una computadora consiste de un set de componentes o módulos de 03 tipos básicos:
procesador, memoria, Entrada/Salida.

● Estos módulos se comunican entre ellos.

● Desde este punto de vista, una computadora es una red de módulos básicos. Por lo tanto,
debe haber caminos que conecten los módulos.

● Por otro lado, si ocurre una segunda interrupción y ésta tiene mayor prioridad que la
primera, entonces se atiende la ISR correspondiente a la segunda interrupción.

● La colección de caminos que conectan los diversos módulos es llamada estructura de


interconexión.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.6.- Estructuras de interconexión

Módulo de Memoria

● Típicamente un módulo de memoria consiste de N palabras de igual longitud. A cada


palabra se le asigna una dirección numérica única (0, 1 … N-1).

● Una palabra de información puede ser leída desde la memoria o puede ser escrita en la
memoria. La naturaleza de la operación es indicadamediante las señales de control de leer
y escribir.

● La ubicación para la operación es especificada mediante una dirección.

Leer
Memoria
Escribir
N palabras
0
.
Dirección . Datos
.
N-1
Datos

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.6.- Estructuras de interconexión

Módulo de Entrada/Salida

● Desde un punto de vista interno, la funcionalidad del módulo de E/S es similar a la


memoria. Existen dos operaciones, leer y escribir. Además, un módulo de E/S puede
controlar más de un dispositivo externo.

● Podemos refererirnos a cada una de las interfases a un dispositivo externo como un puerto
y dar a cada uno una dirección única (Por ejemplo 0, 1 … M-1). Adicionalmente existen
rutas de datos externas para la entrada y salida de datos con un dispositivo exteno.

● Finalmente, un módulo de E/S es capaz de enviar una señal de interrupción al procesador.

Leer
Módulo de E/S
Datos
Escribir internos

Datos
Dirección M puertos externos

Datos
internos Señales de
interrupción
Datos
externos

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.6.- Estructuras de interconexión

Módulo Procesador (CPU)

● Recibe y lee instrucciones y datos.

● Escribe datos luego de un procesamiento.

● Usa señales de control para dirigir la operación general del sistema.

● Recibe señales de interrupción.

Instrucciones Dirección

Datos CPU Señales de


control

Señales de
interrupción Datos

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.6.- Estructuras de interconexión

La estructura de interconexión debe soportar los siguientes tipos de transferencia:

● De memoria a procesador: El procesador lee una instrucción o una unidad de datos


desde la memoria.

● De procesador a memoria: El procesador escribe una unidad de datos en la memoria.

● De E/S a procesador: El procesador lee datos desde un dispositivo de E/S a través de un


módulo de E/S.

● De procesador a E/S: El procesador envía datos al dispositivo de E/S.

● E/S hacia o desde memoria: Para estos dos casos, un módulo de E/S tiene permitido
intercambiar datos directamente con la memoria, sin necesidad de pasar por el procesador,
empleando acceso directo a memoria (DMA).

A través de los años, se han probado diferentes estructuras de interconexión.


Definitivamente, la estructuras más comunes son la de bus y múltiples buses.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.7.- Interconexión de Bus


● Un bus es una ruta de comunicación que conecta dos o más dispositivos. Una
característica clave de un bus es que éste es un medio de transmisión.

● Múltiples dispositivos se conectan al bus y una señal transmitida por cualquiera de los
dispositivos está disponible para su recepción por todos los demás dispositivos conectados
al bus.

● Solo un dispositivo a la vez puede llevar a cabo una transmisión.

● Típicamente, un bus consiste de múltiples rutas o líneas de comunicación. Cada línea es


capaz de transmitir señales representando 1 binario y 0 binario. A través del tiempo, una
secuencia de dígitos binarios puede ser transmitida a través de una sola línea.

● Si se toman juntas, varias líneas de un bus pueden ser usadas para transmitir dígitos
binarios simultáneamente (en paralelo). Por ejemplo, una unidad de datos de 8 bits puede
ser transmitida sobre un bus de 8 líneas.

● Los sistemas computacionales contienen diferentes buses que proporcionan rutas entre
componentes a diferentes niveles de la jerarquía del sistema. Un bus que conecta los
componentes principales de la computadora (procesador, memoria, E/S) es llamado bus de
sistema. Las estructuras de interconexión más comunes en computadoras están basadas
en el uso de uno o más buses de sistema.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.7.- Interconexión de Bus

Estructura del Bus

Un sistema de bus típicamente consta de cientos de líneas separadas. Cada línea tiene
asignada un significado y función particular. Aunque existen diferentes diseños de bus, en
general, las líneas pueden ser clasificadas dentro de tres grupos funcionales:

● Líneas de datos.- Proporcionan una ruta para transferir los datos entre módulos del
sistema. Estas líneas, en conjunto, son llamadas el bus de datos. El número de líneas de
datos es conocido como el ancho del bus de datos. Dado que cada línea puede cargar
solo 1 bit a la vez, el número de líneas determina cuantos bits pueden ser transferidos a la
vez.

● Líneas de dirección.- Son usadas para designar la fuente o el destino de los datos que
fluyen sobre el bus de datos. El ancho del bus de dirección determina la capacidad
máxima de memoria del sistema. Las líneas de dirección, por lo general, también son
usadas para direccionar puertos de E/S.

● Líneas de control.- Son usadas para controlar el acceso y el uso de las líneas de datos y
de dirección. Dado que las líneas de datos y de dirección son compartidas por todos los
componentes, debe haber un medio para controlar su uso. Las señales de control
transmiten tanto comandos como información de temporización entre los módulos del
sistema.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.7.- Interconexión de Bus

Esquema de interconexión de bus.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.8.- Jerarquías de múltiples buses

Si un gran número de dispositivos son conectados al bus el rendimiento se verá afectado,


principalmente por dos razones:

● En general, cuanto más dispositivos se conecten al bus, mayor es la longitud del bus y,
por lo tanto, mayor es el retardo de propagación. Este retardo determina el tiempo que
toma a un dispositivo coordinar el uso del bus.

● Se puede producir un “cuello de botella” en el bus cuando la demanda total de


transferencia de datos bordea la capacidad máxima del bus. Este problema puede
compensarse hasta cierto punto incrementando la tasa de transferencia de datos que el
bus puede llevar y usadno buses de mayor ancho.

Dado que las tasas de transmisión de datos generadas por los disositivos conectados
(controladores de video, interfases de red) han crecido rápidamente, el uso de un único
bus ha quedado obsoleto. Por essta razón, la mayoría de computadoras utiliza sistemas de
múltiples buses, generalmente organizados en una jerarquía.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.8.- Jerarquías de múltiples buses

Arquitectura de bus tradicional


En esta arquitectura hay un bus local que conecta al procesador con la memoria caché y que
puede soportar uno o más dispositivos locales. El uso de la memoria caché le quita al
procesador la necesidad de acceder a la memoria principal frecuentemente. Así, la memoria
principal es removida del bus local y colocada en un bus de sistema. Es posible conectar
controladores de E/S directamente en el bus de sistema, pero una solución más eficiente es
hacer uso de uno o más buses de expansión para este propósito.

Arquitectura de bus tradicional.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.8.- Jerarquías de múltiples buses

Arquitectura de bus de alto rendimiento


También cuenta con un bus local que conecta al procesador con el controlador de la caché, el
cual a su vez está conectado al bus de sistema que soporta la memoria principal. El
controlador de la caché está integrado dentro de un puente, que se conecta con el bus de alta
velocidad.Este bus soporta conexiones de alta velocidad, tales como Ethernet, controladores
de video y buses de periféricos locales. Los dispositivos de menor velocidad aún son
soportados por un bus de expansión con una interfaz conectada al bus de alta velocidad

Arquitectura de bus de alto rendimiento.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.9.- Elementos en el diseño del bus

Tipo de bus
Las líneas del bus pueden ser separadas en dos tipos genéricos: dedicadas y multiplexadas.
Una línea de bus dedicada está permanentemente asignada a una función o a un subgrupo
de componentes físicos. Por otro lado, una línea de bus multiplexada es empleada para
múltiples propósitos (por ejemplo, un mismo bus para transmitir direcciones y datos).

Método de arbitraje
En prácticamente todos los sistemas, más de un módulo puede necesitar control del bus. Sin
embargo, dado que solo una unidad a la vez puede transmitir por el bus de manera exitosa,
se requiere un método de arbitraje. Estos métodos pueden ser clasificados en dos tipos_
centralizados y distribuidos. En un esquema centralizado, un solo dispositivo de hardware
(conocido como el árbitro o controlador del bus) es responsable para asignar el tiempo en el
bus. Por otro lado, en un esquema distribuido no hay un controlador central, ya que cada
módulo tiene acceso a la lógica de control, y los módulos actúan juntos para compartir el bus.

Temporización
Se refiere a la manera como los eventos son coordinados en el bus. Los buses pueden usar
temporización síncrona o temporización asíncrona. Con temporización síncrona la ocurrencia
de eventos en el bus es determinada por una señal de reloj. Por otro lado, con temporización
asíncrona la ocurrencia de un evento en el bus sigue y depende de la ocurrencia de un
evento previo.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.9.- Elementos en el diseño del bus

Ancho de bus
Por un lado, el ancho del bus de datos tiene un impacto en el rendimiento del sistema: cuanto
más ancho es el bus, mayor es el número de bits que pueden transferirse al mismo tiempo.
Por otro lado, el ancho del bus de dirección tiene un impacto en la capacidad del sistema:
cuanto más ancho es el bus, mayor es el rango de ubicaciones que pueden ser
referenciadas.

Tipo de transferencia de datos


Un bus soporta varios tipos de transferencia de datos. Todos los buses soportan tanto
escritura (de maestro a esclavo) como lectura (de esclavo a maestro). En el caso de los
buses multiplexados de dirección/datos, el bus primero es usado para especificar la dirección
y luego para transferir los datos. En el caso de los buses dedicados de dirección y datos, la
dirección es colocada en el bus de dirección y permanece ahí mientras los datos son
colocados en el bus de datos. Además de lectura y escritura, existen varias combinaciones de
operaciones que los buses permiten, por ejemplo, leer-modificar-escribir y leer después de
escribir.

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

2.- EL SISTEMA COMPUTACIONAL

2.9.- Elementos en el diseño del bus

Ancho del bus de datos

El ancho del bus de datos es un factor clave


para determinar el rendimiento general de un
sistema. Los procesadores son usualmente
clasificados por el ancho del bus de datos (8,
16, 32 y 64 bits).

Ejemplo:
Imagine una computadora con arquitectura
Harvard (memorias y buses separados para
instrucciones y datos) donde el ancho del bus
de datos, tanto para instrucciones como para
datos, es de 8 bits.

¿Qué ocurre si cada instrucción tiene un


tamaño de 16 bits?

¿Qué ocurre si deseo llevar a cabo la


operación 500 + 70000?

Semana 01 – Introducción Miguel A. Torres Lázaro


Arquitectura de Computadoras

3.- PREGUNTAS

Semana 01 – Introducción Miguel A. Torres Lázaro

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