5 votos

32 bits

Soy relativamente nuevo en la electrónica y recientemente decidió diseñar y construir una forma muy sencilla de CPU como un proyecto personal. Mi instrucción tamaño es de 32 bits y quiero tener 32 bits de los registros, así que voy a necesitar varios de 32 bits de ancho, de 4 multiplexores.

Sé cómo construir uno usando 32 bit 1, 4 multiplexores pero me pregunto si hay una manera mejor de hacer esto?

EDITAR:

Esencialmente esto:

Cómo crear un n-bits multiplexor

pero en términos de hardware real.

7voto

Tolik Puntos 31

Una manera de lograr lo que desea es utilizar densa tri-estado de los buffers, tales como:

http://www.ti.com/lit/ds/sces422/sces422.pdf

Usted necesitará una (2 a 4) decodificador para decodificar la dirección y de la unidad de habilitar los controles para el 4 de 32 bits de los buffers. Exactamente un buffer puede ser activado en cualquier momento dado.

Aquí está una imagen de ejemplo:

enter image description here

2voto

Jeremy Ruten Puntos 59989

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.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X