Saltar al contenido principal
LibreTexts Español

11.1: Una visión general de la CPU

  • Page ID
    82746
  • \( \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}}\)

    La siguiente figura es de toda la CPU que se cubrirá en este texto. Hay 3 subcircuitos Logisim que forman parte de esta CPU, dos de los cuales se desglosarán para mostrar cómo son los CI de este libro. Son la Unidad Lógica Aritmética (ALU), y la Unidad de Control (CU). Estas dos unidades se explicarán en términos de toda la CPU, y luego se mostrarán como subcircuitos para exponer los circuitos decodificador y sumador.

    Figura\(\PageIndex{1}\): CPU
    Screen Shot 2020-06-27 at 1.38.21 PM.png

    Esta CPU es un ejemplo de un acumulador o CPU de arquitectura de una dirección. En todos los diseños de CPU, se alimentan dos operandos a la ALU, donde los dos operandos se utilizan para realizar alguna operación y producir un resultado. En una CPU Acumuladora, uno de estos operandos se llama el $pc, que es la memoria en el chip de la CPU (llamado registro), y el otro proviene ya sea de la instrucción misma o de la memoria. Entonces un programa sencillo para sumar dos números, el valor de la variable A y el número 2, se vería de la siguiente manera:

    clac

    # establecer el $ac (registro acumulador) en 0

    añadir A

    # agregar el valor de A al acumulador

    addi

    # agregar el número 5 al valor en el acumulador

    Parte B

    # stor el valor del acumulador a la variable de memoria B

    La CPU realiza un seguimiento de la declaración a procesar usando el registro del Contador de Programas ($pc). El $pc contiene la dirección de la siguiente instrucción a ejecutar. La CU toma la instrucción, que es un número binario de 4 bits, y la divide en cables de control que especifican cómo debe comportarse cada componente de la CPU (muxes, decodificadores, ALU y memoria) para esa instrucción. La ALU realiza la operación real que se solicita (por ejemplo, una suma, resta, etc.)

    Entonces, por ejemplo, la instrucción add A. La CU especificaría:

    1. Que el mux delante del $pc seleccione la entrada 0, que es la siguiente instrucción en el programa (por ejemplo, no se ramifique).
    2. Que el mux frente al $ac select input 0, que es el resultado de la ALU, para almacenar en el $ac.
    3. Que el mux frente a la ALU seleccione un valor de la memoria, no la instrucción.
    4. Que la ALU ejecute una operación de adición.
    5. Que el valor de los $ac no se vuelva a almacenar en la memoria.

    El resto de este capítulo mostrará cómo se utilizan los CI de este texto en este diseño.


    This page titled 11.1: Una visión general de la CPU 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.