r/ECE • u/SecondMurky7684 • 18h ago
Como se programa el hardware?
Tengo intención de aprender y crear un ordenador sencillo como los de ben eater y configurarlo, se hacer el hardware pero no tengo ni idea de como hacer que con binario se hagan instrucciones y de ahí empezar a programar o si usar ensambladores o que, alguien puede ayudarme?
3
u/HumbleHovercraft6090 16h ago
To make it easy on you, I would suggest design a popular CPU with a known instruction set and tools. Writing an assembler, linker etc is a non-trivial task on its own. Once you are done implementing the CPU, you can try your hand at the software tools required.
1
u/SecondMurky7684 14h ago
muchas gracias, podrias decirme algun diseño famoso o algo de vase?? si no es molestia
1
u/MrWenas 17h ago
No entiendo exactamente la pregunta, te refieres a cómo saber qué bits cargar en la memoria para ejecutar un programa arbitrario? O te refieres a cómo hacer la lógica de control que toma este programa y ejecuta más microinstrucciones necesarias? Si es lo primero, la única respuesta que puedo darte es creatividad. Al construir el ordenador, tú mismo defines el juego de instrucciones que quieres utilizar. Cuando quieras hacer un programa tienes que ver cómo hacerle para dividirlo en trozos, por ejemplo (usando las instrucciones del SAP-1, el ordenador que hizo Ben Eater), si quieres multiplicar dos números (X*Y), así directamente no puedes, porque solo deja sumar y restar, entonces puedes dividir la multiplicación en sumar X un total de Y veces, para esto, puedes cargar X en una parte de la memoria, Y en otra y el resultado en otra, vas decrementando Y en 1 hasta que sea 0 y ahí saltas a la siguiente parte de tu programa. Una vez tienes tú programa escrito como una lista de instrucciones, tras haber montado el hardware, ya sabes qué instrucción se corresponde con qué bits, entonces lo puedes traducir manualmente, o, puedes programar tu propio ensamblador (que es esencialmente esta misma traducción, pero hecha automáticamente)
0
u/SecondMurky7684 17h ago
cuando tienes un ordenador de 16 bits digamos, como se hace un ensamblador o como programas el ordenador para que haga operaciones y de ahi por ejemplo hacer un juego sencillo como snake?
2
u/MrBoomer1951 15h ago
Can I assume that you have no experience with computers and you wanna program a video game.
With a homebrew you can load opcodes directly into user program memory and they will execute.
That’s how I do it, anyway.
1
u/RonCon69 15h ago
I can respect the fact that you are in here asking questions, but it genuinely doesn’t seem like you have enough understanding to be undertaking this project, especially if your end goal is to build a video game.
6
u/Tome_T 17h ago
Well I would start with watching ben eater's series. He goes over how to do all of it and you can then apply it to whatever hardware you are using