Está en la página 1de 111

UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS

FACULTAD DE INGENIERIA
DEPARTAMENTO INGENIERIA DE SISTEMAS

ARQUITECTURA DE COMPUTADORES
IS-603

EDICION 2022

Ing. Miguel Aguilar Arquitectura de Computadoras 1


DATOS GENERALES

Arquitectura de Computadores
Código Asignatura: IS-603
Requisitos: Redes de Datos I
Unidades Valorativas: 4
Catedrático: Ing. Miguel Eduardo Aguilar Cruz
MBA
Celular: 98429566
E-mail: miguel.aguilarc@unah.edu.hn

Ing. Miguel Aguilar Arquitectura de Computadoras 2


¿Por qué estudiar la Organización y Arquitectura
de las computadores?

• El computador es el corazón de la informática.


• El computador no debe visualizarse como una caja negra que
ejecuta programas mágicamente.
• Todos los estudiantes de Ingeniería de Sistemas deben
comprender y valorar los componentes funcionales de un
computador, sus características, funcionamiento e interacciones.
• Es necesario comprender la arquitectura del computador para
estructurar un programa de forma que este sea mas eficiente en
una maquima real.

Sin el computador la mayoría de las asignaturas de informática serian hoy una rama
de la matemática teórica.
Ing. Miguel Aguilar Arquitectura de Computadoras 3
OBJETIVO GENERAL DE LA ASIGNATURA
La tecnología de los computadores moderna necesita que los profesionales de todas las
especialidades de la informática conozcan el hardware y el software. La interacción entre
estos dos aspectos a diferentes niveles ofrece, al mismo tiempo, un entorno para la
compresión de los fundamentos de la computación. Independientemente de que su interés
principal sea el hardware o el software, la informática o la electrónica, las ideas centrales de
la estructura y el diseño del computador son las mismas. Por lo tanto, hemos centrado este
curso en mostrar la relación entre el hardware y el software y en los conceptos básicos de
los computadores actuales.
El paso de los monoprocesadores a los microprocesadores multinúcleo ha confirmado la
solidez de esta perspectiva.
El curso esta orientado tanto a aquellos que, con poca experiencia en lenguaje
ensamblador o diseño lógico, necesitan entender la organización básica de un computador,
como a los que, con conocimientos de lenguaje ensamblador y/o diseño lógico, quieren
aprender como se diseña un ordenador o entender como trabaja un sistema y por qué se
comporta como lo hace.

Ing. Miguel Aguilar Arquitectura de Computadoras 4


AL FINALIZAR EL CURSO EL ALUMNO
TENDRA LA CAPACIDAD DE CONTESTAR A LO
SIGUIENTE:

• ¿Como los programas escritos en alto nivel son


trasladados a lenguaje de hardware y como el hardware
ejecuta el programa resultante?
• ¿Cual es el interface entre el software y hardware, y como
el software ordena al hardware ejecutar las funciones
necesarias?
• ¿Que determina el rendimiento de un programa y como
puede un programador mejorar dicho rendimiento?
• ¿Que técnicas pueden usar los diseñadores de hardware
para mejorar el rendimiento?
• ¿Cuáles son las razones y consecuencias del reciente paso
del procesamiento secuencial al paralelo?

Ing. Miguel Aguilar Arquitectura de Computadoras 5


OBJETIVOS ESPECIFICOS

• Comprender el papel de cada componente del sistema


del computador.
• Entender como trabaja el mecanismo de
interrupciones y su función en la arquitectura del
computador contemporánea.
• Entender la jerarquía de memoria, y aprender cómo
trabaja la memoria virtual.
• Diseñar una memoria según la organización requerida.

• Entender en forma general el funcionamiento del CPU.

Ing. Miguel Aguilar Arquitectura de Computadoras 6


OBJETIVOS ESPECIFICOS

• Desarrollar una comprensión del formato de instrucción


y el funcionamiento del ciclo de la instrucción.
• Entender el concepto de pipelining y paralelismo.
• Realizar una investigación y discusión de un tema
avanzado en la organización y arquitectura del
computador.

Ing. Miguel Aguilar Arquitectura de Computadoras 7


CONTENIDO SINTETICO

• Introducción
• Interconexiones del computador
• Sistema de Memoria
• Rendimiento
• Entrada/Salida
• Conjunto de Instrucciones
• Modos de Direccionamiento y Formato
• Estructura y Funcionamiento del Procesador
• Segmentación y Procesadores Superescalares
• Funcionamiento Unidad de Control
• Organización Paralela

Ing. Miguel Aguilar Arquitectura de Computadoras 8


CONTENIDO ANALITICO
 

Ing. Miguel Aguilar Arquitectura de Computadoras 9


UNIDAD 1

ESTRUCTURAS DE
INTERCONEXIÓN Y SISTEMA DE
MEMORIA
ESTRUCTURAS DE INTERCONEXIÓN

• Componentes de la computadora
• Funcionamiento de la computadora
• Estructura del bus
• Jerarquías de buses múltiples
• Elementos de diseño de un bus
• Transferencias de datos
• Arbitraje
• Bus PCI
• Chipset

Ing. Miguel Aguilar Arquitectura de Computadoras 11


SISTEMA DE MEMORIA

• Conceptos básicos sobre sistema de memoria


• Elementos de diseño de memoria cache
• Memoria interna
• Tipos y tecnologías de memoria
• Memoria principal semiconductora
• Corrección de errores
• Organización avanzada de memoria DRAM
• Memoria Externa
• Disco Magnético
• SSD
• Memoria virtual

Ing. Miguel Aguilar Arquitectura de Computadoras 12


UNIDAD 2
RENDIMIENTO Y
ENTRADA/SALIDA

Ing. Miguel Aguilar Arquitectura de Computadoras 13


RENDIMIENTO

• Introducción
• Parámetros de Rendimiento
• Coste
• Comparación del rendimiento
• Unidades de medida del rendimiento
• Ley de Amdahl
• Relación coste – rendimiento
• Coste de una computadora

Ing. Miguel Aguilar Arquitectura de Computadoras 14


Entrada/Salida

• Dispositivos externos
• Módulos de entrada/salida
• Entrada/Salida programada
• Controlador de interrupciones de entrada/salida
• Acceso directo a memoria DMA
• Canales de entrada/salida y procesador
• Interface externo

Ing. Miguel Aguilar Arquitectura de Computadoras 15


UNIDAD 3
CONJUNTO DE INSTRUCCIONES
ESTRUCTURA Y FUNCIONAMIENTO
DEL PROCESADOR

Ing. Miguel Aguilar Arquitectura de Computadoras 16


INSTRUCCIONES: EL LENGUAJE DE
LA COMPUTADORA

• Características de las instrucciones máquina


• Tipos de operandos
• Tipos de operaciones
• Lenguaje ensamblador
• Modos de Direccionamiento
• Formato de Instrucciones

Ing. Miguel Aguilar Arquitectura de Computadoras 17


ESTRUCTURA Y FUNCIONAMIENTO DEL
PROCESADOR

• Organización del procesador


• Organización de los registros
• Ciclo de instrucción
• Segmentación de instrucciones
• Diseño del Camino de Datos
• Implementación de un solo ciclo
• Implementación Multiciclo

Ing. Miguel Aguilar Arquitectura de Computadoras 18


PARALELISMO EN LAS INSTRUCCIONES Y
PROCESADORES SUPERESCALARES

• Visión de conjunto
• Limitaciones
• Aspectos Relacionados con el diseño
• Lectura Pentium 4
• Lectura PowerPC

Ing. Miguel Aguilar Arquitectura de Computadoras 19


UNIDAD DE CONTROL

• Operación de la unidad de control


• Microoperaciones
• Control del procesador
• Control cableado
• Control Microprogramado

Ing. Miguel Aguilar Arquitectura de Computadoras 20


Organización Paralela

• Procesamiento paralelo
• Organización de procesadores múltiples
• Multiprocesadores Simétricos
• Coherencia de cache y protocolo MESI
• Computación vectorial
• Procesamiento Multihilo y Multiprocesadores
Monochip
• Clusters

Ing. Miguel Aguilar Arquitectura de Computadoras 21


“Nobody can go to heaven
without dying”

EVALUACION

• Tres exámenes parciales 100% y un examen de


reposición de la nota mas baja.
• Asistencia a clase

Ing. Miguel Aguilar Arquitectura de Computadoras 22


Bibliografía

• Organización y Arquitectura de Computadores, William Stallings,


Pearson- Prentice Hall 7ª edición. (Libro de texto)
• Computer Organization and Design, David A, Patterson and John L.
Hennesy, Editorial Elsevier 3th edition.
• Organización de Computadoras, Andrew S. Tanenbaum, Prentice
Hall, 4ª edición.
• Principios de Arquitectura de Computadores, Miles J. Murdocca-
Vincent P. Heuring, Prentice Hall 3a edición.
• Mostafa Abd-El - Barr “Fundamentals of Computer Organization and
Architecture” Wiley.
• Linda Null and Julia Lobur “Computer Organization and
Architecture” Jones and Bartlett Publishers.

Ing. Miguel Aguilar Arquitectura de Computadoras 23


CONCEPTOS INTRODUCTORIOS

The most beautiful thing we can experience is the mysterius.


It is the source of all true art and science.

Albert Einstein. What I Believe 1930


Ing. Miguel Aguilar Arquitectura de Computadoras 24
Tipos de aplicaciones de
computador

• Computadoras de escritorio
• Servidores
• Supercomputadoras
• Computadoras Empotradas (Embedded
Computers)

Ing. Miguel Aguilar Arquitectura de Computadoras 25


Numero de distintos procesadores vendidos entre 1998 y 2002.

Ing. Miguel Aguilar Arquitectura de Computadoras 26


Venta de microprocesadores entre 1998 y 2002 combinando todos sus usos de acuerdo
a la arquitectura del conjunto de instrucciones.

Ing. Miguel Aguilar Arquitectura de Computadoras 27


FACTORES QUE DETERMINAN EL
RENDIMIENTO DE UN PROGRAMA

• Algoritmo
• Software del sistema para crear y trasladar el
programa a instrucciones de maquina.
• Efectividad de la computadora para ejecutar
las instrucciones.

Ing. Miguel Aguilar Arquitectura de Computadoras 28


RENDIMIENTO DE UN PROGRAMA

Componente de Hardware o Software Como este componente afecta el


rendimiento
Determina el numero de sentencias de
Algoritmo código fuente y el numero operaciones de
I/O
Lenguaje de programación, compilador y Determina el numero de instrucciones de
arquitectura maquina

Determina la rapidez en la ejecución de


Procesador y sistema de memoria instrucciones

Sistema de I/O (Hardware y Sistema Determina la rapidez en la ejecución de las


Operativo) operaciones de I/O

Ing. Miguel Aguilar Arquitectura de Computadoras 29


Bajo los programas

En París sólo me miraban


fijamente cuando les
hablaba en francés;
nunca conseguí hacer
entender a esos idiotas su
propio idioma.

Mark Twain, The Innocents


Abroad, 1869

Ing. Miguel Aguilar Arquitectura de Computadoras 30


Vista simplificada del hardware y el software como capas jerárquicas,
mostradas como círculos concéntricos con el hardware en el centro y el
software de las aplicaciones en el exterior.

Ing. Miguel Aguilar Arquitectura de Computadoras 31


Software del
Sistema
Software que provee servicios de
utilidad.

Sistema Operativo Compilador


Traslada un programa escrito en
Interface entre usuario y
lenguaje de alto a nivel a
hardware, además administra los
instrucciones que el hardware
recursos de la computadora.
entiende.

Ing. Miguel Aguilar Arquitectura de Computadoras 32


PRINCIPALES FUNCIONES SISTEMA
OPERATIVO

• Manejo de operaciones de entrada salida.


• Asigna almacenamiento y memoria.
• Proveer protección en el uso de los recursos
entre múltiples aplicaciones.

Ing. Miguel Aguilar Arquitectura de Computadoras 33


Traslación Notación Simbólica a Binario

Ensamblador Lenguaje Ensamblador

Es un programa que traslada la Representación simbólica de la


versión simbólica de la instrucción instrucción de maquina.
en la versión binaria.

Ing. Miguel Aguilar Arquitectura de Computadoras 34


LENGUAJE DE ALTO NIVEL A LENGUAJE DE HARDWARE

Expresión en lenguaje de
alto nivel
A+B

El compilador traslada a
ensamblador
Add A,B

El ensamblador traslada a
instrucción binaria
1000110010100000

Ing. Miguel Aguilar Arquitectura de Computadoras 35


Ing. Miguel Aguilar Arquitectura de Computadoras 36
Ing. Miguel Aguilar Arquitectura de Computadoras 37
VENTAJAS PROGRAMACION
LENGUAJES DE ALTO NIVEL

• Permiten al programador pensar en un


lenguaje mas natural.
• Mejoran productividad del programador.
• Permiten que los programas sean
independientes de la computadora en la cual
fueron desarrollados.

Ing. Miguel Aguilar Arquitectura de Computadoras 38


El hardware subyacente en cualquier
computadora realiza las mismas
funciones básicas: Entrada de datos,
salida de datos, procesamiento de datos
BAJO y almacenamiento de datos.
LA CUBIERTA

Ing. Miguel Aguilar Arquitectura de Computadoras 39


ORGANIZACIÓN DE LA COMPUTADORA
El procesador toma las instrucciones y datos de la memoria. La entrada escribe datos en la
memoria y la salida lee datos de la memoria. El control envía señales que determinan las
operaciones del camino de datos, la memoria, la entrada y la salida.

Esta organización es independiente de la tecnología del hardware: se puede colocar cada parte de
cada computador, pasado y presente, en una de estas cinco categorías.
Ing. Miguel Aguilar Arquitectura de Computadoras 40
ENTRADA Y SALIDA DE DATOS

Dispositivos Entrada Dispositivos Salida


Es un mecanismo a través del cual Es un mecanismo que transmite el
la computadora es alimentada con resultado de un calculo a un
información, como un teclado, usuario u otra computadora.
mouse, etc. Ejemplo: Impresora

Algunos dispositivos como redes y discos proveen ambos, entrada y salida a la computadora.

Ing. Miguel Aguilar Arquitectura de Computadoras 41


ABSTRACCION DE LAS
COMPUTADORAS

• Ambos Hardware y Software consisten


de capas jerárquicas, cada capa inferior
oculta detalles de la capa superior. Este
principio de abstracción es la forma en
que los diseñadores de hardware y
diseñadores de software hacen frente a
la complejidad del sistema de las
computadoras.

Una interface clave entre los niveles de abstracción es la Arquitectura del Conjunto de
Instrucciones (ISA), la interface entre el hardware y el software de bajo nivel.
Ing. Miguel Aguilar Arquitectura de Computadoras 42
Evolución y mejoras
en el Rendimiento
de las Computadoras

Ing. Miguel Aguilar Arquitectura de Computadoras 43


MICROELECTRONICA
Las funciones de la computadora son ejecutadas por dos
elementos básicos:

Compuertas Celdas de
lógicas Memoria
Controlan el flujo de los Almacenan un bit de
datos. datos.

Interconectando muchos de estos dispositivos fundamentales, podemos construir una computadora.


Ing. Miguel Aguilar Arquitectura de Computadoras 44
ELEMENTOS BASICOS DE LA COMPUTADORA

ENTRADA
ENTRADAS SALIDA
SALIDA

LECTURA (READ)
SEÑAL DE CONTROL
ESCRITURA (WRITE)

Funciones Básicas de una


Computadora
Almacenamiento de datos
Procesamiento de datos
Transferencia de datos
Control

Ing. Miguel Aguilar Arquitectura de Computadoras 45


CARACTERISTICAS FAMILIA DE
COMPUTADORAS
Conjunto de instrucciones similar o idéntico
Sistemas operativos similares o idénticos
Velocidad creciente
Numero creciente de puertos de E/S
Tamaño de memoria creciente
Costo creciente

Ing. Miguel Aguilar Arquitectura de Computadoras 46


Igual
Arquitectura
ISA

Diferente
Familias de
Fabricantes costo y
computadoras
rendimiento
Intel x86

Diferencias en
Organización
Hardware

Una particular arquitectura puede extenderse muchos


años, mientras la organización cambia con los adelantos tecnológicos.

Ing. Miguel Aguilar Arquitectura de Computadoras 47


MEMORIA DE SEMICONDUCTOR

• 4100 primera memoria de semiconductores


• Desarrollada en 1970 por Fairchild
• RAM Estática
• 256 Bits
• No destructiva

DENSIDAD
COSTO/BIT
(CAPACIDAD DE ALMACENAMIENTO)

¿Y LA VELOCIDAD?
Ing. Miguel Aguilar Arquitectura de Computadoras 48
Generaciones de memoria desde 1970

256
1K 4K 16K 64K 256K 1M 4M 16M 64M 1G
M

Cada generación ha suministrado cuatro veces la


densidad de almacenamiento de la generación anterior,
acompañada de una disminución en el costo/bit y el
tiempo de acceso.

Ing. Miguel Aguilar Arquitectura de Computadoras 49


RENDIMIENTO PROCESADORES DE INTEL

Ing. Miguel Aguilar Arquitectura de Computadoras 50


BALANCE DE RENDIMIENTO
Mientras el procesador ha incrementado su velocidad otros
componentes no lo han hecho en la misma proporción.

“Es necesario un ajuste entre la Organización y


Arquitectura para compensar”
Ejemplo
Interface entre procesador y memoria

VELOCIDAD DEL
MICROPROCESADOR VELOCIDAD CON LA CUAL LOS DATOS
PUEDEN SER TRANSFERIDOS
ENTRE MEMORIA PRINCIPAL Y
PROCESADOR

El camino entre procesador y memoria es el mas crucial porque es el responsable de llevar un


constante flujo de instrucciones y datos entre los chips de memoria y procesador.
Ing. Miguel Aguilar Arquitectura de Computadoras 51
DESBALANCE EN RENDIMIENTO

Ing. Miguel Aguilar Arquitectura de Computadoras 52


ALTERNATIVAS PARA EL BALANCE DE
RENDIMIENTO

• Incremento del numero de bits a ser escritos o


leídos simultáneamente utilizando memorias mas
anchas que profundas y utilizando mayor ancho
de bus.
• Incluir un sistema de memoria cache.
• Buses de alta velocidad y jerarquía de buses.

Ing. Miguel Aguilar Arquitectura de Computadoras 53


MEJORAS EN LA ORGANIZACIÓN Y
ARQUITECTURA DE CHIPS

Ing. Miguel Aguilar Arquitectura de Computadoras 54


ENFOQUES PARA INCREMENTAR LA
VELOCIDAD DEL PROCESADOR

• Incremento en la velocidad del hardware


del procesador.
• Incremento en el tamaño y velocidad de
la memoria cache.
• Efectuar cambios en la organización y en
la arquitectura que incremente la
velocidad en la ejecución de instrucciones
(Paralelismo).

Tradicionalmente el factor dominante en la ganancia de rendimiento ha estado enfocado en la


velocidad del reloj y densidad lógica.
Ing. Miguel Aguilar Arquitectura de Computadoras 55
ASPECTOS A CONSIDERAR AL INCREMENTAR LA DENSIDAD LOGICA Y LA
VELOCIDAD DE UN CHIP
Potencia
Aumenta la densidad
de potencia
(Watts/cm2),
generando calor.

Retardo RC
La velocidad de los electrones
esta limitada por la
resistencia y capacitancia de
los hilos metálicos que
interconectan los transistores.

Latencia
Memoria
La velocidad de la memoria
ralentiza la velocidad del
Es necesario hacer mas énfasis en la Arquitectura y procesador.
Organización para mejorar las prestaciones.
Ing. Miguel Aguilar Arquitectura de Computadoras 56
OTRAS ESTRATEGIAS PARA
INCREMENTAR EL RENDIMIENTO

• Incremento en la capacidad de memoria cache


(cache en dos niveles).
• Filas de procesamiento (pipelining).
• Arquitectura Superescalar (varias filas de
procesamiento).
• Multiprocesadores (Multinucleo).

Ing. Miguel Aguilar Arquitectura de Computadoras 57


ORGANIZACIÓN CHIP POWER4

• Primer chip multiprocesador


• 2001
• IBM (International Business
Machines)
• Basado en la organización y
arquitectura del Power PC de
Motorola.
• 1.3 GHz
• 174 Millones de transistores
• Arquitectura Superescalar

Ing. Miguel Aguilar Arquitectura de Computadoras 58


Arquitectura y Organización de
Computadores

Ing. Miguel Aguilar Arquitectura de Computadoras 59


ARQUITECTURA DE
COMPUTADORAS

• Se refiere a los atributos de un sistema visibles


por el programador en ensamblador.
• Conjunto de instrucciones, recursos y
características del procesador que son visibles al
software que se ejecuta en el mismo.
• Determina el software que el procesador puede
ejecutar directamente.

Ing. Miguel Aguilar Arquitectura de Computadoras 60


La arquitectura de un sistema
afecta directamente en la
ejecución lógica de programas.
Estudiar la arquitectura de la
computadora ayuda a que
nosotros contestemos la pregunta:
¿Cómo diseñar una computadora?

Ing. Miguel Aguilar Arquitectura de Computadoras 61


EJEMPLOS DE ARQUITECTURA

• Registros
• Conjunto de Instrucciones
• Formato de Instrucción
• Modos de direccionamiento
• El numero de bits usados para representar
los datos (números, caracteres)
• Mecanismos de Entrada/Salida
• Codificación de las instrucciones

Ing. Miguel Aguilar Arquitectura de Computadoras 62


ORGANIZACIÓN DE
COMPUTADORAS

• Se refiere a las unidades funcionales y


sus interconexiones, que cumplen con
las especificaciones arquitectónicas.
• Incluye los aspectos relativos a la
implementación lógica o física.

Ing. Miguel Aguilar Arquitectura de Computadoras 63


La organización incluye aspectos
físicos del sistema de la
computadora.
Ayuda a que nosotros contestemos
la pregunta:
¿Cómo trabaja una computadora?

Ing. Miguel Aguilar Arquitectura de Computadoras 64


EJEMPLOS DE ORGANIZACION

Tecnología de Interface entre


Señales de
memoria la computadora
control.
utilizada. y periféricos.

Ing. Miguel Aguilar Arquitectura de Computadoras 65


Ejemplo Relación entre Arquitectura y
Organización

Es un tema de
organización si esa
Es un tema de
instrucción será
arquitectura decidir si
implementada por
una computadora
una unidad especial o
tendrá una
por un mecanismo
instrucción de
que hace uso
multiplicar.
repetido de la unidad
de suma del sistema.

Ing. Miguel Aguilar Arquitectura de Computadoras 66


ASPECTOS A CONSIDERAR PARA LA
DECISION ORGANIZACIONAL

• Frecuencia de uso de la instrucción de multiplicar.


• La velocidad relativa de ambos enfoques.
• Costo
• Tamaño físico de la unidad especial de multiplicar.

Ing. Miguel Aguilar Arquitectura de Computadoras 67


OPERACIONES
DEL COMPUTADOR
Ing. Miguel Aguilar Arquitectura de Computadoras 68
Procesamiento
de datos

Funciones de
Almacenamiento
Control la de datos
Computadora

Transferencia
de datos

Ing. Miguel Aguilar Arquitectura de Computadoras 69


VISTA FUNCIONAL DE LA COMPUTADORA

Ing. Miguel Aguilar Arquitectura de Computadoras 70


TRANSFERENCIA DE DATOS

Transfiriendo datos de
un periférico o línea de
comunicación a otro.

Ing. Miguel Aguilar Arquitectura de Computadoras 71


ALMACENAMIENTO DE DATOS

Datos transferidos desde


el exterior y viceversa
(Read, Write)

Ing. Miguel Aguilar Arquitectura de Computadoras 72


PROCESAMIENTO Y ALMACENAMIENTO DE DATOS

Operación que involucra


Procesamiento y almacenamiento

Ing. Miguel Aguilar Arquitectura de Computadoras 73


PROCESAMIENTO CON DATOS EN RUTA

Ruta entre el almacenamiento


y el exterior

Ing. Miguel Aguilar Arquitectura de Computadoras 74


ESTRUCTURA Y FUNCION DE LA
COMPUTADORA

Ing. Miguel Aguilar Arquitectura de Computadoras 75


¿Cómo describir un sistema tan complejo
como el de una Computadora?

• La clave es reconocer la
naturaleza jerárquica del
sistema.

Ing. Miguel Aguilar Arquitectura de Computadoras 76


IDEA CLAVE

Tanto el hardware como el software están


estructurados en niveles jerárquicos, cada uno
de los cuales oculta detalles al nivel superior.
Mediante este principio de abstracción los
diseñadores de hardware y de software
pueden enfrentarse a la complejidad de los
computadores.

Una interfaz clave entre los niveles de abstracción es la arquitectura del repertorio de
instrucciones: la interfaz entre el hardware y el software de bajo nivel.

Ing. Miguel Aguilar Arquitectura de Computadoras 77


Ing. Miguel Aguilar Arquitectura de Computadoras 78
SISTEMA JERARQUICO

La naturaleza jerárquica de sistemas


complejos es esencial para su diseño y
descripción.

El diseñador solamente necesita tratar


con un nivel particular del sistema a la
vez.

Cada nivel del sistema consiste de un


conjunto de componentes y su
interrelación.

El comportamiento de cada nivel


depende únicamente del nivel inferior
inmediato.

En cada nivel el diseñador esta


comprometido con la estructura y
función.

Ing. Miguel Aguilar Arquitectura de Computadoras 79


ESTRUCTURA
La forma en la cual
los componentes
están
interrelacionados.

FUNCION
La operación de
cada componente
individual como
parte de la
estructura.

Ing. Miguel Aguilar Arquitectura de Computadoras 80


Para describir la estructura y función de
una computadora tenemos dos
opciones:

• Comenzar desde el nivel mas bajo e ir


construyendo hasta el nivel mas alto.
• Comenzar desde el nivel mas alto y
descomponer el sistema en
subniveles.

Evidencia en varios campos sugiere que el enfoque descendente


es mas claro y efectivo.
Ing. Miguel Aguilar Arquitectura de Computadoras 81
ESTRUCTURA JERARQUICA DE LA COMPUTADORA

NIVEL SUPERIOR

PROCESAMIENTO

Periféricos ALMACENAMIENTO
Líneas de
(Dispositivos de
TRANSFERENCIA comunicación
Entrada/Salida)
CONTROL

La computadora interactúa de alguna manera con el exterior, todas las conexiones al


exterior pueden ser clasificadas como dispositivos periféricos o líneas de comunicación.

Ing. Miguel Aguilar Arquitectura de Computadoras 82


SEGUNDO NIVEL

Ing. Miguel Aguilar Arquitectura de Computadoras 83


En el segundo nivel existen
cuatro componentes:

• Unidad Central de Procesamiento (CPU): Controla la


operación de la computadora y efectúa funciones de
procesamiento. La CPU es conocida como procesador.
• Memoria Principal: Almacenamiento de datos.
• Entrada/Salida: Movimiento de datos entre la
computadora y el exterior.
• Sistema de Interconexión: Mecanismos que proveen
la comunicación entre CPU, memoria y entrada/salida.

En el segundo nivel puede haber uno o mas de los


componentes antes mencionados.
Ing. Miguel Aguilar Arquitectura de Computadoras 84
TERCER NIVEL

Para nuestros propósitos, el mas interesante y mas complejo componente es el procesador.

Ing. Miguel Aguilar Arquitectura de Computadoras 85


COMPONENTES DEL
PROCESADOR

• Unidad de Control: Controla la operación del


procesador y por lo tanto de la computadora.
• Unidad Aritmética Lógica (ALU): Efectúa las
funciones de procesamiento de datos.
• Registros: Proveen al procesador almacenamiento
interno.
• Interconexión del Procesador: Algunos mecanismos
que facilitan la comunicación entre la unidad de
control, la ALU, y los registros.

Cada uno de los componentes anteriores se vuelven mas complejos


con el uso de técnicas de organización en paralelo y pipelining (filas
de procesamiento).
Ing. Miguel Aguilar Arquitectura de Computadoras 86
CUARTO NIVEL

Ing. Miguel Aguilar Arquitectura de Computadoras 87


EL SISTEMA DE LA
COMPUTADORA

Ing. Miguel Aguilar Arquitectura de Computadoras 88


El diseño de las computadoras personales esta
basado en tres conceptos desarrollados por John
Von Neumann:

• Datos e instrucciones almacenados en memoria.


• El contenido de la memoria es direccionable por
locación, sin considerar el tipo de dato
almacenado.
• La ejecución ocurre en forma secuencial (a no
ser que dicha secuencia se modifique
explícitamente).

Ing. Miguel Aguilar Arquitectura de Computadoras 89


PRINCIPIO DE EQUIVALENCIA
ENTRE SOFTWARE Y HARDWARE

Algo que puede hacerse con el software también puede hacerse con el
hardware, y algo que puede hacerse con el hardware también puede
hacerse con software.

Programación en Programación en
Hardware Software

La implementación en hardware es siempre mas rápida.

Ing. Miguel Aguilar Arquitectura de Computadoras 90


PROGRAMACION EN HARDWARE

• Se interconecta una cierta configuración de


componentes lógicos para realizar un calculo
concreto.
• El proceso de conexión de los diversos componentes
para obtener dicha configuración se denomina
Programa Cableado (Hardwired Program).

Hardware especifico

Secuencia de
Funciones
Datos Aritméticas y Resultados
Lógicas

Ing. Miguel Aguilar Arquitectura de Computadoras 91


PROGRAMACION EN SOFTWARE

• Se construye una configuración de uso general de


funciones lógicas y aritméticas.
• Este hardware realizara funciones diferentes según las
señales de control aplicadas.

Códigos de Interprete de
Instrucción Instrucción

Señales de control

Funciones Aritméticas
Datos y Lógicas de Propósito Resultados
General

En lugar de reconfigurar el hardware para cada nuevo programa, el programador simplemente necesita un
nuevo conjunto de señales de control.

Ing. Miguel Aguilar Arquitectura de Computadoras 92


COMPONENTES DE LA COMPUTADORA

Ing. Miguel Aguilar Arquitectura de Computadoras 93


FUNCION DE LA COMPUTADORA

La función básica de la computadora es ejecutar programas


procesando las instrucciones almacenadas en memoria.
El procesamiento de una instrucción consiste en dos pasos:

BUSQUEDA EJECUCION
• El procesador trae
• El procesador
las instrucciones
ejecuta una
desde la memoria
instrucción a la vez.
hacia los registros.

Ejecución de un programa
Consiste en la repetición del proceso de búsqueda
y ejecución de instrucciones. Solamente se detiene si la maquina se desconecta, se produce un error irrecuperable o
ejecuta una instrucción del programa que detiene el computador.

Ing. Miguel Aguilar Arquitectura de Computadoras 94


La etapa de ejecución de la instrucción implica varias
operaciones y depende de la naturaleza
de la instrucción.

CICLO BASICO DE INSTRUCCION

Ciclo de Instrucción
El procesamiento requerido por una sola instrucción.

Ing. Miguel Aguilar Arquitectura de Computadoras 95


BUSQUEDA Y EJECUCION DE INSTRUCCION

Ing. Miguel Aguilar Arquitectura de Computadoras 96


DIAGRAMA DE ESTADO
CICLO DE INSTRUCCION

Para algunos ciclos de instrucción ciertos estados pueden no darse y otros pueden
ser visitados mas de una vez.
Ing. Miguel Aguilar Arquitectura de Computadoras 97
La instrucción leída se almacena en el registro IR (Registro de
instrucciones) y luego el procesador interpreta la instrucción y
ejecuta las acciones siguientes:

Procesador Memoria

Procesador Entrada/Salida

Procesamiento

Control

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

Ing. Miguel Aguilar Arquitectura de Computadoras 98


ESTRUCTURA DE LA COMPUTADORA IAS
Instituto de Estudios Avanzados de Princeton

CPU

Unidad
Aritmética
Lógica

Memoria Equipo de
Principal Entrada/
(M) Salida (I,O)
Unidad
Programa de
Control

Ing. Miguel Aguilar Arquitectura de Computadoras 99


Formatos de Memoria
Computadora IAS

No hay una definición universal del término palabra. En general, una palabra es un conjunto ordenado de bytes o bits que
representa la unidad básica de almacenamiento de información que se puede almacenar, transmitir o con la que se puede operar
en un determinado computador. Normalmente, si un procesador tiene un conjunto de instrucciones de longitud fija, entonces la
longitud de las instrucciones es igual a la longitud de palabra.

Ing. Miguel Aguilar Arquitectura de Computadoras 100


ESTRUCTURA
EXPANDIDA DE LA
COMPUTADORA
IAS

1000 posiciones de una


palabra de 40 bits

Ing. Miguel Aguilar Arquitectura de Computadoras 101


DIAGRAMA DE FLUJO OPERACIÓN DE LA COMPUTADORA IAS

M(X) = Contenido
de la locación de
memoria cuya
dirección es X.

Ing. Miguel Aguilar Arquitectura de Computadoras


102
EJEMPLO
Considerar una computadora hipotética con las siguientes
características:

Ing. Miguel Aguilar Arquitectura de Computadoras 103


Registros del Procesador
PC IR AC
Registro de
Contador de programa Acumulador
Instrucciones

Código de
Operación Hexadecimal
operación
Cargar AC desde
0001 1
memoria
Almacenar AC en la
0010 2
memoria
Sumar a AC desde
0101 5
memoria

Ing. Miguel Aguilar Arquitectura de Computadoras 104


Ing. Miguel Aguilar Arquitectura de Computadoras 105
EJECUTAR EL SIGUIENTE FRAGMENTO DE PROGRAMA

M (940) + M (941) M (941)

PASO 1 BUSQUEDA

Memoria Registros CPU


300 1 9 4 0 3 0 0 PC

301 5 9 4 1 AC

302 2 9 4 1 1 9 4 0 IR
.
.
.
940 0 0 0 3
941 0 0 0 2

Ing. Miguel Aguilar Arquitectura de Computadoras 106


PASO 2 EJECUCION

Memoria Registros CPU


300 1 9 4 0 3 0 1 PC

301 5 9 4 1 0 0 0 3 AC

302 2 9 4 1 1 9 4 0 IR
.
.
.
940 0 0 0 3
941 0 0 0 2
1 = Cargar el contenido de la
dirección 940 en AC

Ing. Miguel Aguilar Arquitectura de Computadoras 107


PASO 3 BUSQUEDA

Memoria Registros CPU


300 1 9 4 0 3 0 1 PC

301 5 9 4 1 0 0 0 3 AC

302 2 9 4 1 5 9 4 1 IR
.
.
.
940 0 0 0 3
941 0 0 0 2

Ing. Miguel Aguilar Arquitectura de Computadoras 108


PASO 4 EJECUCION

Memoria Registros CPU


300 1 9 4 0 3 0 2 PC

301 5 9 4 1 0 0 0 5 AC

302 2 9 4 1 5 9 4 1 IR
.
.
. 3+2=5
940 0 0 0 3
941 0 0 0 2
5 = Sumar el contenido de la
dirección 941 a AC

Ing. Miguel Aguilar Arquitectura de Computadoras 109


PASO 5 BUSQUEDA

Memoria Registros CPU


300 1 9 4 0 3 0 2 PC

301 5 9 4 1 0 0 0 5 AC

302 2 9 4 1 2 9 4 1 IR
.
.
.
940 0 0 0 3
941 0 0 0 2

Ing. Miguel Aguilar Arquitectura de Computadoras 110


PASO 6 EJECUCION

Memoria Registros CPU


300 1 9 4 0 3 0 3 PC

301 5 9 4 1 0 0 0 5 AC

302 2 9 4 1 2 9 4 1 IR
.
.
.
940 0 0 0 3
941 0 0 0 5
2 = Almacenar AC en memoria

En este ejemplo, se necesitan tres ciclos de instrucción.


Con un conjunto de instrucciones mas complejo, se hubieran necesitado menos ciclos.

Ing. Miguel Aguilar Arquitectura de Computadoras 111

También podría gustarte