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:
- ¿Cómo funcionan las actuales interfaces cerebro-computadora?
- ¿Por qué todo lo relacionado con TI en India?
- ¿Cuáles son algunos de los temas más importantes de la visión por computadora que se están investigando actualmente en las principales empresas de tecnología como Google o Microsoft?
- ¿Cuáles son algunos ejemplos de computación generalizada?
- Informática: ¿Cuál es un buen libro de algoritmos / CS para leer mientras viaja?
- 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.