CPU de fabricación casera / diseño de bajo nivel

5

Por lo tanto, he estado instándome a expandirme realmente en el campo integrado, tengo un título de CS, pero lamentablemente ... solo tuve 2 clases de EE. Tengo los libros:

Computer Architecture: A Quantitative Approach, 4th Edition and
Computer Organization and Design, Fourth Edition: The Hardware/Software Interface

Sin embargo, mis clases de EE fueron ..... digamos que faltan, sin mencionar que nunca tuve tiempo de asistir a los laboratorios opcionales (debido a otras clases). Pero REALMENTE quiero aprender el bajo nivel en diseño de CPU. Estoy hablando de diseño TTL de bajo nivel, sin embargo, realmente no sé nada de eso en la universidad, y honestamente ... veo mucha gente de "Cool" homebrew CPU que ha construido, pero nada en CÓMO se hace. Tenga en cuenta que mi conocimiento sobre electrónica es limitado.

Entonces, ¿cómo voy a hacer esto? ¿Ayudarían esos 2 libros de arriba? ¿Alguna otra sugerencia de libros? Estoy hablando de algo realmente básico, como un 4 bit o algo. Puedo agregarlo a medida que pase el tiempo, pero incluso algo muy básico sería genial.

Gracias

    
pregunta JRobert

5 respuestas

9

Lo que piensa hacer podría lograrse con los chips de integración de escala media (MSI) de la serie 74xx, como los que estaban disponibles a fines de los años 70, y más fácilmente con algunos de los más recientes 74xx que se agregaron a principios de los 80. . Si puede encontrar un libro de datos para esta serie, especialmente uno posterior, a mediados de la década de 1980, que tenga pin-outs y diagramas lógicos, será inestimable para tal esfuerzo.

Si puede ver las especificaciones del 74LS374 y entender cómo podría servir como un registro de 8 bits, no debería ser demasiado difícil ver cómo podría conectarlas en los autobuses para poder para mover datos entre ellos. Investigue el 74LS181 y básicamente puede obtener todas las capacidades matemáticas de la venerable CPU 6502 de 8 bits de una sola vez. La parte más complicada es el circuito de control para ejecutar instrucciones operando secuencialmente todos los registros, buffers y ALU en el orden correcto. Si solo tomó un par de clases de EE, este probablemente será su principal obstáculo.

Para orientarse con este nivel de diseño, puede intentar algo como "Microprogramming and Computer Architecture" de Bruce Segee y John Field. Las copias usadas se pueden obtener a bajo costo en un determinado vendedor de libros en línea.

    
respondido por el JustJeff
11

Puedo recomendar dos libros destinados a aprender lógica digital:

Fundamentos del diseño lógico por el Dr. Charles Roth

Este libro está pensado como un libro de texto para una clase de primer año de autoaprendizaje sobre diseño lógico, y se divide en varios capítulos pequeños con partes de autoestudio y problemas en la parte posterior. En la introducción, hay un orden recomendado para los capítulos. Algunos de los capítulos son opcionales, pero me aseguraría de hacer el Apéndice B (IIRC) que cubre los circuitos de entrada y salida digital, que deberá tratar.

Libro de cocina TTL por Don Lancaster

Si vas a la vieja escuela, este es el libro de la vieja escuela que quieres. Escrito en los años 70, se enfoca en la lógica TTL de la serie 74xx, que culmina en un proyecto para construir varios circuitos para una "Máquina de escribir de TV", que solo le permite escribir en un televisor. (Mencioné la vieja escuela, ¿verdad? Esto fue cuando los microcomputadores de 8 bits como el Apple II cuestan cientos de dólares, no unos $ 10 de Arduino).

Don Lancaster también escribió un CMOS Cookbook si desea utilizar la lógica CMOS de la serie 4000, que es aún más lenta, puede funcionar con voltajes de 5 a 15 V, pero conduce a una lógica HCMOS de 5 V, lo que conduce a un CMOS moderno de bajo voltaje y alta velocidad.

La principal diferencia entre estos libros es que FoLD le dará las herramientas de grado EE para hacerlo correctamente (como usar un mapa de Karnaugh para elaborar la lógica óptima del siguiente estado para una máquina de estados, que luego puede mapear un PAL, GAL o lógica discreta), mientras que los libros de cocina se centran en todos los trucos para hacer su vida más fácil (como usar un grupo de 1-de-16 codificadores / multiplexores para codificar su lógica combinacional, así que solo tiene que volver a cablear algunos pines para corregir errores, chips más grandes, pero una depuración más fácil).

Una vez que tengas esto abajo, los libros de Arquitectura de Computadoras tendrán mucho más sentido porque lo verás y sabrás qué son un registro, un sumador, un restador, un multiplicador, una máquina de estados y un bus de tres estados, y partes como los decodificadores de instrucciones y las unidades de carga / almacenamiento no serán tan aterradores porque sabrá cómo dividir grandes bloques de diseño en máquinas estatales más pequeñas.

    
respondido por el Mike DeSimone
4

Esto podría ser de cierto interés: el contenido en línea gratuito de un curso universitario que cubre elementos como el diagrama de bloques de una CPU simple y la implementación de varias piezas, incluidos los ejercicios de laboratorio.

enlace

    
respondido por el Chris Stratton
2

Leer los libros de H & P es muy útil. Sin embargo, no se ocupan de las cosas de EE. Por lo tanto, también lo alentaría a que lo complemente con un libro que aumente el nivel de transistores, como Organización de computadora estructurada - Andrew S. Tanenbaum.

Una vez que tenga una idea de cómo se ve una arquitectura de procesador, puede completar los detalles con ejemplos de varios libros de EE, por ejemplo. diseños de sumadores, multiplexores, desplazadores, etc.

Eso te pondrá en el camino correcto.

Editar Otro libro útil es Aspectos básicos de la lógica y el diseño de computadoras por Mano y Kime , que es más un libro para estudiantes de EE que estudiantes de CS.

    
respondido por el sybreon
1

Código abierto al rescate. Visite enlace y comience a jugar con algunos proyectos, por ejemplo, puede comenzar a aprender Verilog de inmediato. Trabaja en aprender de arriba hacia abajo ya que eres un chico de CS ya. (Al intentar tomar clases de circuitos digitales, irá de abajo hacia arriba, lo que será más difícil para usted).

    
respondido por el Jonathan Cline

Lea otras preguntas en las etiquetas