Saltar al contenido principal
LibreTexts Español

8.1: Introducción

  • Page ID
    82825
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Un multiplexor (o MUX) es un circuito selector, que tiene log (N) seleccionar líneas para elegir una salida de N valores de entrada. En una CPU, se utilizan multiplexores para seleccionar los valores correctos de ubicación de memoria para enviar a la ALU, como se muestra a continuación.

    Figura\(\PageIndex{1}\): Multiplexor como selector de memoria

    Screen Shot 2020-06-26 a las 8.42.24 PM.png

    Los MUXES tienen dos tipos de entradas. El primer tipo de entrada son los valores que se van a seleccionar. En la Figura\(\PageIndex{1}\) esta entrada es el valor contenido en cada ubicación de memoria. Cada ubicación de memoria envía su valor a ambos MUX, los 4 valores en la línea roja a Mux 1 y los 4 valores en la línea verde a Mux 2. Por lo tanto, ambos MUX tienen todos los valores de toda la memoria para seleccionar.

    El segundo tipo de entrada es un conjunto de bits de selección que le dice al MUX cuál de las entradas elegir. En la Figura\(\PageIndex{1}\) esta entrada son las dos líneas seleccionadas procedentes de la CU. Los dos bits en cada línea de selección indican a cada MUX cuál de los 4 valores de entrada elegir.

    El MUX en la Figura\(\PageIndex{1}\) está seleccionando entre valores de n bits. El tamaño, en bits, del valor de datos se denomina ancho de datos. Un valor de datos que puede contener los valores 0.. 4 está representado por 2 bits, y así tiene un ancho de datos de 2; un valor de datos que puede contener los valores 0.. 16 tiene un ancho de datos de 4; un valor de datos que puede contener los valores 0.. 256 tiene un ancho de datos de 8; etc.

    Si la memoria de la Figura\(\PageIndex{1}\) tuviera un ancho de datos de 8, seleccionaría 8 bits de cada una de las 4 entradas, y se llamaría multiplexor de 4 a 1 de 8 bits. Así, un MUX tiene cierto número de entradas para elegir, y simplemente reenvía una de estas entradas a la salida.

    El tipo más básico de MUX, aquel sobre el que se construyen todos los MUX más grandes, es un MUX de 1 bit. Como se mostrará más adelante en esta sección el MUX de 4 a 1 de 8 bits se compone de ocho MUX de 4 a 1 bit. Entonces, para entender los multiplexores se examinará un multiplexor 4 a 1 de 1 bit.

    Un multiplexor de 4 a 1 bit tiene cuatro valores de entradas de datos de 1 bit (I 0 -I 3) para elegir. Cada valor de bit I 0 -I 3 puede ser 0 o 1. Por ejemplo, si se selecciona I 0, la salida será el valor en I 0, y bien 0 o 1, y los otros valores de I 1, I 2 e I 3 simplemente se ignoran. La siguiente tabla de verdad caracteriza este MUX basado en los bits de selección (S 0 -S 1)

    Figura\(\PageIndex{2}\): Tabla de verdad para un MUX

    Entrada

    Salida

    S 1

     

    Y

    0

    0

    I 0

    0

    1

    I 1

    1 0

    I 2

    1 1

    I 3

    Tenga en cuenta que cuando se selecciona una línea, ya sea un 0 o un 1 se pasará a través de Y. El valor del bit de entrada se coloca en el valor de salida Y. Así que en la siguiente figura, si S 1 S 0 son 00, Y es 0. Si S 0 S 1 son 01, Y es 1, etc.

    Figura\(\PageIndex{3}\): MUX de 4 a 1 bits

    Screen Shot 2020-06-26 a las 8.48.50 PM.png

    Para permitir un MUX con un ancho de datos mayor, se utilizan múltiples MUX. La figura\(\PageIndex{4}\) muestra dos MUX de 4 a 1 enlazados entre sí para elegir una salida de 2 bits de cuatro entradas de 2 bits, creando así un MUX de 4 a 1 de 2 bits.

    Figura\(\PageIndex{4}\): MUX de 4 a 2

    Screen Shot 2020-06-26 a las 8.50.06 PM.png

    El concepto de vincular MUXEs de esta manera se puede ampliar para producir un MUX que pueda tener cualquier tamaño de ancho de datos necesario. Si desea seleccionar N bits de datos (un ancho de datos de N), necesita N MUX.

    En una CPU el propósito de un MUX es permitir que un circuito seleccione una entrada de un conjunto de entradas. Por ejemplo, considere el siguiente circuito, que implementa un sumador para sumar dos números de 8 bits. El primer número que se va a agregar proviene del conjunto de memoria 1 y el segundo número del conjunto de memoria 2. Cada conjunto contiene cuatro valores de 8 bits. Los MUXES de este circuito eligen qué elemento de cada Set de Memoria usar en la adición. Para el primer conjunto los bits de selección se establecen en binario 01, y se selecciona el segundo valor, binario 00000010. Para el segundo conjunto los bits de selección se establecen en binario 10 y se selecciona el tercer valor, binario 01000000. Los dos valores se suman para producir la respuesta 01000010.

    Figura\(\PageIndex{5}\): Dos MUXes de 4 a 8

    Screen Shot 2020-06-26 a las 8.56.55 PM.png

    Como muestra este ejemplo, un MUX permite seleccionar un valor de entrada de cualquier ancho de datos fijo basado en el valor de los bits seleccionados. El número de entradas que se pueden elegir es de 2 s, donde s es el número de bits seleccionados.


    This page titled 8.1: Introducción is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Charles W. Kann III via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.