¿Cómo funcionan los microprocesadores?

Para comprender cómo funciona un microprocesador, es útil mirar dentro y aprender sobre la lógica utilizada para crear uno. En el proceso, también puede aprender sobre el lenguaje ensamblador , el idioma nativo de un microprocesador, y muchas de las cosas que los ingenieros pueden hacer para aumentar la velocidad de un procesador.
Un microprocesador ejecuta una colección de instrucciones de la máquina que le indican al procesador qué hacer. Según las instrucciones, un microprocesador hace tres cosas básicas:

  • Usando su ALU (Unidad Aritmética / Lógica), un microprocesador puede realizar operaciones matemáticas como suma, resta, multiplicación y división. Los microprocesadores modernos contienen procesadores de coma flotante completos que pueden realizar operaciones extremadamente sofisticadas en grandes números de coma flotante.
  • Un microprocesador puede mover datos de una ubicación de memoria a otra.
  • Un microprocesador puede tomar decisiones y saltar a un nuevo conjunto de instrucciones basadas en esas decisiones.

Puede haber cosas muy sofisticadas que hace un microprocesador, pero esas son sus tres actividades básicas. El siguiente diagrama muestra un microprocesador extremadamente simple capaz de hacer esas tres cosas:
Esto es casi tan simple como un microprocesador. Este microprocesador tiene:

  • Un bus de direcciones (que puede tener 8, 16 o 32 bits de ancho) que envía una dirección a la memoria
  • Un bus de datos (que puede tener 8, 16 o 32 bits de ancho) que puede enviar datos a la memoria o recibir datos de la memoria
  • Una línea RD (lectura) y WR (escritura) para indicarle a la memoria si desea establecer u obtener la ubicación direccionada
  • Una línea de reloj que permite que un pulso de reloj secuencia el procesador
  • Una línea de reinicio que restablece el contador del programa a cero (o lo que sea) y reinicia la ejecución

Supongamos que tanto la dirección como los buses de datos tienen 8 bits de ancho en este ejemplo.
Aquí están los componentes de este microprocesador simple:

  • Los registros A, B y C son simplemente pestillos hechos de chanclas. (Consulte la sección sobre “pestillos activados por bordes” en Cómo funciona la lógica booleana para obtener más detalles).
  • El pestillo de la dirección es como los registros A, B y C.
  • El contador del programa es un pestillo con la capacidad adicional de aumentar en 1 cuando se le indica que lo haga, y también de restablecerse a cero cuando se le indica que lo haga.
  • La ALU podría ser tan simple como un sumador de 8 bits (vea la sección sobre sumadores en Cómo funciona la lógica booleana para más detalles), o podría sumar, restar, multiplicar y dividir valores de 8 bits. Asumamos lo último aquí.
  • El registro de prueba es un pestillo especial que puede contener valores de comparaciones realizadas en la ALU. Una ALU normalmente puede comparar dos números y determinar si son iguales, si uno es mayor que el otro, etc. El registro de prueba también puede contener normalmente un bit de acarreo desde la última etapa del sumador. Almacena estos valores en flip-flops y luego el decodificador de instrucciones puede usar los valores para tomar decisiones.
  • Hay seis casillas marcadas como “3 estados” en el diagrama. Estos son amortiguadores de tres estados . Un búfer de tres estados puede pasar un 1, un 0 o esencialmente puede desconectar su salida (imagine un interruptor que desconecta totalmente la línea de salida del cable hacia el que se dirige la salida). Un búfer de tres estados permite que múltiples salidas se conecten a un cable, pero solo una de ellas conduce un 1 o un 0 a la línea.
  • El registro de instrucciones y el decodificador de instrucciones son responsables de controlar todos los demás componentes.

Un microprocesador integra las funciones de las computadoras CPU en un solo IC. Es un dispositivo programable que acepta los datos digitales como entrada, procesa de acuerdo con los comandos almacenados en su memoria y da resultados como salida. La historia del microprocesador desde un punto de vista técnico, centrándose en diferentes corporaciones y competidores del microprocesador involucra varias etapas de diseño de microprocesador incorporado.

Un componente del microprocesador llamado unidad aritmética / lógica realiza operaciones aritméticas como la suma, la resta, la multiplicación y la división. Los microprocesadores también transfieren datos de una ubicación de memoria a otra.

Las operaciones lógicas realizadas por la unidad aritmética / lógica incluyen saltar para ejecutar un conjunto específico de instrucciones si ciertas condiciones son válidas. El ciclo fetch-decode-execute resume una operación exitosa del microprocesador. Durante la fase de recuperación, el microprocesador recopila y almacena en su propia memoria temporal datos e instrucciones que le indican qué hacer con los datos.

La memoria principal de la computadora almacena los datos y las instrucciones de forma permanente. Durante la fase de decodificación, el microprocesador interpreta las instrucciones y prepara varios componentes dentro del chip para la siguiente fase.

El microprocesador realiza una operación en los datos recuperados en línea con las instrucciones proporcionadas durante la etapa de ejecución. Después de la ejecución, la CPU se restablece en preparación para otro ciclo de búsqueda-decodificación-ejecución.

Su CPU consta de las siguientes unidades funcionales:

Lógica de direcciones y matriz de registros

Unidad aritmética lógica

Sección de control y registro de instrucciones

Bi direccional, búfer de bus de datos de 3 estados

Unidad aritmética lógica

La ALU incluye los siguientes registros:

Un acumulador de 8 bits

Un acumulador temporal de 8 bits (TMP)

Un registro temporal de 8 bits

Un registro de bandera

Conozca la arquitectura del microprocesador Intel 8080

Es un tema muy vasto. Dejando a un lado el humo azul mágico, es una buena idea mirar computadoras a escala macro de los años 70 para obtener una buena comprensión de los fundamentos. Otros estudios de caso estándar son Intel 8080 y arquitecturas RISC tempranas, como MIPS.

Básicamente, todo lo que hace un procesador es mover las señales. Esas señales no tienen un significado intrínseco, pero ese significado depende de los componentes específicos por los que pasan esas señales.

Un programa se divide en instrucciones (no las declaraciones de alto nivel de C o Java, sino el lenguaje ensamblador: mapeo directo del código de máquina binario).

Estas instrucciones están en un orden secuencial específico determinado por el programador.

Su CPU primero OBTENDRÁ una instrucción de la memoria. Esa instrucción puede o no estar en una memoria dedicada para instrucciones, dependiendo de la implementación.

La PC es la que almacena la dirección de la próxima instrucción que se ejecutará. Esta dirección se pasa al Registro de direcciones de memoria, que luego se va a la memoria. La instrucción que sale luego cae en un Registro de instrucciones. La PC generalmente se incrementa en esta etapa (si se conoce la longitud de la instrucción).

La instrucción es entonces decodificada. La instrucción en sí misma es solo una serie de impulsos eléctricos. El decodificador necesita descubrir qué hace realmente, para enviar datos a las unidades funcionales correctas en el procesador. La dirección de los datos (operandos) se envía a la memoria o al archivo de registro.

También existe el control que determina qué hardware específico se está utilizando y envía señales para “activar” esas partes (por ejemplo, es necesario establecer los pines de registro de habilitación de escritura).

Luego, la CPU emite y ejecuta las instrucciones. Los operandos que se solicitaron anteriormente se reciben y se envían a la unidad de ejecución, la ALU. Este alu puede contener sumadores, para sumas y restas; multiplicadores, divisores y unidades lógicas, para ejecutar operaciones lógicas (xor, y, nand, o etc.).

El resultado se envía.

Si el procesador necesita acceder a la memoria nuevamente, lo hace, lo que podría suceder si la CPU necesita almacenar un valor en la memoria.

La CPU escribe el valor de nuevo en el archivo de registro de la CPU.

Esto se conoce como el ciclo de ejecución de recuperación de un procesador. Ha habido muchas variaciones de este proceso a lo largo de los años, y se han utilizado muchas técnicas para aumentar el rendimiento en una CPU.

Sin embargo, es imposible cubrirlos a todos en una publicación del foro.

Hay un estado llamado Computer, y Micro Processor como nombre sugiere una parte muy pequeña pero integral del sistema.
En los viejos tiempos, este tipo de microprocesador del estado de la computadora solía hacer cálculos solo sobre los asuntos del estado, pero pronto este tipo entendió que esto no es suficiente para el estado, por lo que se mudó al siguiente escalón donde puede tomar la decisión, tomar Asegúrese de que las personas se transporten bien de un lugar a otro (Personas = Datos).
Pero todo esto no fue posible con los recursos que tiene, por lo que una vez más evolucionó y ya había entendido la evolución, ser mejor que el anterior es un aspecto importante de la vida y para eso necesita algunas personas internas (partes internas del microprocesador) y formas (Autobuses) para comunicarse con ellos y no puede mantener el registro de todo lo que sucede en el estado, por lo que hizo una parte de él llamada memoria, donde almacena lo que hay que hacer y lo que se debe hacer.
Y luego el trabajo comenzó de la siguiente manera,
Lo primero que eligió es el medio de comunicación y ese era el lenguaje ensamblador.
1. Dio la tarea de dirigirse al bus de direcciones y mover la tarea de datos al bus de datos. pero luego surgió el problema de cómo puede encontrar que los datos deben enviarse o almacenarse, por lo que designó a dos personas más para rastrear la señal RD (lectura) y WR (escritura).
2. Luego necesitaba la velocidad que este tipo solía llamar en términos de relojes y, a veces, necesitaba restablecer todas las cosas que había hecho, así que nombró RESET.
3. Luego dividió las parcelas llamadas registro para diferentes propósitos.
4. Y también se las arregló para tener a este hombre enigmático llamado contador que puede aumentar en uno cuando se lo pidan.
5. El registro de prueba es un pestillo especial que puede contener valores de comparaciones realizadas en la ALU. Una ALU normalmente puede comparar dos números y determinar si son iguales, si uno es mayor que el otro, etc. El registro de prueba también puede contener normalmente un bit de acarreo desde la última etapa del sumador. Almacena estos valores en flip-flops y luego el decodificador de instrucciones puede usar los valores para tomar decisiones.
6. Luego comenzó un departamento llamado decodificador de instrucciones con registro de instrucciones de trazado.
Así que ahora con la ayuda de todo este Microprocesador logró mantener su lugar integral en este moderno estado de la computadora.
Entonces, cuando le preguntas algo a este tipo, él decodifica tus instrucciones y luego revisa sus buses de direcciones desde donde tomar los datos una vez que los encuentra usando los buses de datos IN / OUT. Luego va a sus parcelas y suelta los datos allí, los recolecta y los envía al departamento de ALU donde se realiza la operación y el resultado se almacena nuevamente en la gráfica del acumulador.
Y también se cuida si el contador de programa que sigue aumentando
después de cada instrucción
Y así es como está manejando esto durante todos estos años y lo hará en los años venideros.

More Interesting

¿Son los memristors un reemplazo viable para la memoria flash?

Cómo copiar softwares de una máquina Ubuntu a otra

Si tuviera un algoritmo muy rápido y distribuido para resolver el problema 3-SAT, ¿cuáles son los mercados relevantes para este algoritmo? ¿Para qué industrias sería relevante?

Si solo tuviera unos pocos megabytes / kilobytes libres en un disco grabable planificado, ¿cómo los utilizaría exactamente?

¿Son los gráficos la estructura de datos primaria que se encuentra en la naturaleza?

¿Cómo podemos desarrollar nuestro conocimiento en seguridad de red?

¿Qué es un desbordamiento de búfer?

¿Por qué no hay muchas mujeres exitosas en el campo de la informática?

¿Cuánta memoria de computadora se necesitaría para almacenar una personalidad humana completa?

¿Se beneficiaría el plan de estudios general de informática de la universidad al dividirse en pistas CS aplicadas y puras?

Mientras instalaba Mavericks OS X en mi PC con Windows 7 usando una máquina virtual, arrojó un error que decía 'Mac OS X no es compatible con la traducción binaria. Para ejecutar Mac OS X, necesita un host en el que VMware Player sea compatible con Intel VT-x o AMD-V '. ¿Cómo puedo arreglar esto?

¿Dónde exactamente en el sótano de Maxwell Dworkin está la impresora que imprime gratis?

¿Qué teclas de acceso directo se utilizan para minimizar y maximizar la ventana actual?

¿Cuál es la diferencia entre sincronización de procesos y punto muerto? Si hay sincronización, ¿ocurrirá un punto muerto o no?

¿Cómo usan las empresas las máquinas virtuales?