Yo lo tome usted está construyendo una CPU de simple, no programable componentes?
Suena como un proyecto de la diversión.
Como Mandar ya se señaló, tri-estado de los buses son el camino a seguir.
En arquitectura de computadores, un "bus" es generalmente de algún tipo de "tri-estado de autobús", también llamada "3-estado de autobús".
El datapath -- un alto nivel de "servilleta de croquis" de una CPU de diseño, muestra, en general uno o más buses, que a menudo requieren 3-estado.
Conceptualmente el enfoque más sencillo es un palo en la salida de cada registro y cada ALU "3 estado conductor de autobús chip" que es, a su vez, conectados al bus.
Cualquiera de (en ningún orden en particular)
74HC245,
74HC640,
74HC645,
74HC7541,
74HC623,
iba a funcionar.
Cuando desea que los datos de cualquier registro o ALU,
la lógica de control de la máquina permite la salida (controlado por un pin en el 3 controlador de estado chip a menudo con la etiqueta "/OE") de la correspondiente conductor de autobús, y desactiva la salida de todos los demás conductores de autobús conectado a ese autobús.
Luego de que cualquiera que lea los datos del bus ve los datos del registro seleccionado o ALU.
Normalmente todos los "/OE" pins todos son conducidos por un solo "selector" chip diseñado de modo que en la mayoría de salida es siempre impulsado por activos, tales como 74HC137 (que almacena los 3 bits de su registro de instrucción) o un 74HC138 (que requiere de 3 bits, presumiblemente, se almacena en un registro de instrucción en otros lugares).
Con este enfoque, se podría implementar un solo-lectura-puerto de registro de 32 bits del archivo de 4 registros con un 74HC273 además de un conductor de autobús de fichas por cada 8 bits almacenados, además de un selector de chip -- un total de 33 fichas.
Se podría implementar una 2-leer-puerto de registro de 32 bits del archivo de 4 registros con un 74HC273 por cada 8 bits almacenados, con 2 conductor de autobús de fichas por 74HC273 -- un conductor de autobús por cada lectura del puerto, además de dos selector de fichas, una por leer el puerto -- un total de 50 fichas.
(Pero véase más abajo para las formas de la construcción de un funcionalmente equivalente de 32 bits x 4 archivo de registro con menos fichas).
el archivo de registro
Como supercat señalado, se puede diseñar un funcionalmente equivalente del sistema en menos fichas mediante el uso de fichas con 3-estado de los controladores integrados.
En particular, muchos de los 8-bits de registro de las fichas de los tri-estado de las salidas, por lo que su "salida" pines pueden ser conectados directamente al bus, aunque otros chips también tienen su "salida" pins conectados al mismo bus --
como (en ningún orden en particular) el 74FCT574, 74HCT574, 74HC646, 74HC652, 74AC534, o un 74HC374.
Por ejemplo, se podría implementar un solo-lectura-puerto de registro de 32 bits del archivo de 4 registros con 16 octal de triple estado de registro de fichas, además de un selector de chip.
2-leer-puerto de registro de 32 bits del archivo de 4 registros requeriría 34 fichas.
Una sola lectura-puerto de registro de 32 bits del archivo de 4 registros mediante la 74HC670 3-estado 4x4 registro de archivos requiere 8 chips (el selector y el 3-estado de conductor de autobús está integrado en el chip).
2-leer-puerto de registro de 32 bits del archivo de 4 registros mediante la 74HC670 3-estado 4x4 registro de archivos requiere 16 fichas.
Existen chips individuales, tales como 74HC7403 o un 74HC7030, que puede almacenar más bits que todo un registro de 32 bits del archivo de 4 registros, y tiene 3 salidas de estado fácilmente a la interfaz de un autobús, pero todavía no he encontrado una buena forma de hacer uso de ellos en un archivo de registro.
comentarios generales
Para la concreción, la he llamado específico de las fichas de la 74HC de la familia.
Funcionalmente equivalente fichas (con el mismo número de parte, salvo las diferentes cartas de las familias en el medio) a menudo están disponibles en TTL -- en el 74LS, 74 SEPTIES, etc. las familias-y en CMOS -- en el 74HC, 74AHC, 74HCT, CD4000, etc. a las familias.
Una CPU construido enteramente de tales chips CMOS o TTL chips (de cualquiera de las anteriores familias) a menudo se llama un "TTL de la CPU", a falta de un nombre mejor.
Os animo a enviar vuestras parcialmente completado CPU de diseño en línea,
y pedir daveb que te agregue a su Homebuilt Cpu WebRing -- vea las instrucciones en la parte inferior de Simplex-III, daveb del homebuilt de la CPU.
Tal vez usted podría estar interesado en recoger algunos consejos y trucos de otras personas que han tenido éxito en la construcción de TTL equipos:
- el libro "Arquitectura de computadores" por Hennessy y Patterson (a menudo se alude como "H&P"). La parte principal del libro habla sobre un montón de complicadas que en realidad no es relevante para personas de la creación de un TTL de la CPU-pero hay un gran apéndice que explica en detalle cómo construir una particular TTL de la CPU. En particular, da unos buenos consejos sobre cómo crear un archivo de registro de off-the-shelf chips TTL.
- el Homebuilt Cpu WebRing mencionados anteriormente
- Wikilibros: Diseño de Microprocesador: TTL Cpu
Como se puede ver por la navegación por los enlaces anteriores, la mayoría de Homebuilt CPUs "TTL Cpu" que se construye fuera de SSI/MSI TTL o CMOS de chips, pero hay algunas excepciones notables.
tratando de seguir con instrucciones de tamaño fijo
Gran. Os animo a seguir con fijo en la alineación, ancho fijo instrucciones que aparecen en la primera máquina -- evita muchos de los peculiares problemas con los no-alineados instrucciones -- o, peor aún, de ancho variable instrucciones.
8 bits es difícil trabajar con
porque significa que tengo que apretar en bits de control más inmediato
dirección argumento para la instrucción en sólo 8 bits, severamente
la limitación de mi espacio de direcciones
Eh?
Muchos de los procesadores de 32-bits de instrucciones y relativamente grandes espacios de dirección, y sin embargo se las arreglan para ejecutar el código almacenado en 8-bits de ancho de memoria de programa.
El 8088 utiliza instrucciones ocasionalmente 32 bits o más, conectado a 8 bits de memoria.
La (no el Pulgar) procesadores Arm instrucciones de uso siempre de 32 bits de largo, a menudo conectado a una memoria de 16 bits, y ocasionalmente de 8 bits de la ROM de arranque utilizando el BOOT8BIT poco.
El 68008 utiliza instrucciones de al menos 16 bits de largo, ocasionalmente, de 32 bits o más, conectado a 8 bits de memoria con un 22 bits del bus de direcciones.