CPU - Diseño básico de la unidad de control

2

He estado intentando implementar una CPU simple de 8 bits en Logisim, y he reunido una ALU, un archivo de registro, etc., de manera que la manipulación de algunas líneas de control para cada parte le permite determinar su funcionamiento. Desafortunadamente, estoy luchando por implementar la unidad de control para coordinar el control de estas señales.

Muchas de las CPU básicas que puedo encontrar como referencia utilizan instrucciones de 16 bits en las que toda la lógica de control forma parte del código de operación en sí, como la arquitectura Hack especificada en Los elementos de los sistemas informáticos (que ya he completado). Esto facilita mucho el control de la CPU, pero estoy interesado en utilizar un formato de instrucción de 8 bits, como el de los micros clásicos de 8 bits.

Supongo que podría, por ejemplo, usar una tabla de consulta simple para asegurarse de que emita las señales de control correctas para cada instrucción (de las que entiendo los principios), y también que podría usar una máquina de estados para algo más complejo, pero ninguna de la información que puedo encontrar realmente toca la implementación.

¿Cuál es generalmente la forma más sencilla de diseñar una UC para una CPU que puede tener instrucciones de ciclo variable y una longitud de instrucción que no puede codificar directamente todas las señales de control? No me preocupa el uso de la canalización ni ninguna otra característica que complique el diseño de la CPU.

También, al diseñar un FSM, entiendo que normalmente construyes mapas de Karnaugh a partir de una tabla de verdad para diseñar la lógica combinacional necesaria para ello, pero incluso con solo 16 instrucciones (4 bits de entrada) y 16 estados, seguramente tú d tiene demasiadas variables para incluso crear un mapa k desde? ¿Cómo puedes empezar a construir un FSM tan complejo? Una vez más, todos los ejemplos que usted puede encontrar se centran en el caso más simple que se pueda imaginar, que por lo general no es particularmente útil, el "mundo real". Además, supongo que, por lo general, las FSM no se utilizan mucho en el diseño del procesador, pero para una CPU simple, ¿son necesariamente una mala idea?

Básicamente, no tengo la menor idea de dónde comenzar a diseñar una unidad de control, a pesar de que tuve una dificultad mínima para construir los otros elementos básicos de una CPU.

    
pregunta Triforcer

1 respuesta

3

Busque a Ben Eater, "Construyendo una computadora de tablero de 8 bits" en YouTube. Tiene un tutorial completo sobre cómo construir una computadora de 8 bits, utilizando circuitos integrados de la serie 74LS, en una placa de pruebas. Actualmente está trabajando en la lógica de control, incluidas las instrucciones y el microcódigo. Este es un tutorial increíble que lo lleva a través de cada módulo de una computadora en funcionamiento capaz de ejecutar programas simples. Comienza con lo básico de cada módulo y desarrolla una unidad de trabajo que es clara y fácil de entender. No puedo recomendar lo suficiente !!! Espera que esto ayude

    
respondido por el user149802

Lea otras preguntas en las etiquetas