Tabla de contenido:

Descripción general de la computadora de 8 bits en una placa de pruebas: 3 pasos
Descripción general de la computadora de 8 bits en una placa de pruebas: 3 pasos

Video: Descripción general de la computadora de 8 bits en una placa de pruebas: 3 pasos

Video: Descripción general de la computadora de 8 bits en una placa de pruebas: 3 pasos
Video: Bits y Bytes explicados en 2 minutos ⏰ 2024, Mes de julio
Anonim
Descripción general de la computadora de 8 bits en una placa de pruebas
Descripción general de la computadora de 8 bits en una placa de pruebas

Mi objetivo para este proyecto era desarrollar una mejor comprensión de la arquitectura de la computadora, el diseño de hardware y los lenguajes de nivel de ensamblador. Siendo un estudiante de tercer año en la universidad que estudiaba ingeniería informática, recientemente había completado cursos de electrónica, laboratorios que me introdujeron al lenguaje ensamblador y la arquitectura de hardware. Al recibir una introducción a estos temas, quería aumentar mi comprensión de los detalles más finos en los tres cursos, y ¿qué mejor manera de aprender que trabajando en un proyecto?

Mi intención original era ensamblar completamente esta computadora de 8 bits usando los videos de conferencias provistos en el canal de youtube de Ben Eater, que hacen un trabajo fantástico al descomponer el proceso de diseño en una combinación sólida de material que he cubierto y aspectos que aún no tenía. aprender. Dado que ya tenía un conocimiento básico del diseño combinatorio y la lógica electrónica básica, quería desafiarme a mí mismo tratando de diseñar y construir partes de la computadora después de las descripciones generales del diseño, pero sin mirar las instrucciones de construcción. A lo largo del proyecto, mi objetivo era aprender y mejorar mi comprensión más que simplemente construir algo nuevo, por lo que a lo largo de cada paso del proyecto, leí un poco de artículos y foros en línea sobre la arquitectura de componentes y las convenciones básicas utilizadas para cada uno. de ellos.

Paso 1: Investiga a lo largo del camino

Investigación en el camino
Investigación en el camino
Investigación en el camino
Investigación en el camino

Este proyecto realmente me hizo leer mucho más de lo que esperaba. Uno de mis enfoques principales para cada componente fue leer una descripción general de un foro o artículo en línea, ver las conferencias de los videos de Eater e intentar diseñar mi propia pieza antes de construir, probar y la mayoría de las veces necesito desecharla para un enfoque más guiado desde el canal de Eater. Un ejemplo de esto fue cuando estaba construyendo el componente ALU de la PC. Mientras miraba los videos de diseño, leí artículos sobre componentes de chip que eran de mayor funcionalidad y entradas de activación que permitirían cambiar los tipos de instrucciones e invertir las entradas en el complemento de 2 internamente. Sin embargo, antes de comprar estos chips que facilitan las cosas, revisé el enfoque de diseño del que habló Ben Eater en sus videos, con la combinación de sumadores y puertas lógicas XOR para aumentar la funcionalidad en el módulo ALU sin necesidad de chips de mayor costo. Esto me hizo apreciar el uso de la lógica discreta y su aplicabilidad al diseño de computadoras, y aprender de diferentes enfoques para construir componentes. Al combinar chips de nivel inferior en la placa de pruebas, también aprendí sobre algunos rasgos arquitectónicos clave utilizados dentro de la ALU, lo que aumentó mi comprensión sobre este componente de ejecución en la PC.

Otro componente clave que aprendí fue el uso de transceptores, también conocidos como búferes. Antes de profundizar en el proyecto, pensé que simplemente activaría y desactivaría diferentes componentes usando señales de control, pero rápidamente descubrí en los artículos que los búferes debían usarse para que esta arquitectura de estilo Von-Neuman funcione correctamente. Debido a que la computadora usa un bus compartido para que los datos viajen entre los diferentes módulos en la PC, la sincronización de ciclos fue dictada por el reloj. Sin embargo, al permitir el almacenamiento y las cargas sin interferir con los datos disponibles en el bus, descubrí que los transceptores eran vitales para actuar como puertas, requiriendo una señal de habilitación para permitir que los datos fluyan hacia el bus de manera oportuna. La capacidad de lectura no era tan difícil de entender, ya que los cables siempre mantendrían los valores en el bus, pero usar el valor correcto significaba permitir que los registros mantuvieran el nuevo valor.

Una conclusión final de la investigación a lo largo de este proyecto fue comprender las diferencias de especificación entre chips que eran similares. Muchas veces encontré chips con los mismos valores de ID pero diferentes letras descriptivas como LS y HC. Lo que aprendí fue que no se trataba simplemente de fabricar etiquetas, sino también de especificaciones de tiempo y potencia de los chips. Afortunadamente, dado que mi computadora usaba componentes de nivel bastante bajo y alta tolerancia, no tenía que preocuparme por igualar muchas especificaciones, pero en el diseño de nivel superior, aprendí que cosas como la velocidad del reloj y el consumo de energía son fundamentales para el éxito o el fracaso de la electrónica. diseño

Paso 2: Dificultades encontradas

Con bastante rapidez en el proyecto, pude diseñar componentes simples como el reloj de sincronización para los procesos de sincronización y la arquitectura de memoria básica, pero la necesidad de ordenar partes junto con un semestre de curso pesado hizo que fuera difícil asignar tiempo exterior al proyecto, lo que me volvió a poner en marcha calendario de finalización. Después de mi primer gran revés por tener que esperar una semana para que llegaran las piezas, terminé evitando más retrasos al pedir todas las piezas que pensé que necesitaría para completar este proyecto, que resultó útil ya que ya no enfrenté retrasos hasta la publicación de este.. Después de aprender también algunos enfoques básicos para la depuración, comencé a pasar por alto algunos ensamblajes, lo que significaba tener que volver atrás y volver a ver videos para detectar mis errores, lo que generalmente llevaba a desarmar la mayor parte de una placa. Esto no tenía atajos. Aprendí el valor de verificar su progreso en la construcción de cualquier dispositivo electrónico. Al depurar cada placa a lo largo del camino, pude pasar a combinarlas con más confianza, luego la depuración de placas combinadas se volvió mucho más fácil.

Paso 3: Logros y Reflexión

Con todo, actualmente he completado el reloj, el código de operación y el contador del programa, la unidad ALU, los registros rs rt y rd, y la RAM. Además de necesitar completar el bus y los periféricos para completar este proyecto, he aprendido una cantidad sustancial sobre arquitectura de computadoras, que espero continuar con mis optativas de último año, tomando el curso de arquitectura de computadoras.

M5 me proporcionó todas las herramientas necesarias para trabajar en mi proyecto, y los componentes estaban muy bien distribuidos a lo largo de las paredes de las piezas, por lo que supe desde el principio las piezas que debían solicitarse y qué era prescindible. Si otro estudiante asumiera este proyecto, definitivamente señalaría que este proyecto lleva mucho tiempo si está tratando de comprender todo lo que sucede en la computadora. NO ES DIFÍCIL, pero requiere cuidado si desea que funcione correctamente. Recomiendo encarecidamente revisar la lista de reproducción de videos en el canal de YouTube de Ben Eater para comprender todas las partes que necesita usar para no quedarse atrás en el tiempo si no planea diseñar su propio enfoque. Como compré la mayoría de las piezas, planeo llevarme esto conmigo para completarlo en mi propio tiempo, pero sería genial entregar esto para permitir que otro estudiante lo complete, lo que significaría una exposición a la luz del diseño de las piezas restantes., pero un gran enfoque en el lenguaje ensamblador, en el que afortunadamente pude trabajar durante otras clases

Recomendado: