Unidad II


Diseño logico de los procesadores

A.L.U 

En computacion  la unidad aritmético lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.
Muchos tipos de circuitos electrónicos necesitan realizar algún tipo de operación aritmética, así que incluso el circuito dentro de un reloj digital tendrá una ALU minúscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el sonido de la alarma, etc.


Operaciones simples ( A.LU)

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

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

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


·         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

UNIDAD DE CONTROL (U.C)


La unidad de control (UC) es uno de los tres bloques funcionales. Por otra parte está la unidad de control, que fue históricamente definida como una parte distinta del modelo de referencia de 1946 de la Arquitectura de von Neumann. En diseños modernos de computadores, la unidad de control es típicamente una parte interna del CPU y fue conocida primeramente como arquitectura Eckert-Mauchly. Memoria: que almacena datos y programas. Dispositivos de entrada y salida: alimentan la memoria con datos e instrucciones y entregan los resultados del cómputo almacenados en memoria. Buses: proporcionan un medio para transportar los datos e instrucciones entre las distintos y pequeños que la memoria principal (los registros), constituyen la unidad central de procesamiento (UCP o CPU por su nombre en inglés: Central Processing Unit)


                                 UNIDAD CENTAL DE PROCESAMIENTO

La unidad central de procesamiento (del inglés Central Processing Unit, CPU), es el componente principal de una computadora y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Las CPU proporcionan la característica fundamental del ordenador digital (la programabilidad) y son uno de los componentes necesarios encontrados en los computadoras de cualquier tiempo, junto con la memoria principal y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU y hoy en día, el término CPU es aplicado usualmente a todos los microprocesadores. La expresión unidad central de procesamiento es, en términos generales, un dispositivo lógico que pueden ejecutar complejos programas de ordenador



Periféricos de Entrada o Salida



Un periférico de entrada/salida es el que utiliza la computadora para ingresar datos, y luego de ser procesados por la CPU, genera la salida de información. Su función es leer o grabar, permanente o virtualmente, todo aquello que hagamos con la computadora para que pueda ser utilizado por los usuarios u otros sistemas.


Ejemplos:

    Pantalla táctil
    Casco virtual
    Impresora multifunción

En ocasiones, se consideran periféricos de E/S a los dispositivos de almacenamiento de datos, como por ejemplo: las unidades de almacenamiento, como por ejemplo, lectograbadora de discos ópticos, tarjetas de memoria, disco duro externo, pendrive USB.

También, los periféricos de comunicación, suelen considerarse de E/S porque su función es la interacción entre dos o más computadoras, o entre la computadora y otro periférico externo. Por ejemplo: Módem, Tarjeta de red, Concentrador, Conmutador (dispositivo de red), Enrutador, Comunicación inalámbrica, Bluetooth.


                   El procesador

   Es un circuito integrado que contiene todos los elementos de la CPU. Este es el cerebro del computador. Dependiendo del tipo de procesador y su velocidad se obtendrá un mejor o peor rendimiento
      Existen tres marcas de procesadores: AMD, Cyrix e Intel. La velocidad de los procesadores se mide en Megahertz (MHz =Millones de ciclos por segundo).

       Cabe anotar que los procesadores de Intel son más caros y tienen una unidad de punto flotante (FPU) más robusta que AMD y Cyrix. Esto hace que Intel tenga procesadores que funcionen mejor en 3D (Tercera dimensión), AutoCAD, juegos y todo tipo de programas que utilizan esta característica. Para programas de oficina como Word, Wordperfect, entre otros. AMD y Cyrix funcionan muy bien.

                                    

Tipos de procesadores:

    Pentium-75 ; 5x86-100 (Cyrix y AMD)
    AMD 5x86-133
    Pentium-90
    AMD K5 P100
    Pentium-100
    Cyrix 686-100 (PR-120)
    Pentium-120
    Cyrix 686-120 (PR-133) ; AMD K5 P133
    Pentium-133
    Cyrix 686-133 (PR-150) ; AMD K5 P150
    Pentium-150
    Pentium-166
    Cyrix 686-166 (PR-200)
    Pentium-200
    Cyrix 686MX (PR-200)
    Pentium-166 MMX
    Pentium-200 MMX
    Cyrix 686MX (PR-233)
    AMD K6-233
    Pentium II-233
    Cyrix 686MX (PR-266); AMD K6-266
    Pentium II-266
    Pentium II-300
    Pentium II-333 (Deschutes)
    Pentium II-350
    Pentium II-400
   .


       Unidad de punto flotante (UFP)



Una unidad de coma flotante (adaptación del inglés floating-point unit o literalmente traducido unidad de punto flotante) o, también conocido como coprocesador matemático, es un componente de la unidad central de procesamiento especializado en el cálculo de operaciones en coma flotante. Las operaciones básicas que toda FPU puede realizar son la suma y multiplicación usuales, si bien algunos sistemas más complejos son capaces también de realizar cálculos trigonométricos o exponenciales.


 No todas las unidades centrales de procesamiento tienen una FPU dedicada. En ausencia de FPU, la CPU puede utilizar programas en microcódigo para emular una función en coma flotante a través de la unidad aritmético lógica (ALU), la cual reduce el coste del hardware a cambio de una sensible pérdida de velocidad.


En algunas arquitecturas, las operaciones en coma flotante se tratan de forma completamente distinta a las operaciones enteras, con registros dedicados y tiempo de ciclo diferentes. Incluso para operaciones complejas, como la división, podrían tener un circuito dedicado a dicha operación.


Bus de control

El bus de control gobierna el uso y acceso a las líneas de datos y de direcciones. Como éstas líneas están compartidas por todos los componentes, tiene que proveerse de determinados mecanismos que controlen su utilización. Las señales de control transmiten tanto órdenes como información de temporización entre los módulos. Mejor dicho, es el que permite que no haya colisión de información en el sistema.

Bus de direcciones

El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se establece la dirección de memoria del dato en tránsito.
El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. La capacidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, siendo 2n el tamaño máximo en bits del banco de memoria que se podrá direccionar con n líneas. Por ejemplo, para direccionar una memoria de 256 bits, son necesarias al menos 8 líneas, pues 28 = 256. Adicionalmente pueden ser necesarias líneas de control para señalar cuando la dirección está disponible en el bus. Esto depende del diseño del propio bus.
Las direcciones de memoria
Las direcciones son números naturales (en hexadecimal) que indican la posición de los datos dentro de la memoria principal o del espacio de direcciones de la unidad de entrada/salida. Las direcciones son generadas por la CPU que es quien decide a qué dato se debe acceder en cada momento.

Bus de datos
Buses multiplexados

Algunos diseños utilizan líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos. Esto significa que un mismo conjunto de líneas eléctricas se comportan unas veces como bus de direcciones y otras veces como bus de datos, pero nunca al mismo tiempo. Una línea de control permite discernir cual de las dos funciones está activa.


Memoria cache:  

Forma parte de la tarjeta madre y del procesador y se utiliza para acceder rápidamente a la información que utiliza el procesador. Existen cache primario (L1) y cache secundario (L2). El cache primario esta definido por el procesador y no lo podemos quitar o poner. En cambio el cache secundario se puede añadir a la tarjeta madre. La regla de mano es que si se tienen 8 Megabytes (Mb) de memoria RAM se debe tener 128 Kilobytes (Kb) de cache. Si se tiene 16 Mb son 256 Kb y si se tiene 32 Mb son 512 Kb. Parece que en adelante no se observa mucha mejoría al ir aumentando el tamaño del cache. Los Pentium II tienen el cache secundario incluido en el procesador y este es normalmente de 512 Kb.

                        
        Registros Índice

Los registros SI y DI están disponibles para direccionamiento indexado y para operaciones de cadenas de caracteres.

Registro SI: El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas de caracteres. El SI está asociado con el segmento DS.

Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. El DI está asociado con el segmento ES.

Registros Apuntadores

Los registros SP (apuntador de pila) y BP (apuntador base) están asociados con el registro SS y permiten al sistema acceder a datos en el segmento de la pila
.
Registro SP: El apuntador de pila de 16 bits está asociado con el segmento SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. El sistema maneja de manera automática este registro, aunque el programa puede hacer ciertas manipulaciones con él.

Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros dentro de la pila
.
Registros de Banderas

Es un registro de 16 bits, de los cuales nueve sirven para indicar el estado actual de la máquina y el resultado del procesamiento. Muchas instrucciones aritméticas y de comparación cambian el estado de las banderas y apoyándose en ellas se pueden tomar decisiones para determinar la acción subsecuente.
La tabla contiene 16 posiciones (de 0 a 15), que son los 16 bits del registro de banderas, numeradas de derecha a izquierda. La posición 0 la encontraremos a la derecha y la posición 15 a la izquierda.

  
OF (overflow, desbordamiento): Indica desbordamiento del bit de mayor orden después de una operación aritmética de números con signo (1=existe overflow; 0=no existe overflow). Para operaciones sin signo, no se toma en cuenta esta bandera.

DF (dirección): Controla la selección de incremento o decremento de los registros SI y DI en las operaciones con cadenas de caracteres (1=decremento automático; 0=incremento). La bandera DF se controla con las instrucciones STD y CLD.

IF (interrupción): Controla el disparo de las interrupciones (1=habilita las interrupciones; 0=deshabilita las interrupciones). La interrupción no enmascarable es la única que no puede ser bloqueada por esta bandera. El estado de la bandera IF se controla con las instrucciones STI y CLI.

TF (trampa): Permite la operación del procesador en modo de depuración (paso a paso)

SF (signo): Contiene el signo resultante de una operación aritmética (0=positivo; 1=negativo).

ZF (cero): Indica el resultado de una operación aritmética o de comparación (0=resultado diferente de cero; 1=resultado igual a cero).

AF (acarreo auxiliar): Contiene el acarreo del bit 3. Esta bandera se prueba con las instrucciones DAA y DAS para ajustar el valor de AL después de una suma o resta BCD.

PF (paridad): Indica si el número de bits 1, del byte menos significativos de una operación, es par (0=número de bits 1 es impar; 1=número de bits 1 es par).

CF (acarreo): Contiene el acarreo del bit de mayor orden después de una operación aritmética; también almacena el contenido del último bit en una operación de desplazamiento o de rotación.

Registros de Segmento

Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. Estas áreas pueden solaparse total o parcialmente. No es posible acceder a una posición de memoria no definida por algún segmento: si es preciso, habrá de moverse alguno.

Registro CS: El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS. Esta dirección de segmento, más un valor de desplazamiento en el registro apuntador de instrucción (IP), indica la dirección de una instrucción que es buscada para su ejecución. Para propósitos de programación normal, no se necesita referenciar el registro CS.

Registro DS: La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. Esta dirección, más un valor de desplazamiento en una instrucción, genera una referencia a la localidad de un byte específico en el segmento de datos.

Registro SS: El registro SS permite la colocación en memoria de una pila, para almacenamiento temporal de direcciones y datos. El DOS almacena la dirección de inicio del segmento de pila de un programa en el registro SS. Esta dirección de segmento, más un valor de desplazamiento en el registro del apuntador de la pila (SP), indica la palabra actual en la pila que está siendo direccionada. Para propósitos de programación normal, no se necesita referenciar el registro SS.

Registro ES: Algunas operaciones con cadenas de caracteres utilizan el registro extra de segmento para manejar el direccionamiento de memoria. El registro ES está asociado con el registro DI (Índice). Un programa que requiere el uso del registro ES puede inicializarlo con una dirección de segmento apropiada.







3 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Luego de revisar la información sobre los registros del computador, hay que destacar que a parte de todos los ya mencionados también se encuentran los registros de uso general estos son 4 registros denominados AX, BX, CX y DX que en realidad tienen asignados usos característicos muy importantes.
    El AX es denominado un registro acumulador este suele contener uno de los operandos que intervienen en las operaciones aritméticas y lógicas, y después de estas, el resultado de la operación. Encontramos el BX el cual es el registro base y este suele contener la dirección de inicio de una tabla de valores. También tenemos el CX que es el registro denominado contador. Las instrucciones de bucles o ciclos lo utilizan, y por ultimo el DX el cual es un registro de datos, multiuso. Se utiliza en operaciones de multiplicación y división trabajando en conjunto con el AX.
    Cabe destacar que estos cuatro registros son de 16 bits.

    ResponderEliminar
  3. Vale la pena resaltar que la conexión de los diferentes componentes de una computadora, tales como discos duros, tarjetas madres, unidades de CD, teclados, ratones, etc. Se efectúan a través de los buses el cual se define como un enlace de comunicación compartido que usa múltiples cables para conectar subsistemas donde cada línea es capaz de transmitir una tensión eléctrica que representa un ‘1’ o un ‘0’. Cuando hay varios dispositivos en el mismo bus, habrá uno que podrá enviar una señal que será procesada por los demás módulos; si se mandan los datos al mismo tiempo marcara un error o una contención del bus, por lo que el acceso estará denegado.
    Según si criterio de funcionabilidad los buses se dividen en: Buses de datos: es el que se utiliza para transmitir datos entre los diferentes dispositivos del computador.
    Buses de Direcciones: sirve para indicar la posición del dato que se requiere acceder.
    Bus de Control: sirven para seleccionar al emisor y al receptor en una transacción del bus.
    Bus de alimentación: sirve para proporcionar a los dispositivos voltajes distintos.

    ResponderEliminar