26
División Académica de Informática y Sistemas Pág. 1 de 26 Yesenia Hernández Hernández Nicandro Alberto Báez collado

organizacion de computadoras

  • Upload
    niko

  • View
    7.833

  • Download
    1

Embed Size (px)

DESCRIPTION

SUS TEMAS SON: ORGANIZACIÓN DE LA CPU,MICROPROCESADORES...

Citation preview

Page 1: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 1 de 26

Yesenia Hernández Hernández

Nicandro Alberto Báez collado

Page 2: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 2 de 26

ORGANIZACIÓN DE LA CPU

Éste circuito integrado es realmente el cerebro del sistema y, en consecuencia, es también el elemento más complejo del mismo. En la figura anterior, se observa el esquema en bloques de una CPU. El contenido de la CPU, puede dividirse en diferentes funciones, cada una de las cuales cumple una finalidad específica.

Los circuitos marcados como buffers de entrada y salida, son del tipo de drivers que se usan para unir las líneas de los tres tipos de BUS que están conectados a la CPU (de Datos, de Control, y de Direcciones).

El Bus de Control, es el "brazo largo" de la Unidad de Control. A través de él se dirigen y supervisa los elementos fuera de la CPU.

El Bus de Datos se halla fuera de la CPU, y trasladan los datos que han de ser leídos o escritos.

El mismo apunta hacia la dirección de los datos y tiene una unión variable en bits, por ejemplo en el Z80 es de 8 bits y en el Pentium de Intel es de 64 bits. Los BUFFERS del Bus de Datos son bidireccionales. Esto significa que puede unir al bus de datos cuando la CPU está en posición de salida de datos y puede unir el bus interno de datos cuando la CPU está en el funcionamiento de entrada de datos.

Los registros que se observan en la figura, existen en cantidad diferente en distintos tipos de CPU. Algunos registros se usan para recibir y almacenar los datos que llegan a la CPU por medio del Bus de Datos. Además, algunos son usados para almacenar los resultados que provienen de la ALU dentro de la CPU. Otros registros se usan para almacenar varias direcciones que la CPU puede transmitir por el Bus de Direcciones. En resumen, los registros se usan para almacenar, en forma transitoria, no permanente, datos y direcciones en el interior de la CPU.

Registro de datos y direcciones

Buffers de entrada y

salida

Unidad aritmética-lógica

Microprogramas interno

Temporalizador y control

Page 3: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 3 de 26

El programa interno de la CPU, el microprograma, capacita el circuito para interpretar la instrucción recibida y para ejecutar éstas instrucciones junto con los circuitos de temporización y control, dentro de la CPU. De ahí surge que las diferencias eventuales entre diferentes tipos de CPU, son obra del microprograma de la CPU.

La ALU es aquella Unidad dentro de la CPU en donde se ejecutan todas las tareas que requieren una solución dentro de la CPU. Virtualmente todo el tráfico de la CPU es atendido por medio de la ALU. El microprograma y el circuito de control instruyen a la ALU acerca de qué registro deben obtener sus entradas, cómo debe procesar éstas entradas y en qué registros debe colocar los resultados de éste proceso.

El Bus de Direcciones se halla afuera de la CPU y realiza el enlace con otros microprocesadores del ordenador, indicando el lugar en memoria de la ROM o de la RAM, cuyo contenido ha de ser leído o escrito. El Bus de Direcciones se mide en bits, siendo, por ejemplo, el del Z80 de 16 bits y en el Pentium de Intel de 32 bits.

Page 4: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 4 de 26

MICROPROCESADORES

El microprocesador es un producto de la computadora y la tecnología semiconductora. Se eslabona desde la mitad de los años 50's; estas tecnologías se fusionaron a principios de los años 70`'s, produciendo el llamado microprocesador. El microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un tipo de componente electrónico en cuyo interior existen miles (o millones) de elementos llamados transistores, cuya combinación permite realizar el trabajo que tenga encomendado el chip. Los principales fabricantes son: INTEL, AMD, CYRIX.

El primer microprocesador fue el Intel 4004, producido en 1971. Se desarrolló originalmente para una calculadora, y resultaba revolucionario para su época. Contenía 2.300 transistores en un microprocesador de 4 bits que sólo podía realizar 60.000 operaciones por segundo. El primer microprocesador de 8 bits fue el Intel 8008, desarrollado en 1979 para su empleo en terminales informáticos. El Intel 8008 contenía 3.300 transistores. El primer microprocesador realmente diseñado para uso general, desarrollado en 1974, fue el Intel 8080 de 8 bits, que contenía 4.500 transistores y podía ejecutar 200.000 instrucciones por segundo.

El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), también llamada procesador, de un computador. La UCP está formada por la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.

Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Módulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine.

(Estructura de un sistema abierto basado en un microprocesador. La disponibilidad de los

buses en el exterior permite que se configure a la medida de la aplicación).

Page 5: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 5 de 26

En un microprocesador podemos diferenciar diversas partes: 1. El encapsulado: es lo que rodea a la oblea de silicio en si, para darle consistencia,

impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zócalo a su placa base.

2. La memoria cache: es una memoria ultrarrápida que emplea el micro para tener a mano ciertos datos que prediciblemente serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM reduciendo el tiempo de espera. Por ejemplo: en una biblioteca, en lugar de estar buscando cierto libro a través de un banco de ficheros de papel se utiliza las computadora, y gracias a la memoria cache, obtiene de manera rápida la información. Todos los micros compatibles con PC poseen la llamada cache interna de primer nivel o L1; es decir, la que está más cerca del micro, tanto que está encapsulada junto a él. Los micros más modernos (Pentium III Coppermine, Athlon Thunderbird, etc.) incluyen también en su interior otro nivel de caché, más grande aunque algo menos rápida, la caché de segundo nivel o L2.

3. Coprocesador Matemático: o correctamente la FPU (Unidad de coma flotante). Que es la parte del micro especializada en esa clase de cálculos matemáticos, antiguamente estaba en el exterior del micro en otro chip. Esta parte esta considerada como una parte "lógica" junto con los registros, la unidad de control, memoria y bus de datos.

4. Los registros: son básicamente un tipo de memoria pequeña con fines especiales que el micro tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada procesador. Un grupo de registros esta diseñado para control del programador y hay otros que no son diseñados para ser controlados por el procesador pero que CPU los utiliza en algunas operaciones en total son treinta y dos registros.

5. La memoria: es el lugar donde el procesador encuentra sus instrucciones de programa y sus datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador los toma de ahí. La memoria es una parte interna de la computadora y su función esencial es proporcionar un espacio de trabajo para el procesador.

6. Puertos: es la manera en que el procesador se comunica con el mundo externo. Un puerto es parecido a una línea de teléfono. Cualquier parte de la circuitería de la computadora con la cual el procesador necesita comunicarse, tiene asignado un número de puerto que el procesador utiliza como un numero de teléfono para llamar al circuito o a partes especiales.

La siguiente tabla muestra de rendimiento de micros modernos, desde un

Athlon64 2800+ con núcleo Newcastle, a un prototipo de Core 2 Quad (cuatro cores). Lo que hay en los paréntesis viene a significar: (Nombre del core, Velocidad real en MHz del micro, Velocidad en Mhz del FSB, chipset y velocidad/tipo de RAM empleada).

Page 6: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 6 de 26

Page 7: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 7 de 26

ORGANIZACIÓN DEL PROCESADOR

Su función es ejecutar programas almacenados en la memoria principal, controla el funcionamiento, realiza el procesamiento de dato y es uno de los componentes estructurales de la computadora.

Está compuesto de:

� UC (unidad de control): se encarga de leer una tras otra las instrucciones del programa en MP y generar las señales necesarias para su ejecución. Estas señales están sincronizadas con un reloj.

� UAL (unidad aritmética-lógica): encargada de realizar operaciones elementales sobre los datos de la memoria.

� Registros: pequeña memoria de alta velocidad para almacenar resultados intermedios y cierta información de control.

� Interconexiones: da comunicación entre la unidad de control, unidad aritmético-lógica y los registros.

Page 8: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 8 de 26

El Multiprocesamiento consiste en hacer funcionar un sistema de cómputo con

más de un procesador. En teoría se duplica el desempeño, usando dos procesadores en lugar de sólo uno. El multiprocesamiento puede producir un mejor desempeño bajo ciertas condiciones. Para poder emplear el multiprocesamiento es necesario contar con las s iguientes características:

• Soporte de la Motherboard: Una motherboard capaz de manejar múltiples procesadores. Esto significa sockets adicionales o slots para los chips extras, y un chipset capaz de controlar una configuración de múltiples procesadores.

• Soporte del Procesador: Un procesador capaz de ser utilizado en un sistema multiprocesador. No todos cuentan con este soporte, hay versiones que lo tienen y otras que no.

• Soporte del Sistema Operativo: Un sistema operativo que soporta el multiprocesamiento, como WINDOWS NT o uno de los varios sabores de UNIX.

El multiprocesamiento puede ser asimétrico o simétrico. Esto se refiere a cómo el

sistema operativo divide las tareas entre los procesadores en el sistema.

Page 9: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 9 de 26

BUSES DEL MICROPROCESADOR

Bus es una palabra inglesa que significa "transporte". En arquitectura de computadores, un bus puede conectar lógicamente varios periféricos (o computadores) sobre el mismo conjunto de cables. Aplicada a la informática, se relaciona con la idea de las transferencias internas de datos que se dan en un sistema computacional en funcionamiento. En el bus todos los nodos reciben los datos aunque no se dirijan a todos éstos, los nodos a los que no van dirigidos los datos simplemente los ignoran. Por tanto, un bus es un conjunto de conductores eléctricos en forma de pistas metálicas impresas sobre la tarjeta madre del computador, por donde circulan las señales que corresponden a los datos binarios del lenguaje máquina con que opera el Microprocesador

Un bus está compuesto por conductos (vías), éstas hacen posible la interconexión de los diferentes componentes entre sí, y principalmente con la CPU y la memoria. En estos conductos se destacan dos subcategorías, el bus de datos y el bus de direcciones; entre estos existe una fuerte relación, puesto que para cada instrucción/archivo enviado por uno de los dos buses, por el otro va información sobre esta instrucción/archivo.

En lo referente a la estructura de interconexión mediante los buses, existen de dos tipos:

• Bus único: considera a la memoria y a los periféricos como posiciones de memoria, y hace un símil de las operaciones E/S con las de escritura/lectura en memoria. Todas estas equivalencias consideradas por este bus, hacen que no permita controladores DMA (Direct Acces Memory ; de acceso directo a memoria).

• Bus dedicado: este en cambio, al considerar la memoria y periféricos como dos componentes diferentes, permite controladores DMA (dedicando un bus especial para él).

Éste bus especial del bus dedicado, contiene tres subcategorías:

El bus de datos determina de qué tamaño es la palabra que se va a utilizar (cuántos bits son procesados al mismo tiempo), mientras que el bus de direcciones es el encargado de definir la cantidad de memoria RAM que puede direccional un microprocesador.

Page 10: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 10 de 26

El bus de las direcciones es el conjunto de vías que llevan la información acerca de dónde, en la memoria, se obtendrán los datos que serán transferidos hacia o desde ella. Por este bus circulan direcciones de memoria que indican de qué localidad de memoria se leen o escriben datos que viajan en el bus de datos. La velocidad del bus de direcciones es la misma a la del bus de datos. El ancho del bus de direcciones dá la dirección-habilidad del procesador, que es cuánta memoria puede ser direccionada por el procesador. Un bus con 16 líneas, por ejemplo, puede trabajar directamente con 216 direcciones de memoria; eso es 65,536 (o 64 KB) localidades de memoria posibles. Los diversos microprocesadores usados en varias PCs, por lo regular, cuentan con un bus de direcciones de 20 a 32 bits. El Pentium y el Pentium Pro tienen un bus de direcciones de 32 bits, otros fabricantes de chips han prolongado el alcance de algunos de sus productos a 64 bits.

El bus de control transporta señales de estado de las operaciones efectuadas por la CPU con las demás unidades. El método utilizado por el ordenador para sincronizar las distintas operaciones es por medio de un reloj interno que posee el ordenador y facilita la sincronización y evita las colisiones de operaciones (unidad de control).Estas operaciones se transmiten en un modo bidireccional.

Tipos de bus:

• BUS ISA

• BUS EISA

• MCA BUS

• PCI BUS

• BUS PCI-X

• Etc.

Page 11: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 11 de 26

SISTEMA DE COMPUTADORA

Software es el conjunto de los componentes intangibles de una computadora, es decir, el conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema (hardware). Esto incluye aplicaciones informáticas tales como un procesador de textos, que permite al usuario realizar una tarea, y software de sistema como un sistema operativo, permite al resto de programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de aplicaciones.

Software de sistema: es la parte que permite funcionar al hardware. Su objetivo es aislar tanto como sea posible al programador de aplicaciones de los detalles del computador particular que se use, especialmente de las características físicas de la memoria, dispositivos de comunicaciones, impresoras, pantallas, teclados, etcétera. Incluye entre otros:

1. Sistemas operativos 2. Controladores de dispositivo 3. Herramientas de diagnóstico 4. Servidores 5. Sistemas de ventanas 6. Utilidades

Software de programación: proporciona herramientas para ayudar al programador a escribir programas informáticos y a usar diferentes lenguajes de programación de forma práctica. Incluye entre otros:

1. Editores de texto 2. Compiladores 3. Intérpretes 4. Enlazadores 5. Depuradores

Page 12: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 12 de 26

Software de aplicación: permite a los usuarios llevar a cabo una o varias tareas más específicas, en cualquier campo de actividad susceptible de ser automatizado o asistido, con especial énfasis en los negocios. Incluye entre otros:

1. Aplicaciones de automatización industrial 2. Aplicaciones ofimáticas 3. Software educativo 4. Software médico 5. Bases de datos 6. Videojuegos 7. Archivos de datos

Page 13: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 13 de 26

ORGANIZACIÓN DE REGISTRO

Los registros son áreas del almacenamiento local dentro del procesador, que son usadas para almacenar datos con los cuales está trabajando el procesador en un momento dado de la ejecución de una instrucción. Cada procesador contiene cierto número de éstos, algunos dedicados a tareas específicas y otros disponibles para uso general por los programadores. Los registros son la memoria más rápida disponible en la PC, aún más rápida que el caché L1, ya que éstos son la base de la estructura lógica del procesador.

La mayoría de las operaciones se realizan en los registros; el procesador por ejemplo, no puede realizar directamente una operación aritmética en la memoria principal (RAM). Si se desea sumar 1 a una localidad de memoria, el procesador normalmente hará esto cargando el valor inicial de la memoria en un registro, sumar 1 al registro, y guardando de vuelta el valor modificado a la memoria. Esto sucede muy rápidamente y de forma transparente al programador (claro, si no se está utilizando el lenguaje ensamblador).

El ancho (en bits) de los registros del procesador, determina cuánta información puede manejar a la vez. Esto, a veces, es usado para determinar el tamaño del procesador. Por ejemplo, es común escuchar hablar sobre un procesador de 16 bits o uno de 32 bits. El tamaño del procesador normalmente se refiere al tamaño de los registros internos del CPU. Sin embargo, el término a menudo es mal empleado, y a veces las personas se refieren al tamaño de un procesador basándose en el ancho del bus de datos lo que no es muy correcto.

Entre más registros internos tenga el procesador, existirá mayor flexibilidad para la programación. Sin embargo, aumenta la complejidad del procesador.

Registros visibles al usuario

Son aquellos que pueden ser referenciados por medio del lenguaje maquina que ejecuta el CPU. Se tienen los siguientes tipos de registros:

De uso general. El programador los asigna a diversas funciones, puede contener el operando para cualquier código de operación. Pueden tener algunas restricciones para ser totalmente generales, como la existencia de registros específicos para Operaciones en punto flotantes. De datos. Son usados únicamente para contener datos y no se pueden emplearse en el cálculo de una dirección de operando.

Page 14: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 14 de 26

De dirección. Son registros parcialmente generales y pueden usarse para algún modo de direccionamientos, tales como:

• Punteros de segmento. En maquinas con direccionamiento segmentado.

• Registros indicé. Direccionamiento indexado, y pueden ser autoindexados.

• Puntero de pila. Apuntador a la cabecera de la pila.

• Códigos de condición. Es parcialmente visible al usuario, el cual contiene códigos de condición (indicadores o “flags”). Los códigos de condición son puestos por el hardware del CPU como resultado de una operación.

Acumulador. Las operaciones se realizan sobre este registro. Bandera. Contienen información de control y estado. Registros de control y de estado

Por lo general no son visibles al usuario. Se requieren por los menos los siguientes cuatro registros esenciales para la ejecución de una instrucción:

• Contador de programa (“Program Counter”, PC). Contiene la dirección de la instrucción a captar.

• Registro de instrucción (“Instruction Register”, IR). Contiene la instrucción captada más recientemente.

• Registro de dirección de memoria (“Memory Address Register”,MAR). Contiene la dirección de una posición de memoria.

• Registro intermedio de memoria (“Memory Buffer Register”, MBR). Contiene la palabra de datos a escribir en memoria o la palabra leída más recientemente.

Page 15: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 15 de 26

CICLO DE INSTRUCCIONES

Es el conjunto de acciones que se llevan a cabo en la realización de una instrucción.

El programa debe estar almacenado en memoria central y la CPU toma una a una las instrucciones para realizar las tareas correspondientes.

El ciclo de instrucción incluye los siguientes subciclos:

Captación. Llevar la siguiente instrucción de memoria al CPU. Ejecución. Interpretar el código de operación y hacer la operación indicada. Interrupción. Si están habilitadas las interrupciones y ocurre una interrupción, se debe salvar el proceso actual y atender la interrupción. Ciclo indirecto. Se presenta cuando se da la captación de direcciones indirectas.

En el ciclo de captación se lee una instrucción. El PC contiene la dirección de la siguiente instrucción, la cual es llevada a MAR y puesta en el bus de direcciones. La unidad de control solicita una lectura de memoria, y el resultado se pone en el bus de datos, se copia en MBR y se lleva a IR, mientras tanto, PC se incrementa en 1. Al terminar, la unidad de control examina IR para saber si contiene un campo de operando que use direccionamiento indirecto, en caso de ser este último se da un ciclo indirecto, donde los N bits mas a la derecha, que contienen la dirección de referencia se transfieren a MAR, con lo que la unidad de control hace una lectura de memoria, para llevar la dirección del operando a MBR.

Las instrucciones pueden clasificarse de acuerdo a la cantidad de referencias a memoria:

• 0 Direcciones: no explicita direcciones de memoria. Maquina pila.

• 1 Dirección: maquina de acumulador única.

• 1 Dirección + registro general.

• 2 Direcciones + registro general.

• 3 Direcciones. Maquinas RISC. FASE DE BÚSQUEDA

1. La unidad de control (UC) envía una microorden para que el contenido

del registro contador de programa (RCP) que contiene la dirección de la siguiente instrucción (la que corresponde procesar), sea transferido al registro de dirección de memoria (RDM).

2. La posición de memoria que figura en el RDM es utilizada por el selector para transferir su contenido (instrucción) al registro de intercambio de memoria (RIM).

Page 16: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 16 de 26

3. Se transfiere la instrucción desde el registro de intercambio de memoria (RIM) al registro de instrucción (RI).

4. El decodificador procede a interpretar la instrucción que llega desde el registro de instrucción (RI), y queda dispuesta la activación de UAL y se informa al secuenciador.

5. El registro contador de programa se autoincrementa a través de la UAL con un valor 1 (o n en caso de utilizar la longitud de palabra de memoria), para quedar apuntando a la próxima instrucción consecutiva. Si la instrucción en ejecución es de ruptura de secuencia, el CP se cargará con la dirección que corresponda.

FASE DE EJECUCIÓN

1. Se transfiere la dirección del 1º operando desde el registro de instrucción (RI) al registro de dirección de memoria (RDM).

2. El selector extrae de la memoria dicho dato depositándolo en el registro de intercambio de memoria (RIM).

3. Se lleva el operando desde el registro de intercambio de memoria (RIM) al registro de entrada 1 (REN 1) de la UAL.

4. Se transfiere la dirección del 2º operando desde el RI al registro de dirección de memoria (RDM).

5. El selector extrae de la memoria dicho dato depositándolo en el registro de intercambio de memoria (RIM).

6. Se lleva este operando desde el registro de intercambio de memoria (RIM) al registro de entrada 2 (REN 2) de la UAL.

7. El secuenciador envía una microorden a la UAL para que se ejecute la operación de que se trate. El resultado de la operación queda almacenado en el registro acumulador (RA) ó (ACUM).

8. Este resultado es enviado desde el ACUM al registro de intercambio de memoria (RIM).

9. Se transfiere desde el registro de instrucción (RI) al registro de dirección de memoria (RDM) la dirección donde ha de almacenarse el resultado en la memoria.

10. Se transfiere el resultado desde el (RIM) a la dirección de memoria indicada en el registro de dirección de memoria (RDM).

Page 17: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 17 de 26

Ejemplo de un ciclo de instrucción:

Page 18: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 18 de 26

SEGMENTACIÓN DE INSTRUCCIONES

Es la técnica de solapamiento de instrucciones mediante la división de su ejecución

en etapas o segmentos. La segmentación (“pipelining”) o segmentación de instrucciones: es en donde por

un extremo se aceptan nuevas entradas antes de que algunas entradas aceptadas anteriormente aparezcan como salidas en el otro extremo.

Una aproximación simple, es considerar la subdivisión del procesamiento en dos etapas: captación de instrucción y ejecución de instrucción. Los tiempos en los cuales una instrucción no accede a memoria principal, pueden usarse para captar la siguiente instrucción en paralelo con la ejecución de la actual, lo anterior se conoce como prebusqueda o precaptacion de instrucción (“instruction prefetch”) o solapamiento de la

captacion (“fetch overlap”).

La segmentación disminuye el tiempo de ejecución medio por instrucción:

• Disminuyendo la duración del ciclo de reloj.

• Disminuyendo el número de CPI. Etapas del cauce:

• Búsqueda (IF) se accede a memoria a por la instrucción se incrementa el CP.

• Decodificación / Búsqueda de operandos (ID) se decodifica la instrucción se accede al banco de registros a por los registros operandos se calcula el valor del operando inmediato con el signo extendido (por si hace falta más adelante)

• Ejecución / Dirección efectiva (EX) si es una instrucción de proceso, se ejecuta en la ALU si es un acceso a memoria, se calcula la dirección efectiva

si es un salto, se calcula el destino, y si se toma o no. Etapas del cauce (cont):

•Acceso a memoria / terminación del salto (MEM)

si es un acceso a memoria, se accede. si es un salto, se almacena el nuevo CP.

•Almacenamiento (WB)

se almacena el resultado (si lo hay) en el banco de registros.

Page 19: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 19 de 26

Ventajas de la segmentación:

•Principalmente: el mejor rendimiento –ganancia en rendimiento = Nº etapas del cauce (a reloj constante) –pero: ¡cuidado! sólo es el máximo teórico

•Es completamente Hardware =>mejor que Software •El modelo de programación no cambia

–pero: veremos que afecta al programador (sobre todo al compilador) •PERO: hay que tener en cuenta que el control también se vuelve más complejo.

Parones: situaciones que impiden a la siguiente instrucción que se ejecute en el ciclo que le corresponde Hay 3 tipos:

Estructurales: provocados por conflictos por los recursos

Por dependencia de datos (parones por datos): ocurren cuando dos instrucciones se comunican por medio de un dato (ej.: una lo produce, y la otra lo usa) Por dependencia de control (parones por control): ocurren cuando la ejecución de una instrucción depende de cómo se ejecute otra (ej.: un salto, y los dos posibles caminos)

Page 20: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 20 de 26

UNIDAD ARITMÉTICA-LÓGICA

La unidad aritmética lógica opera los datos que recibe siguiendo las indicaciones

por la unidad de control. Esta unidad puede realizar operaciones aritméticas lógicas, por ejemplo: el de realizar la suma, la forma en que realiza la operación.

1. Se debe tener el código de operación que indique la operación a efectuar en este caso el código de suma.

2. Dirección de la célula en la que se encuentra almacenado el primer sumando. 3. Dirección del segundo sumando. 4. Dirección de la célula en la que se almacena el resultado.

Instrucciones para efectuar la suma. a) Cargar el primer operando en el acumulador. b) Sumar el segundo operando con el contenido del acumulador. c) Cargar el contenido del acumulador en la dirección del resultado.

Una ALU debe procesar números usando el mismo formato que el resto del circuito

digital. Para los procesadores modernos, este formato casi siempre es la representación de número binario de complemento a dos. Las primeras computadoras usaron una amplia variedad de sistemas de numeración, incluyendo complemento a uno, formato signo-magnitud, e incluso verdaderos sistemas decimales, con diez tubos por dígito.

Las ALU para cada uno de estos sistemas numéricos tenían diferentes diseños, y esto influenció la preferencia actual por el complemento a dos, debido a que ésta es la representación que hace más fácil, para el circuito electrónico de la ALU, calcular adiciones y sustracciones, etc.

La ALU se compone básicamente de: Circuito Operacional, Registros de Entradas, Registro Acumulador y un Registro de Estados, conjunto de registros que hacen posible la realización de cada una de las operaciones. La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU toma datos de los registros del procesador. Estos datos son procesados y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos mueven datos entre estos registros y la memoria3 . Una unidad de control controla a la ALU, al ajustar los circuitos que le dicen a la ALU qué operaciones realizar.

Page 21: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 21 de 26

La mayoría de las ALU pueden realizar las siguientes operaciones simples:

• Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque esto es más costoso)

• Operaciones lógicas de bits (AND, NOT, OR, XOR)

• Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.

Page 22: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 22 de 26

UNIDAD DE CONTROL

La Unidad de control es el cerebro del microprocesador. Es la encargada de activar o desactivar los diversos componentes del microprocesador en función de la instrucción que el microprocesador esté ejecutando y en función también de la etapa de dicha instrucción que se esté ejecutando.

La unidad de control (UC) interpreta y ejecuta las instrucciones almacenadas en la memoria principal y genera las señales de control necesarias para ejecutarlas.

Existen dos tipos de unidades de control, las cableadas, usadas generalmente en máquinas sencillas, y las microprogramadas, propias de máquinas más complejas. En el primer caso, los componentes principales son el circuito de lógica secuencial, el de control de estado, el de lógica combinacional, y el de emisión de reconocimiento señales de control. En el segundo caso, la microprogramación se encuentra almacenada en una micromemoria (se accede a las mismas de manera secuencial (1, 2, ..., n), y posteriormente se ejecuta cada una de ellas).

Métodos de diseño de la unidad de control.

• Unidad de control mediante lógica cableada. • Unidad de control microprogramada.

Unidad de control mediante lógica Cableada

• Método de diseño “lógico”. (diseño digital) • Circuito más rápido. • Más laborioso de diseñar. (Métodos CAD). • Muy difícil de modificar.

• Compensa sólo en algunas máquinas. • Métodos típicos:

• De la tabla de estados. • De células de retardo. • Del contador secuenciador.

Page 23: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 23 de 26

Unidad de control microprogramada.

• Consiste en el almacenamiento de las “palabras” de control en memoria. • Palabra de control = conjunto de señales de control para un periodo de reloj (= microinstrucción).

En la figura el ALU y todos los registros están conectados a través de un bus común. Este bus no es el mismo que el bus externo que conecta al CPU con los dispositivos de E/S. Los registros Y y Z son invisibles para el programador, sólo son utilizados por el CPU para el almacenamiento temporal durante la ejecución de algunas instrucciones.

Las señales de control de la unidad de control son las siguientes:

Señal activa por nombre significado

LI flanco load instruction carga una instrucción desde el bus de datos.

DIT nivel data intruction

transfer transfiere un dato inmediato o un desplazamiento al bus de datos.

Lflags flanco load flags carga los flags

después de una instrucción aritmética o lógica.

RESET flanco reset pone a 0 el contador de fases.

Page 24: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 24 de 26

MICROOPERACIONES

Quizás la microoperación mas sencilla y primordial es la de carga en paralelo ya que es la manera en que se transfieren datos de un registro a otro. Esta operación se representa por medio de las flechas. Para explicar mejor lo que sucede cuando se realiza una operación de carga en paralelo supongamos que tenemos dos registros independiente como el A y el B. Cada uno tiene información como se muestra a continuación:

Cada uno de los registros tiene información binaria diferente dentro de sí. Cuado

nosotros realizamos una carga en paralelo B ← A la información que tenga el registro A se transfiere al registro B pero de una manera ordenada bit a bit. Esto es, el bit mas a la derecha del registro A pasará al bit mas a la derecha del registro B, el bit mas a la izquierda del registro A pasará al bit mas a la izquierda del registro B y así con todos y cada uno de los bits. A esto se le llama una carga en paralelo.

Las microoperaciones que se encuentran con mayor frecuencia en las computadoras digitales se clasifican en cuatro categorias:

• Microoperaciones de transferencia de registros.

• Microoperaciones aritméticas que ejecutan operaciones sobre datos numéricos almacenados en los registros.

• Microoperaciones lógicas que ejecutan operaciones de manipulación de bits sobre datos, no numéricos almacenados en registros.

• Microoperaciones de corrimiento sobre los datos almacenados en registros.

Las microoperaciones lógicas especifican operaciones binarias para arreglos de bits almacenados en registros. Microoperaciones Aritmética Lógicas

Microoperaciones de Corrimiento � Corrimiento Lógico � Corrimiento Circular � Corrimiento Aritmético

Page 25: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 25 de 26

CONTROL DE LA CPU

En lugar de ejecutar cada proceso en ambas CPUs puede definir como usted lo quiere. Por ejemplo, si desea separar el firewall y el antivirus de software de gráficos de la aplicación. El Control de la CPU ofrece cinco formas diferentes de controlarlo:

1. Automático: Se elige alternatingly una CPU para cada nuevo proceso 2. Manual: definir una lista, donde se puede establecer la forma de manejar cada

proceso. 3. Todos los procesos se ejecutan en la CPU 1, que es útil para aplicaciones antiguas,

que se bloquea en un sistema de doble núcleo. 4. Todos los procesos se ejecutan en la CPU 2. 5. Desactivado.

Page 26: organizacion de computadoras

División Académica de Informática y Sistemas

Pág. 26 de 26

BIBLIOGRAFÍA http://atc2.aut.uah.es/~juani/documentos/capitulo4.pdf http://es.wikipedia.org/wiki/ALU http://html.rincondelvago.com/computacion_2.html http://atc2.aut.uah.es/~nacho/AII/tema3.v4.6.pdf http://www.mailxmail.com/curso/informatica/conceptoscpu/capitulo3.htm http://www.webelectronica.com.ar/news30/nota06.htm http://es.wikipedia.org/wiki/Computer_software http://cablemodem.fibertel.com.ar/betasoft-outlet/buses.html http://www.unsam.edu.ar/escuelas/ciencia/alumnos/materias_cpu/unidad4.pdf http://www.monografias.com/trabajos14/micros/micros.shtml http://www.duiops.net/hardware/micros/micros.html http://cs.uns.edu.ar/~jechair/organizacion/clases/15-OrgComp3.pdf http://cs.uns.edu.ar/~jechair/organizacion/clases/14-OrgComp2%20Bw.pdf http://es.wikipedia.org/wiki/bus_de_datos http://es.wikipedia.org/wiki/unidad_de_contrlo http://www.warp2search.net/contentteller/new_story/cpu_control_.html http://www.hardware12v.com/conocimientospc/41.php http://monografias.com/trabajos12/microco/microco.shtml#DIFER