Arquitectura Del Computador - 2013

30
7/23/2019 Arquitectura Del Computador - 2013 http://slidepdf.com/reader/full/arquitectura-del-computador-2013 1/30  Cátedra Arquitectura del Computador Docente Ing. Sergio R. Domínguez Curso  Año 21!

Transcript of Arquitectura Del Computador - 2013

Page 1: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 1/30

 

Cátedra Arquitectura del Computador

Docente Ing. Sergio R. Domínguez

Curso 1°

 Año 21!

Page 2: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 2/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 2

 Introducción Introducción Introducción IntroducciónActualmente el uso de computadoras esta

muy extendido en nuestras actividades cotidianas,

nos proporcionan mayor rapidez en nuestras tareas

así como la posibilidad de manejar gran cantidad de

datos. Así podemos percibir como de un tiempo a

esta parte las computadoras ganan terreno en las

actividades humanas, su capacidad de cálculo, de

procesar datos, generar información e incluso simular

procesos las convierten en herramientas

indispensables únicamente limitadas por su propia

capacidad.

Debemos tener en cuenta que el uso de

computadoras esta muy extendido en actividades que

requieren el manejo de gran cantidad de datos a una gran velocidad como, por ejemplo, en

diagnósticos médicos, investigaciones nucleares y de energía, inteligencia artificial, etc. Es en estos

casos, que demandan mayor capacidad y rapidez, cuando se sobrepasan las características de las

computadoras actuales. La solución pasa entonces por la construcción de mejores computadoras quelogren avances substanciales en su rendimiento.

Para lograr un aumento en el rendimiento se necesita mejorar la arquitectura  de las

computadoras y desarrollar nuevas técnicas de procesamiento. El concepto de arquitectura de un

computador se refiere a la integración de su estructura física con su estructura lógica. Se utiliza el

término arquitectura para enfatizar la síntesis de elementos de ingeniería y ciencias exactas con

elementos estéticos y de funcionalidad práctica, de la misma manera en que un arquitecto combinará

las técnicas y conocimientos de la Ingeniería con la apreciación artística e integración de su obra con

su entorno.

Esta arquitectura de computadores abarca las siguientes fases:

  Definición de las necesidades que pretende cubrir el computador.

  Planificación general del computador.

  Diseño del computador y sus componentes.

  Análisis del sistema obtenido.

  Especificación del sistema: características del sistema, de suscomponentes y de las instrucciones ejecutables.

Así el arquitecto de computadores deberá tener un gran conocimiento del equipo físico y del

equipo lógico, para poder obtener un buen rendimiento de la máquina, el cual depende

principalmente del:

  Lenguaje de programación.

  Compilador.

  Sistema Operativo.

  Arquitectura de la máquina.

Page 3: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 3/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 3

Cada una de estas áreas dependerá de sí misma y de las siguientes, por lo que hay una gran

incidencia en el buen desarrollo de unas sobre las otras. Así, el arquitecto tendrá que realizar las

siguientes funciones:

  Seleccionar y organizar el hardwareImplementación, estructura e interconexión de la CPU, subsistema de memoria,subsistema de entradas o salidas y redes de conexión.

  Seleccionar y estructurar el softwareDiseño del repertorio de instrucciones a nivel del lenguaje máquina, sistema operativo y

compiladores.

  Elección del lenguajeElegir el lenguaje de programación de alto nivel que mayor rendimiento pueda obtenerdel sistema diseñado.

Con todo lo expuesto hasta ahora podemos decir que para obtener el máximo provecho de la

computadora, tan importante es conocer su estructura lógica como la física. Sólo de esta manera

podremos obtener las máximas prestaciones de la estructura física aprovechando los recursos de la

lógica.

Problemática en la Arquitectura deProblemática en la Arquitectura deProblemática en la Arquitectura deProblemática en la Arquitectura de

ComputadoresComputadoresComputadoresComputadoresEl desarrollo de las computadoras y en concreto de la Informática, está ligada al desarrollo

de la electrónica. El avance de las tecnologías y el uso de las computadoras ha conseguido que su

diseño pase de ser un arte, en las primeras computadoras, a una disciplina de Ingeniería que plantea

gran dificultad, pero se basa en una metodología.

Al principio, las dos causas principales de la problemática en la arquitectura  de

computadores fueron:

 La independencia entre el hardware y el software, y la falta de definiciónde las funciones de cada uno de ellos. Hasta hace pocos años, losarquitectos de computadores procedían del campo de la IngenieríaElectrónica, y potenciaban el equipo físico aplicando los constantesavances de la Microelectrónica, sin tener en consideración lasprestaciones del sistema lógico.

 El seguimiento a ultranza de la arquitectura de Von Neumann, nodiseñada para soportar los nuevos sistemas operativos, lenguajes yaplicaciones.

Pero hoy en día, los inconvenientes ante los que nos enfrentamos son entre otros:

  El factor tiempo.En el diseño del equipo físico, el tiempo es un factor de gran relevancia. Se cita comoejemplo que cada tres años por el mismo precio y calidad obtenemos el doble delnúmero de transistores contenidos en un chip, frecuencia de trabajo y densidad dediscos magnéticos y la cuatriplicidad de la densidad de la memoria RAM. Laminiaturización es la constante en la evolución de los dispositivos electrónicos.Este fenómeno de desarrollo acelerado conduce a la ley de Moore (1964), que aseguraque el número de transistores que incorpora un circuito integrado se multiplica porcuatro cada aproximadamente año y medio. Se piensa que esta ley, vigente durante 40años, todavía tiene por lo menos otros 10 ó 20 años de vida. Los últimos chips

Page 4: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 4/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 4

fabricados tienen más de 1.000 millones de transistores en poco más de un centímetrocuadrado.

  El alcance de límites difícilmente superables de la tecnología hardware.La búsqueda de mayor rendimiento, se basará en nuevas arquitecturas que exploten enmayor grado las posibilidades del hardware. Un ejemplo es la utilización decomputadores paralelos.

  Límite de costo y ventas.

El aprovechamiento de la compatibilidad con equipos anteriores disminuye la potenciaen los nuevos equipos físicos. Un caso es la arquitectura de la familia de losprocesadores 80x86 de Intel, en la que los nuevos modelos son compatibles con losanteriores. El rendimiento conseguido es mucho menor que aprovechando todos losrecursos del nuevo sistema (Ejemplo: Core 2 Duo trabajando con un sistema operativoMS-DOS de 16 Bits), pero el decremento de rendimiento se ve subsanado por los bajoscostes de los equipos lógicos.

En conclusión, el alto nivel de conocimiento requerido del equipo físico y lógico, el factor

tiempo, la tecnología hardware insuperable y las limitaciones de costo-ventas, hacen que la labor del

arquitecto de computadores adquiera un alto grado de complejidad.

 Arquitectura Clásica Arquitectura Clásica Arquitectura Clásica Arquitectura ClásicaEsta arquitectura fue definida por uno de los mejores matemáticos de la historia, John Von

Neumann, que propuso es una arquitectura en la cual la CPU  (Unidad Central de proceso) está

conectada a una única memoria  donde se guardan conjuntamente instrucciones  (programas) y

datos (con los cuales operan estos programas). Además existe un módulo de entradas y salidas para

permitir la comunicación de la máquina con los periféricos extremos que maneja el usuario.

Si se dispone de un microprocesador que maneja palabras de 8 Bits, conectado a un bus de 8

Bits de ancho, que lo conecta con la memoria, deberá manejar instrucciones de una o más unidades

de 8 Bits (1 Byte), con lo que se obliga a la memoria a estar internamente dividida en unidades de 8

Bits. En esta arquitectura si debemos acceder a una instrucción y/o dato de más de 8 Bits deberemos

hacer dos o más accesos a memoria seguidos.

Esta arquitectura se denomina de tipo CISC  (Complex Instruction Set Computers). Las

instrucciones complejas exigen mucho tiempo de CPU para ejecutarlas y sólo un acceso a la

memoria que es más lenta que la CPU.

También destaca el hecho de que compartir el bus ralentiza los tiempos de operación ya que

no se puede hacer la búsqueda de una nueva instrucción antes terminar de realizar la transferencia

de datos resultante de los resultados obtenidos por la operación anterior.

INSTRUCCIONES

+

DATOS 

UNIDAD DEMEMORIA

UNIDAD ARITMÉTICO-

LÓGICA 

UNIDAD CENTRALDE PROCESO

UNIDADDE

CONTROL

CAMINO

DE

DATOS

ENTRADAS

 Y

SALIDAS

BUSES DECOMUNICACIÓN

Page 5: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 5/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 5

Por tanto, esta arquitectura tiene dos principales desventajas:

 La longitud de las instrucciones está limitada por la longitud de los datos,por lo tanto el procesador se ve obligado a hacer varios accesos amemoria para buscar instrucciones complejas.

 La velocidad de operación está limitada por el efecto cuello de botella, quesignifica que un bus único para datos e instrucciones impide superponer

ambos tipos de acceso.

 Arquitectura Moderna Arquitectura Moderna Arquitectura Moderna Arquitectura ModernaPropone modificaciones en la arquitectura del equipo físico y mejoras y nuevas prestaciones

en el tiempo lógico. Un ejemplo en el primer aspecto es la arquitectura Harvard, que está

especialmente diseñada para atacar las debilidades de la arquitectura Von Neumann, la solución,

conceptualmente, es bastante sencilla, se construye un procesador que está unido a dos tipos de

memoria diferentes por medio de dos buses independientes.

La memoria de datos y la memoria de instrucciones son independientes, almacenándose en

ellas los datos y el programa, respectivamente.

Para un procesador de tipo RISC  ( Reduced Instruction Set Computers), el conjunto de

instrucciones y el bus de la memoria de programa pueden diseñarse de manera tal que todas las

instrucciones tengan la misma longitud que la posición de la memoria y lo mismo con los datos.

Además, como los buses de ambas memorias son independientes, la CPU puede estar accediendo a

los datos para completar la

ejecución de una instrucción, y al

mismo tiempo estar leyendo lapróxima instrucción a ejecutar.

Una forma de potenciar el

aislamiento entre las instrucciones

y los datos es la incorporación de

memorias cache ultrarrápidas, que

como sucede en las últimas

generaciones de PC’s, una se

encarga de guardar los datos que va

a precisar la CPU y otra las

instrucciones.

DATOS

BUS DEDIRECCIONES

BUS DEINSTRUCCIONES

BUS DEDATOS

BUS DEDIRECCIONES

8 Bits

UNIDAD ARITM 

UNIDAD CENTRALDE PROCESO

UNIDADDE

CONTROL

CAMINODE

DATOS ENTRADAS

 Y

SALIDAS

INSTRUCCIONES

32 Bits

MEMORIA DEPROGRAMA

UNIDAD DECONTROL

CAMINO DEDATOS INSTRUCCIONES

DATOS

DATOS+

INSTRUCCIONES

CACHE

CACHE

CPU MEMORIA PRINCIPAL

Page 6: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 6/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 6

Evolución de la Arquitectura deEvolución de la Arquitectura deEvolución de la Arquitectura deEvolución de la Arquitectura de

ComputadoresComputadoresComputadoresComputadoresDesde los tiempos en que se estableció la arquitectura de Von Neumann, el desarrollo de los

computadores se ha realizado a un ritmo inimaginable, la causa del crecimiento de las computadoras

se debe fundamentalmente a la mejora en la tecnología. Esta evolución de la arquitectura de

computadoras puede contemplarse en cuatro etapas sucesivas en las que se aprecia su relación con

la tecnología.

Primera EtapaEsta primera etapa contempla la época situada en la mitad del siglo XX. La tecnología en

aquellos momentos se basaba en las válvulas de vacío. Las computadoras seguían plenamente el

modelo de Von Neumann, con un módulo de proceso (CPU), un módulo de E/S y una memoria.

Tanto la CPU como la memoria estaban construidas con válvulas de vacío con lo que la

velocidad de funcionamiento en ambos bloques era igual, aprovechando por tanto el rendimiento de

ambos de la misma forma.

La sencillez de la CPU y el pequeño tamaño de la memoria obligaban a utilizar un conjunto

reducido y elemental de instrucciones (RISC). La CPU tenía que acceder frecuentemente a

memoria, pero al poseer ambos módulos la misma tecnología el rendimiento conjunto era aceptable.

Segunda EtapaEn esta etapa aparecen los primeros circuitos integrados de pequeña y media escala de

integración (SSI  y MSI), que se aplican a la construcción de la CPU, mientras que la memoria

principal es construida con núcleos de ferrita, cuyos tiempos de accesos son muy elevados.

La velocidad de la memoria principal es 10 veces menor que la CPU, lo que provoca largos

períodos de inactividad de la CPU. A este fenómeno se le conoce como el “Cuello de Botella de

Von Neumann”.

Para solucionar esta pérdida de rendimiento de la CPU, se utilizan juegos de instrucciones

complejos, en los que cada instrucción equivale a varias operaciones elementales, evitándose así

accesos a memoria principal (CISC). La CPU contendrá una Memoria de Control, que se trata de

una memoria rápida en la que se almacenan las operaciones elementales (microinstrucciones)correspondientes a cada instrucción compleja (macroinstrucción).

INSTRUCCIONES

UNIDAD CENTRAL DE PROCESO

UNIDAD DECONTROL

CAMINODE DATOS 

INSTRUCCIONES

+

DATOS

MÓDULO DE E / S

DATOS

UNIDAD DE MEMORIA

Page 7: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 7/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 7

Como conclusión, se incrementa el proceso de decodificación de la macroinstrucción pero se

reduce el número de accesos a memoria principal, solucionándose el problema de las diferentes

velocidades de la memoria y la CPU, y acercándonos al modo de programar de los lenguajes de alto

nivel, que comienzan a desarrollarse por esta época.

Tercera EtapaLa tecnología de circuitos integrados siguió evolucionando, alcanzando la alta escala de

integración (LSI), que permitía la fabricación de memorias rápidas, pero que seguían siendo lentas

con respecto a la CPU.

La decodificación de instrucciones complejas requería más tiempo que el acceso a estas

memorias, por lo que las computadoras CISC disminuyen la complejidad de las instrucciones,

reduciéndose así el número de microinstrucciones correspondientes a cada instrucción. Este nuevo

tipo de computadores entre RISC y CISC obtiene el mayor rendimiento posible de la CPU y estas

memorias.

Aparece la memoria cache que se encarga de guardar la información de uso más frecuente de

la memoria principal, para disminuir el número de accesos a esta última. Estas memorias son más

rápidas, más caras y se usan con pequeñas capacidades. Como se ve en la siguiente figura la Unidad

de Control accede a la memoria cache, y sólo cuando no está la información que necesita en ella, a

la memoria principal. El contenido de la cache está optimizado para que sea el de más uso,

obteniendo de 5 a 10 veces velocidades mayores que la memoria principal.

INSTRUCCIONES

UNIDAD CENTRAL DE PROCESO

UNIDAD DECONTROL

UNIDAD DE MEMORIA

INSTRUCCIONES

+

DATOS

MÓDULO DE E / S

DATOSCAMINO

DE DATOS

SECUENCIADOR

MEMORIACACHÉ

INSTRUCCIONES

INSTRUCCIONES

UNIDAD CENTRAL DE PROCESO

UNIDAD DECONTROL

CAMINO DEDATOS 

UNIDAD DE MEMORIA

INSTRUCCIONES

+

DATOS

MODULO DE E / S

DATOS

UNIDAD DEMEMORIA

Page 8: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 8/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 8

Cuarta EtapaSe desarrolla la tecnología VLSI  (Muy alta escala de integración) que se aplica tanto a la

CPU como a la memoria cache, por lo que se vuelve a las computadoras RISC.

Las instrucciones vuelven a ser pocas y básicas, desapareciendo así la Memoria de Control.

En esta etapa el acceso a memoria se hará siempre a la cache, que contendrá la parte de la

memoria principal a utilizar en la mayoría de los accesos.

TaxonomíasTaxonomíasTaxonomíasTaxonomíasSegún las diferentes arquitecturas desarrolladas pueden clasificarse las computadoras de

diferentes puntos de vista. Una de las clasificaciones más extendida es la denominada taxonomía

de Flynn (1966), que se detalla a continuación.

Taxonomía de FlynnEsta taxonomía se basa en el número de flujos de instrucciones y flujos de datos que posee

cada sistema computador.

El proceso computacional consiste en la ejecución de una secuencia de instrucciones sobre

un conjunto de datos. Flujo de instrucciones es la secuencia sobre la que opera un procesador, y el

flujo de datos comprende la secuencia de datos de entrada y los resultados parciales y totales.

Las arquitecturas de computadoras se caracterizan por el hardware que destinan a atender a

los flujos de instrucciones y datos.Flynn propuso 4 categorías:

  SISD: Simple flujo de instrucciones, simple flujo de datos.

  MISD: Múltiple flujo de instrucciones, simple flujo de datos.

  SIMD: Simple flujo de instrucciones, múltiple flujo de datos.

  MIMD: Múltiple flujo de instrucciones, múltiple flujo de datos.

Después introdujo una quinta clasificación separada un poco de las cuatro anteriores:

MEMORIACACHÉ

DATOS

DATOS

INSTRUCCIONES

UNIDAD CENTRAL DE PROCESO

UNIDAD ARITMÉTICO-LOGICA

UNIDAD DE MEMORIA

INSTRUCCIONES

+

DATOS

MODULO DE E / S

UNIDAD DECONTROL

INSTRUCCIONES

INSTRUCCIONES+

DATOS

Page 9: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 9/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 9

  MTMD: Múltiple tareas, múltiple flujo de datos.

CCCCCCCCCCCCoooooooooooommmmmmmmmmmmppppppppppppuuuuuuuuuuuuttttttttttttaaaaaaaaaaaaddddddddddddoooooooooooorrrrrrrrrrrraaaaaaaaaaaassssssssssss SSSSSSSSSSSSIIIIIIIIIIIISSSSSSSSSSSSDDDDDDDDDDDD Responden a los monoprocesadores convencionales (tipo Von Neumann) que más se usan.

Al disponer de una única Unidad de Proceso  (Camino de Datos) sólo existe un Flujo de

Instrucciones  y un Flujo de Datos.

CCCCCCCCCCCCoooooooooooommmmmmmmmmmmppppppppppppuuuuuuuuuuuuttttttttttttaaaaaaaaaaaaddddddddddddoooooooooooorrrrrrrrrrrraaaaaaaaaaaassssssssssss MMMMMMMMMMMMIIIIIIIIIIIISSSSSSSSSSSSDDDDDDDDDDDD Existen aquí n Unidades de Proceso, cada una con su propia Unidad de Control y sus propias

instrucciones, pero operando sobre el mismo flujo de datos, de forma que la salida de un procesador

pasa a ser la entrada (operandos) del siguiente en el macrocauce de los datos. Se hacen diferentes

operaciones con los mismos datos.

Los arquitectos de computadoras han menospreciado esta organización y de hecho no existe

ninguna materialización real de este tipo.

CCCCCCCCCCCCoooooooooooommmmmmmmmmmmppppppppppppuuuuuuuuuuuuttttttttttttaaaaaaaaaaaaddddddddddddoooooooooooorrrrrrrrrrrraaaaaaaaaaaassssssssssss SSSSSSSSSSSSIIIIIIIIIIIIMMMMMMMMMMMMDDDDDDDDDDDD Flujo único de instrucciones y Flujo múltiple de Datos. Sólo hay una Unidad de Control 

que controla las diferentes Unidades de Proceso. Todas la Unidades de Proceso reciben la misma

instrucción, pero operan sobre los diferentes datos procedentes de la memoria compartida.

La misma instrucción la reciben todas las Unidades de Proceso, pero a veces no todas la

realizan porque la instrucción lleva codificado los procesadores que intervienen y los que están

inactivos.

FLUO DEINSTRUCCIONES

FLUO DEINSTRUCCIONES

FLUO DEDATOS

MEMORIA UNIDAD DEPROCESO UNIDAD DECONTROL

FLUO DE DATOS

FLUO DE DATOS

FLUO DE DATOS

FLUOINSTRUCCIONES

!

FLUOINSTRUCCIONES

2

FLUOINSTRUCCIONES

!

FLUOINSTRUCCIONES

2

FLUOINSTRUCCIONES

"

.

.

.

FLUOINSTRUCCIONES

"UNIDADDE

CONTROL"

UNIDADDE

PROCESO"

MEMORIA "

MEMORIA 2

MEMORIA !

UNIDADDE

CONTROL2

UNIDADDE

CONTROL

n UP1

UNIDADDE

PROCESO

n

UNIDADDE

PROCESO2

Page 10: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 10/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 10

La mayoría de los computadores SIMD necesitan que exista intercomunicación entre las

Unidades de Proceso, para compartir datos y resultados intermedios. Hay dos formas de lograrlo:

  Memoria CompartidaTodas las Unidades de Proceso utilizan una memoria común y cuando una quiereenviar un dato a otra, primero lo escribe en una posición que la otra conoce y luego éstalee dicha posición. Es como una cartelera de anuncios que puede usar todo el mundo.

  Red de InterconexiónLas M  posiciones de la memoria se reparten entre los N  procesadores a razón de M  / N  posiciones de memoria local para cada uno, además cada procesador se une con losdemás mediante una línea Full-Duplex de forma que en un momento determinado un

procesador puede recibir datos de otro y al mismo tiempo mandar otros datos a untercer procesador.

En este caso particular los 5 procesadores se reparten las  M  posiciones de memoria. Permite

la comunicación instantánea entre cualquier pareja de procesadores y de varias parejas entre sí (sólo

un procesador se comunica con otro). Además existen varios tipos de interconexión de redes como

la conexión serie o lineal, bidimensional o malla, en árbol, etc.

Los SIMD son mucho más útiles y comerciales en el mercado que los MISD y también más

flexibles. Además, es más fácil hacer algoritmos para los SIMD que para los MISD.

El caso ideal de los SIMD es cuando un problema se puede dividir en subproblemas

FLUO DEDATOS

"

FLUO DE INSTRUCCIONES

FLUO DEDATOS

!

FLUO DEDATOS

2

FLUOINSTRUCCIONES

.

.

.

UNIDADDE

CONTROL

UNIDADDE

PROCESOMEMORIA "

MEMORIA 2

MEMORIA !

UNIDADDE

PROCESO2

UNIDADDE

PROCESO

n

UP "5M

UP 25M UP 3

5M

UP #5M UP $

5M

Page 11: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 11/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 11

idénticos y además éstos tienen las mismas instrucciones.

CCCCCCCCCCCCoooooooooooommmmmmmmmmmmppppppppppppuuuuuuuuuuuuttttttttttttaaaaaaaaaaaaddddddddddddoooooooooooorrrrrrrrrrrraaaaaaaaaaaassssssssssss MMMMMMMMMMMMIIIIIIIIIIIIMMMMMMMMMMMMDDDDDDDDDDDD Este tipo de computadora se basa en el paralelismo como las SIMD, la diferencia es que la

arquitectura MIMD es asíncrona. No tiene un reloj central. Cada procesador en un sistema MIMD

puede ejecutar su propia secuencia de instrucciones y tener sus propios datos. Esta característica es

la más general y poderosa de esta clasificación.

Es una agrupación de monoprocesadores convencionales, cada uno con su Unidad deControl, su Unidad de Proceso y su memoria local. Cada uno dispone de su Flujo de Instrucciones y

de su Flujo de Datos, trabajan en paralelo y de forma asíncrona y están comunicados entre ellos

igual que los SIMD. Usan la memoria compartida o bien la red de interconexión.

Se supone que son los sistemas más perfectamente paralelos, ya que el paralelismo es total,

pero obviamente también son los más caros.

Los algoritmos para los MIMD deben tener un factor claro de paralelismo, aunque pueden

ser totalmente asíncronos, y además se necesita intercomunicación. Normalmente comienzan

cargando una tarea básica a uno cualquiera de los procesadores, y éste va descomponiendo tareas y

lanzándolas a los demás, así como creando dos colas, una de proceso y otra de procesadores. En la

primera se van introduciendo los procesos pendientes de ejecutar, y en la segunda se van insertando

los procesadores que van quedando libres después de terminar su tarea.

CCCCCCCCCCCCoooooooooooommmmmmmmmmmmppppppppppppuuuuuuuuuuuuttttttttttttaaaaaaaaaaaaddddddddddddoooooooooooorrrrrrrrrrrraaaaaaaaaaaassssssssssss MMMMMMMMMMMMTTTTTTTTTTTTMMMMMMMMMMMMDDDDDDDDDDDD Estas computadoras surgen como una extensión a la clasificación de Flynn, algo restringida

al contemplar la ejecución sólo a nivel de instrucciones.

Las computadoras Múltiples Tareas con Múltiples Flujos de Datos  son como las

computadoras MIMD, la única diferencia es la tarea que se aplica a cada Unidad de Proceso. Estas

computadoras son capaces de ejecutar concurrentemente un número determinado de tareas, cada una

con su propio conjunto de datos.

FLUOINSTRUCCIONES

"

FLUOINSTRUCCIONES

2

FLUO DE DATOS"

FLUO DE DATOS

!

FLUO DE DATOS2

FLUOINSTRUCCIONES

!

FLUOINSTRUCCIONES

2

FLUOINSTRUCCIONES

!

.

.

.

UNIDADDE

CONTROL UP1

UNIDADDE

PROCESO"

MEMORIA "

MEMORIA 2

MEMORIA !

UNIDADDE

CONTROL

UNIDADDE

CONTROL

SECUENCI ADOR

UNIDADDE

PROCESO2

UNIDADDE

PROCESO!

Page 12: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 12/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 12

Otras TaxonomíasExisten otras taxonomías que no son tan populares como la de Flynn entre las que destaca la

taxonomía de Shore, que al igual que la de Flynn, clasifica las computadoras en función del número

de elementos; pero mientras que la taxonomía de Flynn pretende clasificarlos por la organización

del software (Instrucciones y Datos), la clasificación de Shore lo hace por la estructura del

hardware (Unidad de Control, Unidad de Proceso y Memoria de Datos e Instrucciones). Por lo

tanto la aparición de paralelismo dentro de cada uno de estos componentes no se valora.

La arquitectura Shore se representa seis tipos:

  Tipo 1Formada por una UC (Unidad de Control) conectada a una UP (Unidad de Proceso) y auna Memoria de Instrucciones.

  Tipo 2Similar a la anterior, con la salvedad de que las lecturas de memoria se realizan deforma paralela, es decir, un Bit de cada palabra por cada acceso. Así la unidad deproceso está preparada para realizar operaciones con los datos leídos de esta forma.

  Tipo 3

Es una combinación de las arquitecturas anteriores; está formada por una memoriabidimensional a la que acceden dos UP que operan en consecuencia a la lectura querealizan, horizontal o vertical. La UC supervisa las dos UP.

  Tipo 4Existen múltiples UP conectadas a una sola UC, que recibe órdenes de una Memoriade Instrucciones. Cada UP trabaja con una Memoria local de Datos. No existe ningunacomunicación entre ellas.

  Tipo 5Es similar a la anterior, pero las UP se encuentran interconectadas entre ellas,pudiendo así la misma UP acceder a varios módulos de memoria.

  Tipo 6En esta arquitectura se integran la UP y la Memoria local en un solo componente, quelógicamente estará conectado a una UC.

Esta clasificación es bastante incompleta, y queda poco determinado el tipo de paralelismo

que se puede encontrar en un sistema. Además, tampoco diferencia, por ejemplo, sistemas que

implementen la segmentación dentro de la Unidad de Proceso y/o Unidad de Control, de los que no

las utilicen.

Otra taxonomía es la Estructural que no se basan sólo en el paralelismo para clasificar las

computadoras, sino que estudian también el modo de tratar los datos, la existencia de segmentación

y su tipo. Es una aproximación a la clasificación global y en la que intervienen varios criterios,incluyendo la aplicación o no de técnicas de paralelismo en distintos niveles.

 Unidad Central de Proceso Unidad Central de Proceso Unidad Central de Proceso Unidad Central de ProcesoUna computadora se puede definir como una maquina que manipula datos de acuerdo con un

programa almacenado que se ejecuta dentro del equipo.

La CPU, que consta principalmente de  Registros  (pequeñas unidades de memoria), de la

Unidad Aritmético-Lógica  (ALU) y de la Unidad de Control   (CU), es el microprocesador del

equipo y es el que define el modelo de computadora.

Page 13: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 13/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 13

Las unidades físicas representadas en la figura constituyen el Hardware. Para que sea útil, las

instrucciones almacenadas en memoria deben decir a la CPU que tiene que hacer. La preparación de

la lista de instrucciones se denomina programación. La lista de instrucciones constituye un

programa que se almacena de forma temporal o permanente en la memoria y que manipulara

informaciones denominadas datos.

El primer requisito que debe cumplir cualquier computadora es tener un mecanismo para el

procesamiento de datos. Este mecanismo es proporcionado por la ALU, que puede efectuar

operaciones como suma y resta de dos números, realizar operaciones lógicas, incrementar o reducir

números y operaciones de desplazamiento a la izquierda o a la derecha. A partir de este conjunto de

operaciones básicas pueden generarse funciones de procesamiento más complejas por medio de

programas.

Las computadoras deben incluir también una Unidad de Entrada y una de Salida, ya que

constituyen el medio a través del cual el equipo se comunica con el mundo exterior. El mundoexterior puede estar constituido por una persona que teclea en una terminal proporcionando datos a

la computadora y observando las respuestas después de haber procesador esos datos, o bien un

equipo, por ejemplo un lavarropas, que proporciona datos de entrada como la temperatura y las

revoluciones del centrifugado, y que es controlada de acuerdo con el programa contenido en la

computadora, a través de salidas que activaran o desactivaran el calefactor y que alteraran la

velocidad del motor.

Igualmente, la computadora debe contener una memoria interna, la cual cumple

principalmente dos funciones: proveer el almacenamiento para el programa de computación y

ofrecer almacenamiento temporal para los datos que pueda generar la ALU durante el periodo de

ejecución de un determinado programa, pero que no son requeridos de inmediato.

La unidad de control del computador controla la secuencia de operaciones de todos los

componentes antes descritos, de acuerdo con las instrucciones del programa de computación. Cada

Page 14: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 14/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 14

instrucción se busca en la memoria, la unidad de control la decodifica y la convierte en un conjunto

de señales de control de bajo nivel que dan lugar a que se ejecute la función especificada por esa

instrucción. Cuando concluye la ejecución de una instrucción, se busca la siguiente y se repite

nuevamente el proceso de decodificación y ejecución. Este proceso se repetirá tantas veces como

instrucciones tenga el programa y solo variara si se detecta una instrucción de ramificación, en cuyo

caso se buscara la instrucción en memoria especificada por la instrucción de ramificación.

Otro componente del computador es el reloj, un oscilador de frecuencia fija que sincroniza la

operación de las distintas partes del computador y asegura que todas las operaciones se ejecuten en

la secuencia correcta. La frecuencia del reloj define la velocidad de ejecución de las instrucciones enel computador y esta restringida por la velocidad operativa de los circuitos semiconductores que lo

integran.

Conviene resaltar que existen unos caminos o buses cuyo objetivo es hacer que las

instrucciones y los datos circulen entre las distintas unidades del computador.

En las siguientes secciones se realizara un análisis mas detallado de cada uno de los

elementos del computador mencionados con anterioridad

MemoriaMemoriaMemoriaMemoriaLa memoria es un bloque fundamental del computador cuya misión consiste en almacenar

los datos y las instrucciones de los programas en ejecución. Los dispositivos capaces de almacenar

información son muy diversos, desde las primitivas ficha o cinta de papel perforada, hasta los

circuitos integrados de muy gran escala de integración, basados en las más modernas tecnologías de

fabricación de semiconductores, pasando por un conjunto de elementos magnéticos (ferritas, discos

rígidos, cintas, etc.).

Conviene distinguir entre la memoria con la que trabaja la CPU y las memorias periféricas.

Las memorias de la unidad central tienen generalmente una capacidad reducida pero permiten el

intercambio de información de forma muy rápida y suelen basarse en tecnologías de

semiconductores de gran escala de integración. Las memorias periféricas se caracterizan por una

elevada capacidad de almacenamiento de información y una velocidad muy inferior a la de lamemoria de la CPU. El intercambio de información con la CPU lo realizan a través de las unidades

de entrada/salida.

Las instrucciones que componen un programa de computador normalmente son

representadas con una o más palabras en la memoria. Cada palabra se representa físicamente con

varios dígitos binarios en paralelo. Los datos también se almacenan como palabras en la memoria

del computador y la longitud de la palabra define el número de dígitos binarios que el computador

es capaz de manipular a la vez. El número de Bits por palabra lo define el diseñador del computador

y es una medida del poder de procesamiento del computador. Se suelen utilizar anchos de palabra

que oscilan entre 8 y 64 Bits, siendo frecuente las potencias exactas de 2, como 16 o 32.

La memoria solo puede realizar dos operaciones básicas: lectura y escritura. En la lectura, eldispositivo de memoria debe recibir una dirección de la posición de la que se quiere extraer la

información depositada previamente. En la escritura, además de la dirección, se debe suministrar la

información que se desea grabar.

Parámetros CaracterísticosParámetros CaracterísticosParámetros CaracterísticosParámetros CaracterísticosSe definen una serie de parámetros básicos que son fundamentales para valorar las

características de la memoria. Los más importantes son:

  Tiempo de escrituraEs el tiempo que transcurre entre el instante en que aparece en sus entradas lainformación a grabar y el instante en que dicha información queda realmente registrada.

Page 15: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 15/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 15

  Tiempo de lecturaEs aquel que transcurre entre el instante en que se proporciona la dirección de lainformación a leer y el instante en que la información esta disponible en la salida.

  Tiempo de accesoSe define como la media de los tiempos de lectura y escritura. En las memorias deacceso serie o secuencial debe distinguirse entre el tiempo de acceso medio y el deacceso máximo.

  Tiempo de cicloUna vez concluidas las operaciones de lectura o escritura, en ocasiones es necesarioun tiempo para la reinscripción de la información leída o simplemente de recuperación,antes de realizar una nueva operación. El tiempo de ciclo se define como la suma deeste tiempo mas el de acceso.

  CapacidadEs el número de Palabras o Bits que la memoria es capaz de almacenar. Puedeexpresarse en unidades de Bits, Bytes o Palabras, aunque lo más corriente es hacerloen Bytes.

  Dirección de memoria

Es el número que identifica biunivocamente una palabra o un registro individual de lamemoria. Si una memoria tiene un tamaño de N  palabras, la dirección de cada una deellas será un valor entero, comprendido entre 0 y N -1, que indica normalmente elnúmero de orden de cada palabra en el total. Por tanto, es usual emplear para ladirección números binarios de m  Bits, donde se cumple que 2m ≥ N .

 Almacenamiento en Memoria Almacenamiento en Memoria Almacenamiento en Memoria Almacenamiento en MemoriaPuede ayudar a entender mejor el concepto de Byte almacenado, si se piensa que en cada

casillero (celda) existen 8 llaves del tipo “Si-No”, como las comunes de pared para encender la luz,

cada una para retener un 1 (“Si”) o un 0 (“No”). Entonces, para una celda dada, como la que

contiene 01100001, la combinación de unos y ceros que están formando las 8 llaves es lainformación contenida en dicha celda. La información que almacena cada grupo de 8 llaves puede

referirse a instrucciones o datos.

El modelo de las llaves también es útil para tener presente

que en cada posición de MP siempre existe una cierta

combinación de unos y ceros, o sea no es posible que ella no

contenga “nada”, pues las 8 llaves siempre están presentes, cada

una en Si o en No.

En cada dirección de memoria (celda) sólo pueden leerse o escribirse 8 Bits por vez, sin

posibilidad de operar menor cantidad de Bits, o un Bit aislado.

Puesto que la palabra registro en un significado general indica algún lugar donde datos sepueden registrar, guardar, podría designarse “registro” a cada celda de memoria, y decir que la MP

está formada por un conjunto de registros independientes de 8 Bits cada uno. Para evitar tener que

aclarar “registro de la CPU” y “registro de MP”, se entiende que registro a secas significa que es de

la CPU, y las celdas de MP se denominan posiciones.

Cuando los datos o instrucciones ocupen más de 1 Byte, se almacenan fragmentados en

varios Bytes, los cuales deben estar contenidos en celdas correspondientes a posiciones consecutivas

de memoria, o sea en direcciones sucesivas.

En una operación de lectura o escritura de MP se puede acceder a varias celdas consecutivas.

El número máximo de éstas, constituye una palabra (Word) de memoria. Dicho número

puede ser 1, 2, 4 ú 8 Bytes (8, 16, 32 ó 64 Bits respectivamente), dependiendo de la cantidad de

líneas de datos que salen del procesador hacia memoria.

La memoria principal tiene asociados dos registros  para la realización de operaciones de

Page 16: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 16/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 16

lectura o escritura y un dispositivo  encargado de seleccionar una celda de memoria en cada

operación de acceso a la misma:

  Registro de Dirección de Memoria (MAR)Antes de la realización de una operación de lectura o escritura se ha de colocar en esteregistro la dirección de la celda que se va a utilizar en la operación, bien para grabar enella o para extraer de la misma el dato correspondiente.

  Registro de Intercambio de Memoria (MDR)Si se trata de una operación de lectura de memoria, este registro es el que recibe eldato de la memoria señalado por el MAR para su envío por medio del bus del sistema ala unidad que lo requiere. Si se trata de una operación de escritura en memoria, lainformación que hay que grabar, procedente de cualquier unidad funcional, esdepositada por medio del bus en el MDR para que desde él se transfiera a la posiciónde memoria indicada por el MAR.

  Selector de Memoria (MS)Este dispositivo se activa cada vez que se produce una orden de lectura o escritura,conectando la celda de memoria, cuya dirección figura en el MAR, con el MDR yposibilitando la transferencia de los datos en un sentido o en otro.

93

92

1

2

33

Registro de Direcciónde Memoria

Registro de Intercambiode Memoria

Selector de Memoria

Memoria Principal

 

En una computadora personal las capacidades actualmente en el mercado varían de forma

considerable con el paso del tiempo. Las capacidades van aumentándose día a día de forma

vertiginosa debido principalmente al abaratamiento constante de los chips de memoria, al aumentode la velocidad de acceso y a la creación de nuevos sistemas operativos capaces de manejar

memorias de capacidad cada vez mayor.

Por otra parte, aunque la capacidad real de la memoria principal es reducida, se ha

conseguido que, desde el punto de vista de su funcionamiento, esta capacidad sea mucho mayor que

la real, prácticamente ilimitada, mediante lo que se denomina memoria virtual. Esta memoria

virtual usa la memoria secundaria para expandir la memoria principal mediante un procedimiento

llamado paginación consistente en transferir trozos o páginas de la memoria secundaria a la central

cuando son necesarios e intercambiarlos por otros según las necesidades de cada momento. De esta

forma se consigue que toda la información almacenada en la memoria secundaria esté a disposición

de la CPU como si residiera en la memoria principal y que se puedan procesar programas cuyo

tamaño excede la capacidad real de la memoria principal.Una propiedad que puede caracterizar a algún tipo de memoria es su capacidad de mantener

Page 17: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 17/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 17

su contenido luego de desconectarse la energía eléctrica. Una memoria que puede hacerlo se dice

que es  no volátil   y en caso contrario, que es volátil . Es importante la volatibilidad o no de una

memoria, si la misma se encarga de almacenar programas o archivos de datos. El mejor ejemplo que

ilustra esta condición, son los almacenamientos en cinta o disco; de interrumpirse la energía, se

mantiene su contenido. Entonces tenemos que la memoria secundaria es del tipo no volátil, mientras

que la principal posee elementos de memoria de ambos tipos.

 Unidad Aritmético Unidad Aritmético Unidad Aritmético Unidad Aritmético----LógicaLógicaLógicaLógicaLa ALU es el elemento encargado de tratar los datos, ejecutando las operaciones aritméticas

y lógicas requeridas, de acuerdo al programa en curso.

Las operaciones que puede efectuar esta unidad son muy elementales, puesto que la mayoría

de los computadores configuran la ALU con un sencillo sumador-restador. La ejecución de

operaciones complejas se lleva a cabo descomponiéndolas en pasos elementales que serán

ejecutados muy rápidamente (una computadora estándar es capaz de realizar varios millones de

operaciones por segundo).

La unidad de control (CU) de la computadora se encarga de enviar la información a procesar

a la ALU junto con el código que selecciona la operación que debe ejecutarse.

RE1 RE2

MICROINSTRUCCIONES

BUS

REGISTRODE ESTADO

ACUMULADOR

CIRCUITOOPERACIONAL

 

En ocasiones, el operador se construye con su órgano secuenciador correspondiente. Esto

ocurre en computadores muy potentes, a los que se les dota de una ALU compuesta por varios

operadores que pueden funcionar en paralelo. En estos casos, los operadores secuenciales debenincluir su propio órgano secuenciador, que se encargue de dirigir las fases necesarias para la

realización de las operaciones encargadas. Este órgano se compondrá de un contador de fases, de

una lógica de decodificación de las fases y de un conjunto de registros para almacenamiento

temporal de cálculos intermedios. Estos registros, transparentes al usuario (es decir, que no los

puede manipular), son necesarios para que el operador no destruya información contenida en los

registros de tipo general.

El banco de registros de tipo general sirve para que el usuario almacene temporalmente datos

y resultados intermedios. Suele constar de 8 o 16 registros (aunque hay computadoras con cientos de

ellos). En muchas maquinas, uno de estos registros, llamado Acumulador, recibe un trato

privilegiado. Se utiliza como depositario de los resultados del operador y, sobre su contenido, serealizan muchas operaciones que no pueden hacerse sobre otros registros.

Page 18: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 18/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 18

La ALU, generalmente está conectada a unos Flip-Flop’s que forman el denominado

Registro de Estado, que almacenan ciertas condiciones relativas a la ultima operación realizada por

ella. Los más frecuentes son:

  CeroEste indicador se pone a uno cuando el resultado ha sido cero.

  Signo

Si este Bit es uno el número es negativo.

  AcarreoRepresenta el acarreo aritmético de una operación, si el resultado tiene acarreo, elindicador se pone a uno.

  DesbordamientoSe pone a uno si el resultado no cabe en el lugar que le corresponde (Overflow).

  ParidadEn el caso de emplear la paridad como criterio para comprobar si un dato es o nocorrecto, este indicador realiza la verificación de forma inmediata, poniéndose a uno o a

cero dependiendo de que se cumpla o no el criterio de paridad establecido.

Tipos de OperadoresTipos de OperadoresTipos de OperadoresTipos de OperadoresSe llama operador a todo circuito electrónico capaz de realizar una operación aritmética o

lógica, tales como suma, resta, AND, OR, XOR.

Según el número de dígitos con los que un operador puede trabajar simultáneamente, un

operador puede clasificarse como paralelo o serie. Un operador paralelo realiza la operación sobre

todos los dígitos de los operandos al mismo tiempo, mientras que uno serie trabaja digito a digito.

Por ello, el operador paralelo es un operador de palabra o vectorial, mientras que el serie es un

operador de digito, de tipo secuencial, puesto que requiere tantas fases como dígitos tengan losoperandos.

Se puede distinguir entre operadores monádicos  y diádicos. Los monádicos solamente

emplean un operando (por ejemplo, la operación de negación) mientras que los diádicos requieren

dos operandos (por ejemplo, en la suma o la multiplicación).

Según su ámbito de aplicación, los operadores pueden dividirse en generales y

especializados. Los operadores generales pueden realizar distintas clases de operaciones sin mas que

indicarles por medio de un código la operación seleccionada. Los operadores especializados se

restringen a una sola clase de operaciones (por ejemplo, suma y resta en coma flotante).

Generalmente, y sobre todo por razones de costo, las computadoras suelen tener un solo

operador de tipo general que realiza todas las operaciones básicas de la maquina. Las operaciones

complejas se realizan entonces por programa, descomponiéndose en un número indefinido de

operaciones básicas. También es frecuente la utilización de coprocesadores auxiliares especializados

en un determinado grupo de operaciones, como por ejemplo las de coma flotante, que

complementan adecuadamente al operador general a un precio reducido.

Coprocesador MatemáticoLa ALU sólo realiza operaciones aritméticas con números naturales o enteros, siendo que las

instrucciones para sumar y restar con estos números son muy rápidas de ejecutar. Para operar en la

ALU números fraccionarios, el programa que ordena las operaciones aritméticas debe controlar el

lugar donde está la coma, y operar los números como si fueran enteros. Esto es lo que hacemos con

papel y lápiz cuando, por ejemplo, multiplicamos dos números y luego al final ubicamos la posición

Page 19: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 19/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 19

de la coma en el resultado, sumando la cantidad de dígitos fraccionarios que presenta cada uno de

los operandos. Estas determinaciones y otras, demoran los resultados.

El coprocesador matemático  es un microprocesador dedicado entre otras funciones a

realizar rápidamente operaciones con números enteros y fraccionarios, encargándose sus circuitos

de controlar a cada instante el lugar donde debe ir la coma. También realiza operaciones

trigonométricas y logarítmicas.

De esta forma no se pierde tiempo en la ejecución de instrucciones adicionales, que lleven la

cuenta de la ubicación de la coma, como se requiere si se usa la ALU.

Un programa con muchas instrucciones que ordenen operaciones con el coprocesador, puedeobtener resultados hasta cien veces más rápido que otro programa que realice los mismos cálculos

simulando números con coma y usando la ALU. En cambio no se gana mucho en velocidad de

procesamiento si se usa coprocesador para programas como los procesadores de texto.

Asimismo, por ejemplo el coprocesador del 80486 permite operar en precisión extendida con

números de hasta 80 Bits, mientras que la ALU del 80486 puede operar dos números de 32 Bits.

Esto permite realizar con un coprocesador cálculos que requieran una mayor precisión, que de

realizarse en la ALU requerirían tiempos adicionales, puesto que números que superen el tamaño

que la ALU maneja, deben operarse por partes según este tamaño. Con el mismo fin, almacena en su

interior con muchas cifras, números como PI.

Procesadores como el 486DX  y el Pentium  presentan el coprocesador matemáticoincorporado en la pastilla del microprocesador. Los modelos 286 y 386 tienen la opción de insertar

en el motherboard  un chip independiente (80287 y 80387 respectivamente) que contiene el

coprocesador. De no existir éste, se simula por programa.

Los números enteros y fraccionarios (racionales) y los irracionales (PI, raíz de dos, etc.)

constituyen los números reales. Para que el coprocesador pueda operarlos deben estar codificados en

punto flotante ( floating point  – FP), que en castellano sería coma flotante o desplazable. El otro

nombre con que son conocidos los coprocesadores matemáticos es Unidad de Coma Flotante

(Floating Point Unit  – FPU).

Esta convención (similar a la notación científica) implica que todos los números que llegan

al coprocesador deben representarse de una manera normalizada, que ejemplificaremos en decimal,

siendo que en realidad en el interior del computador se da con números binarios.Cuando en el visor de una calculadora científica aparece 3.078 E3 se conviene que es 3,078

x 103 = 3078  ó sea que desplazamos la coma tres lugares hacia la derecha. De manera inversa,

partiendo de 3078 este número queda representado con la notación científica anterior compuesta por

dos números, de los cuales uno es el exponente de diez.

Del mismo modo 243,78 = 2,4378 x 100 = 2,4378 x 102

= 2.437 E2 es, en decimal, en una

notación semejante a la de punto flotante en binario.

Siempre será factible, corriendo la coma, representar un número “normalizado” de la forma

anterior, con un sólo dígito como parte entera, seguida de otra fraccionaria y otro número

independiente que indique cuántos lugares se debe correr la coma para obtener el número originario

en lugar del “normalizado”.Debe consignarse que existen instrucciones para números enteros y para números reales (en

punto flotante) cuyos códigos ordenan, que la operación aritmética se realice en la ALU y en la

FPU, respectivamente.

El coprocesador externo realiza las operaciones en punto flotante cuando el procesador se lo

ordena, mediante una señal, y mientras las lleva a cabo, el procesador puede paralelamente realizar

otras acciones. Un coprocesador es como una extensión del procesador central, que le adiciona a

éste registros, manejo de nuevos tipos de datos, instrucciones para estos datos, y constantes

numéricas de uso frecuente.

Page 20: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 20/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 20

Operaciones de una ALUOperaciones de una ALUOperaciones de una ALUOperaciones de una ALULas operaciones que puede efectuar la ALU, según su propósito, se clasifican en tres grandes

grupos:

  De desplazamiento

  Aritméticas

  Lógicas

DesplazamientosLas operaciones de desplazamiento consisten básicamente en correr los Bits de una palabra

hacia la izquierda o hacia la derecha. Si el operando origen, A, esta compuesto por n Bits (a0, a1,

a2,..., an-1), el operando resultado B, después de realizar el desplazamiento, estará compuesto por una

cadena de Bits que cumplen la ley:

bi+k=ai 

Donde k  indica el número de posiciones que se han desplazado. Si k >0, el desplazamiento es

hacia la izquierda y viceversa.

Las computadoras sencillas solo permiten desplazamientos de una posición a derechas o

izquierdas, mientras que las máquinas más complejas realizan desplazamientos múltiples, bien

mediante un operador combinacional especifico, o bien mediante varios desplazamientos unitarios.

Los desplazamientos a su vez pueden ser de varios tipos:

  LógicosLos Bits que se introducen (bien por la izquierda o por la derecha) son 0. En losdesplazamientos lógicos existe perdida de información. También hay operadores de

desplazamiento que permiten rellenar con unos las posiciones vacías.

  CircularesLos Bits que se introducen por un extremo son los mismos y en el mismo orden que losque van apareciendo por el extremo opuesto. Con los desplazamientos circulares nohay perdida de información.

  AritméticosSe utilizan cuando el dato es un número entero cuyo primer Bit es el de signo y suobjetivo es preservar ese signo aun cuando la magnitud del número que representendespués del desplazamiento sea distinto.

LgicasLas operaciones lógicas, que generalmente se encuentran en las computadoras, son las cuatro

siguientes:

  Negación NOT

  Suma OR

  Producto AND

  Suma exclusiva XOR

Page 21: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 21/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 21

La primera es una operación monádica, mientras que las otras tres son diádicas.

!ritm"ticasLas más importantes son:

  Cambio de signo

  Extensión de signo

  Adición y sustracción

  Multiplicación

  División

 Unidad de Control Unidad de Control Unidad de Control Unidad de ControlLa CU es la sección más compleja de la CPU, pues controla todas las funciones que realiza

la computadora. En la secuencia de ejecución de una instrucción, la CU se encarga de controlar la

búsqueda, la decodificación y la ejecución de dicha instrucción.

CLOCK

SECUENCIADOR

MICROINSTRUCCIONES

BUS

CONTADOR DE

PROGRAMA

DECODIFICADOR

DE INSTRUCCIONES

REGISTRO DE

INSTRUCCION

 

La ejecución de una instrucción implica una secuencia de movimientos de transferencia de

Bytes entre Memoria Principal y Registros de la CPU (o sólo entre estos últimos), establecidos porla CU en un orden determinado, según el código de dicha instrucción.

Cada segundo pueden ejecutarse algunos millones de instrucciones, para lo cual deben

sucederse muchos millones de estos movimientos de pasaje de direcciones, códigos, datos y

resultados, al ritmo de millones de pulsos eléctricos por segundo (Megahertz – MHz) que le llegan

a la CU, generados regularmente por un cristal piezo-eléctrico de cuarzo o reloj (clock).

Así se habla de microprocesadores (con reloj) de 66 MHz, 200 MHz, 866 MHz, 3.600 MHz

(ó 3,6 GHz). En principio, a mayor número de MHz podrán suceder más de estos movimientos por

segundo, con lo cual se podrán ejecutar más instrucciones por segundo.

La secuencia de pasos que ordena la CU para ejecutar cada instrucción es la siguiente:

Page 22: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 22/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 22

1) Obtener instrucción de la Memoria Principal (Fetch)El Registro Contador de Programa indica la dirección de MP donde comienza el códigode máquina de la instrucción a ejecutar, el cual luego de ser leído de MP llega alRegistro de Instrucción.

2) DecodificarEl código de operación indica la operación a realizar, cómo encontrar un dato a operar yla cantidad de Bytes que tiene la instrucción, para que la CU lleve a cabo la secuenciade movimientos preparada para ejecutar dicho código.

3) Obtener un dato a operarSi el dato está en MP, con una dirección que resulta del código de máquina de lainstrucción, se direcciona la MP para obtener un dato a operar (operando).Dicho dato llega al Registro de Intercambio de Memoria.

4) Realizar la operación ordenadaSegún lo ordenado, puede tener lugar una operación en la ALU, o consistir la operaciónen un simple movimiento de un registro a otro.

5) Cambiar el contenido del Registro Contador de ProgramaSe toma la dirección de la próxima instrucción y se vuelve al paso 1).

En MP existen almacenadas combinaciones de unos y ceros, números binarios que pueden

representar códigos de instrucciones, datos o direcciones. El procesador “no sabe” con cuál de estos

tipos de información está tratando, pero el orden, la secuencia repetitiva que realiza ha sido

perfectamente planeada para que no existan problemas de interpretación al respecto.

Este orden empieza cuando se enciende una computadora, pues lo primero que pide la CPU

de la MP es un código de máquina, el que corresponde a la primera instrucción del primer

programa a ejecutar, contenido en la porción ROM de MP.

El orden establecido supone que las instrucciones deben estar escritas en posiciones

sucesivas de memoria, y que los datos a operar por dichas instrucciones están en otra zona de

memoria. Acorde con estas reglas de juego, si las instrucciones han sido escritas en posicionessucesivas de memoria, y su código es el correcto, no habrá problemas en lo concerniente a cómo la

máquina interpreta cada combinación binaria que pide de memoria. Esto es así por que el orden

establece que lo primero que llega es un código, el cual permite localizar otro número que será un

dato, y luego nuevamente lo próximo que llegue será un código, etc.

Los principales registros con los que opera la CU son:

  Contador de Programa (PC)Contiene la dirección de memoria donde se encuentra la siguiente instrucción que sedebe ejecutar. Su contenido se incrementa automáticamente en cada ciclo debúsqueda o FETCH que realiza el procesador en Memoria Principal o se carga con lanueva dirección cuando las instrucciones a ejecutarse son predeterminadas porinstrucciones de salto.

  Instrucciones (IR)Contiene la instrucción que se va a ejecutar. Tras leer la instrucción de la memoria, laCPU la guarda en este registro para su posterior decodificación.

  Puntero de Pila (SP)Almacena la primera dirección libre de memoria utilizada como pila. Es generalmenteutilizado en el manejo de las subrutinas.El puntero de pila o Stack Pointer apunta a la zona de Memoria Principal que funcionacomo una pila usado por el Sistema Operativo para tratar las interrupciones externas oaccesos de subrutinas, también en esta área se guarda el estado de la CPU (CP,

Registros, etc.) cuando ocurren estos eventos.

Page 23: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 23/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 23

  Índice (IX)Utilizado para el acceso a direcciones de Memoria Principal. En él se almacena un dato(número) que luego se usa como referencia para lograr la dirección efectiva.

  Puntero de Datos (DP)Es el registro cuyo contenido representa la dirección de Memoria Principal en la que sealmacena el dato que deberá utilizarse en la próxima instrucción.

El #elo$ del SistemaSe denomina reloj (clock)  del sistema  a un circuito que genera pulsos eléctricos que se

suceden regularmente en el tiempo. Este circuito se fabrica con un pequeño cristal de cuarzo.

Si dichos pulsos se visualizan con un instrumento adecuado, como un osciloscopio

electrónico, tienen una forma como la figura anterior. Se trata de una señal eléctrica que pasa

cíclicamente por dos niveles denominados bajo  y alto, cada uno de una duración fija. La señal

emite 0 volts en el nivel bajo y 5 volts en el nivel alto.

Los parámetros que definen la señal del reloj son el período y la frecuencia. El período es el

tiempo que tarda la señal en repetir su forma. A la señal de reloj en un período, se la denomina ciclo 

de reloj. La frecuencia de reloj define el número de ciclos que se produce en la unidad de tiempo.

La unidad de tiempo que se utiliza es el segundo, siendo el Hertzio (Hz) la unidad que se utiliza

para medir la frecuencia. Así, por ejemplo, un reloj que funciona a una frecuencia de 1.000 Hz

proporciona una señal de 1.000 ciclos por segundo. Si el período de la señal es el tiempo que tarda

en realizar un ciclo, este período valdrá en este caso 1/1.000, o sea 0,001 segundos (1 milisegundo).

Para el funcionamiento de los microprocesadores actuales se necesitan varios millones de

pulsos por segundo, donde  Megahertz  (MHz) equivale a 1.000.000 de pulsos por segundo;

Gigahertz (GHz) a 1.000.000.000 ciclos y Terahertz (THz) a 1 billón de ciclos por segundo.

Ejecución de Instrucción 1 Ejecución de Instrucción 2

ObtieneInstrucción

RealizaOperación

RealizaOperación

ObtieneDato

ObtieneDato

Decodifica DecodificaObtieneInstrucción

 

Durante la ejecución de un programa, el reloj del sistema sincroniza el envío de las señales

de control por parte de la CPU al resto de los elementos del circuito (microinstrucción). Es decir, a

frecuencias de 1 GHz, la CPU realiza 1 microinstrucción cada 1 nanosegundo, lo que equivale a

1.000 millones de microinstrucciones por segundo.

Page 24: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 24/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 24

Un procesador será más rápido si funciona a más MHz o GHz, pero la frecuencia de los

pulsos no sirve para comparar la perfomance de procesadores distintos, ya que la velocidad final

depende de varios factores, como la tecnología de fabricación, el tamaño de cache, etc.

Por último, recordar que si bien se ejecuta una microinstrucción por cada pulso del clock,

una instrucción requiere de varios pulsos para su ejecución.

 Elementos de Interconexión Elementos de Interconexión Elementos de Interconexión Elementos de Interconexiónusesusesusesuses

Entre los elementos básicos que definen la estructura de un computador, se encuentran los

elementos de comunicación, que comprenden a los enlaces y a los conmutadores.

Un enlace es un dispositivo que permite transmitir información entre dos o mas elementos,

mientras que un conmutador permite encaminar la información entre varios enlaces, activando unos

e inhibiendo otros.

El elemento de comunicación más común entre los computadores es el bus, que consta de un

enlace que comunica, selectivamente, un cierto número de componentes o dispositivos de acuerdo a

ciertas normas o reglas de conexión.

En las transferencias de información que se realizan en los buses, hay como mínimo dos

agentes involucrados: el que origina la transferencia, denominado maestro de la transferencia y

el que responde a la misma, llamado esclavo de la transferencia. No todos los elementos

conectados a un bus pueden actuar como maestros de una transferencia; aquellos elementos que

tienen esta capacidad se denominan maestros potenciales.

La operación básica del bus se denomina ciclo de bus. Un ciclo permite realizar una

transferencia elemental de un dato entre dos dispositivos. En general, los pasos que componen un

ciclo de bus son los siguientes, si bien puede que algunos de ellos estén implícitos o no sean

necesarios.

Page 25: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 25/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 25

Petición del bus

El bus es un recurso compartido por varios elementosdel sistema, por lo que resulta necesario solicitar suuso. Los elementos que hacen esta petición sonmaestros potenciales del bus.

Control Se decide entre los maestros potenciales del bus, cualserá el maestro del bus en dicha transferencia.

Fase deDireccionamiento

Direccionamiento Se determina cual es el esclavo implicado en latransferencia.

Transferencia del dato El dato pasa, a través del bus, del dispositivo fuente al

destino.Fase deTransferencia Detección de errores Notificación de errores y finalización de latransferencia.

El bus puede ser serie, cuando sólo permite transmitir Bit a Bit, pero muy frecuentemente es

paralelo, permitiendo transmitir simultáneamente toda una palabra. Desde el punto de vista de la

temporización, el bus puede ser de ciclo completo o de ciclo partido. En el ciclo completo, el bus

es ocupado durante todo el tiempo que duran las fases de direccionamiento y de transferencia de una

información entre los dispositivos que se comunican. En el ciclo partido, se divide el tiempo del bus

en una serie de pequeños períodos o ranuras que son utilizados para enviar un mensaje.

Generalmente se utilizan dos ranuras, la de petición y la de contestación, para la realización de una

transferencia elemental, entre las cuales el bus puede ser utilizado para otros ciclos.El bus de ciclo partido es más complejo pero como sólo se ocupa el bus cuando es

estrictamente necesario, permite la transmisión de una mayor cantidad de información.

Independientemente de que el bus sea de ciclo partido o completo, la transmisión puede ser

síncrona o asíncrona. En el primer caso, existe un único reloj, que determina el inicio y fin de los

ciclos o de las ranuras; y en el segundo, la temporización la establecen los distintos dispositivos de

acuerdo a sus necesidades.

En los computadores se emplean generalmente tres tipos de buses: el de datos, el de

direcciones y el de control.

  Bus de DatosEs utilizado para transferir los datos entre los distintos elementos del computador. Enancho de este bus suele coincidir con el ancho de palabra con el que trabaja elcomputador que generalmente es el mismo que el ancho de palabra de memoria.

  Bus de DireccionesSe utiliza para el envío de direcciones. Generalmente éstas, que corresponden aposiciones de memoria sobre las que se quiere leer o escribir un dato, son generadaspor la CPU. También, a través de estas direcciones puede seleccionarse un dispositivode entrada/salida para intercambiar información con la lógica externa. El ancho de estebus esta relacionado con el tamaño de la memoria de la computadora ya que, con m  Bits se pueden direccionar un máximo de 2m palabras de memoria.

  Bus de ControlEstá formado por un conjunto de líneas que tienen misiones muy diversas y concaracter muy especifico. Las características de las líneas que forman este bus son muydiferentes de una computadora a otra, lo que impide generalizar sus características. Apesar de ello, existen algunas líneas del bus de control que realizan funciones comunesa todos los sistemas, por ejemplo la línea de lectura/escritura que especifica si en laposición de memoria seleccionada por el bus de direcciones se pretende leer o escribir,la señal de inicialización del funcionamiento del sistema, las líneas de interrupción, etc.

Page 26: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 26/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 26

 Instrucciones Instrucciones Instrucciones InstruccionesYa describimos que tareas realiza la CPU (específicamente la CU) para poder procesar una

instrucción, y que la misma será descompuesta en distintas microinstrucciones, las cuales no son

más que combinaciones binarias que “aparecen” en los cables de la CU en cada pulso de reloj.

Dichas combinaciones están guardadas ordenadamente en la CU, en una ROM que forma

parte de la misma, denominada ROM de Control, y son las que determinan cada movimiento queordena la CU.

En el interior de un microprocesador existe dicha ROM (inmodificable), que contiene cada

una de las combinaciones que deben aparecer sucesivamente con cada pulso del reloj en las líneas

de salida de la CU, según la instrucción que le toque ejecutar.

Cuando el Código de Operación de una instrucción llega al Registro de Instrucciones, el

mismo permite ubicar la primera de dichas combinaciones para que comience la ejecución de dicha

instrucción. Dado que estas microinstrucciones fueron escritas en posiciones sucesivas de esta

ROM, ellas aparecerán con cada pulso reloj en el orden necesario para que generen los movimientos

requeridos para ejecutar cada instrucción.

De acuerdo a su función, las instrucciones se clasifican en:

  Instrucciones de cálculo (aritmético y lógico).

  Instrucciones de transferencia de datos.

  Instrucciones de ruptura de secuencia.

Una segunda clasificación de las instrucciones hace referencia a su formato y al número de

operandos que intervienen en ellas, teniendo en cuenta que todas poseen su correspondiente Código

de Operación  (CO), que indica que operación se debe realizar por el microprocesador; y los

Operandos, relativos a los datos, que son necesarios para realizar su objetivo.

!nstrucciones de Tres Operandos!nstrucciones de Tres Operandos!nstrucciones de Tres Operandos!nstrucciones de Tres OperandosTambién se denominan instrucciones de tres direcciones. Constan en primer lugar del CO al

que le siguen tres operandos, de los cuales, los dos primeros son las direcciones de los argumentos

que hay que operar y el tercero es la dirección donde se depositará el resultado. Este formato de

instrucción es el más cómodo de trabajar pero es el que precisa mayor número de Bits.

Page 27: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 27/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 27

Acumulador 

Registro de Instrucción

CO Op. 1 Op. 2

Reg. E2Reg. E1

Op. 3

Circuito

Operacional

 

!nstrucciones de "os Operandos!nstrucciones de "os Operandos!nstrucciones de "os Operandos!nstrucciones de "os OperandosContienen el CO y dos operandos, de los que uno de ellos actúa como receptor del resultado

de la operación. Son llamadas instrucciones de dos direcciones.

Acumulador 

Registro de Instrucción

CO Op. 1 Op. 2

Reg. E2Reg. E1

Circuito

Operacional

 

!nstruccion!nstruccion!nstruccion!nstrucciones de Un Operandoes de Un Operandoes de Un Operandoes de Un Operando

Acumulador 

Registro de Instrucción

CO Oper.

Reg. E2Reg. E1

Circuito

Operacional

 

Page 28: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 28/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 28

Son las llamadas instrucciones de una dirección, se utilizan generalmente en máquinas cuya

arquitectura funciona con filosofía de acumulador. El acumulador de la ALU contiene previamente

el primer argumento de la operación, el segundo es el contenido de la propia instrucción, y después

de ser operados ambos por el circuito operacional, el resultado queda depositado de nuevo en el

acumulador.

!nstrucciones #in Operandos!nstrucciones #in Operandos!nstrucciones #in Operandos!nstrucciones #in OperandosInstrucciones sin dirección que se utilizan en computadoras cuya arquitectura tiene filosofía

de pila. Una pila está formada por datos almacenados en orden consecutivo en la memoria, y

mediante el puntero de Pila (Stack Pointer ) se indica la dirección del último dato introducido en

ella. Cuando se saca un dato de la misma, el Puntero de Pila decrece apuntando al dato que está a

continuación en la pila, en orden descendente. Cuando se introduce un dato, el puntero toma la

dirección de memoria siguiente en forma ascendente y se introduce el dato en dicha dirección.

Estas instrucciones sólo llevan código de operación, de tal forma que cuando se trata de una

operación de cálculo, se sacan los operandos de la pila y el resultado se introduce en ella.

Acumulador 

Registro de Instrucción

CO

Op. 1

Op. 2

Result.

Reg. E2Reg. E1

Circuito

Operacional

Pila

Puntero

 

Métodos de DirMétodos de DirMétodos de DirMétodos de DireccionamientoeccionamientoeccionamientoeccionamientoEl método de direccionamiento de una instrucción es el modo que se utiliza en la misma

para indicar la posición de memoria en que está situado él o los datos que constituyen los operandos

intervinientes en la instrucción.

"ireccionamiento !n"ireccionamiento !n"ireccionamiento !n"ireccionamiento !nmediato$mediato$mediato$mediato$En este método el dato que hay que utilizar forma parte de la propia instrucción, no siendo

necesario ningún acceso a memoria para la realización de la misma.

Código de Operación Dato

Page 29: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 29/30

Arquitectura del Computador  Sergio R. Domínguez  – Arquitectura Interna – Página 29

"ireccionamiento "irecto$"ireccionamiento "irecto$"ireccionamiento "irecto$"ireccionamiento "irecto$En este caso la instrucción contiene la dirección de la memoria donde se encuentra el dato.

Esto hace necesario un acceso a memoria para trasladar el dato hasta la ALU o hasta la unidad

designada por la instrucción.

Memoria

Código de Operación Dirección N N Dato

"ireccio"ireccio"ireccio"ireccionamiento !ndirecto$namiento !ndirecto$namiento !ndirecto$namiento !ndirecto$En este caso la dirección contenida en la instrucción no es la del dato implicado sino la de

una posición de memoria que contiene la dirección de ese dato. Esta posición se denomina dirección

intermedia e implica en las instrucciones que utilizan este método de direccionamiento la necesidad

de un ciclo de memoria extra para acceder al dato.Memoria

Código de Operación Dirección N N Dirección M

M Dato

"ireccionamiento %elativo$"ireccionamiento %elativo$"ireccionamiento %elativo$"ireccionamiento %elativo$En él, la dirección de memoria donde se encuentra el dato, se consigue sumando la dirección

contenida en la propia instrucción con una magnitud fija contenida en un registro especial. De esta

manera se posibilita el acceso a un conjunto de posiciones determinadas, normalmente consecutivas,

a partir de una posición considerada como dirección de referencia.

Código de Operación Dirección NMemoria 

N+K Dato

Dirección de Referencia K

Ciclo de InstrucciónCiclo de InstrucciónCiclo de InstrucciónCiclo de InstrucciónPara que un programa pueda ser ejecutado por una computadora, este debe ser almacenado

en la memoria principal. La CPU tomará una a una sus instrucciones y las ejecutará. El conjunto de

acciones necesarias para el proceso de una instrucción es el denominado ciclo de instrucción. Estese compone de dos fases:

  Fase de BúsquedaSe transfiere la instrucción que corresponde ejecutar desde la memoria a la CU.

  Fase de EjecuciónConsiste en la realización de todas las acciones que conlleva la propia instrucción.

Page 30: Arquitectura Del Computador - 2013

7/23/2019 Arquitectura Del Computador - 2013

http://slidepdf.com/reader/full/arquitectura-del-computador-2013 30/30

Pasos en la &ase de 'squedaPasos en la &ase de 'squedaPasos en la &ase de 'squedaPasos en la &ase de 'squeda  La unidad de control (CU) envía una microinstrucción para que el registro contador

de programa (PC) que contiene la dirección de la siguiente instrucción, seatransferido al registro de dirección de memoria (MAR).

  La posición de memoria que figura en el MAR  es utilizada por el selector paratransferir su contenido (instrucción) al registro de intercambio de memoria (MDR).

  Se transfiere la instrucción desde el MDR al registro de instrucción (IR).

  El decodificador procede a interpretar la instrucción que acaba de llegar del IR quedando dispuesto para la activación del circuito correspondiente de la ALU  einformando al secuenciador.

  El PC se incrementa con un valor 1 (o n  en el caso que este sea el tamaño de lapalabra de memoria), de tal forma que quede apuntando a la siguiente instrucción.Si la instrucción es de ruptura de secuencia, el PC se cargara con la dirección quecorresponda.

Pasos en la &ase de E(ecuciónPasos en la &ase de E(ecuciónPasos en la &ase de E(ecuciónPasos en la &ase de E(ecución  Se transfiere la dirección del primer operando desde el IR al MAR.

  El selector de memoria (MS) extrae de la memoria dicho dato depositándolo en elMDR.

  Se lleva este operando desde el MDR al registro de entrada 1 (REN1) de la ALU.

  Se transfiere la dirección del segundo operando desde el IR al MAR.

  El MS extrae de la memoria dicho dato depositándolo en el MDR.

  Se lleva este operando desde el MDR al registro de entrada 2 (REN2) de la ALU.

  El secuenciador envía una microinstrucción a la ALU para que ejecute la operaciónde que se trate. El resultado de la operación queda almacenado en el registroacumulador (AC).

  Este resultado es enviado desde el AC al MDR.  Se transfiere desde el IR  al MAR  la dirección donde ha de almacenarse el

resultado en la memoria.

  Se transfiere el resultado desde el MDR a la dirección indicada en el MAR.Nota: si la instrucción fuese sin operandos, no se ejecutarían los pasos 1 al 6, ni el 8.