Can a retro-computer be a useful way to learn computer-architecture fundamentals?

General Tech Learning Aids/Tools 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Learning Aids/Tools related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

I've been reading about the fundamentals of computer architecture, but I think I could get a better grasp of the basics if I could could have an actual device to play with.

I had considered building a 2- or 4-bit device on a breadboard with "switches and blinky lights," but I think that a ready-made machine that I can interact with, code/decode, and disassemble/reassemble might be a better place for me to start.

Would a retro-computer, say from the the 70's or 80's, be good for this purpose?

FYI, I've been considering an original Apple II for many reasons, including its hobbyist-friendly design, a wealth of documentation, and a fondness for its main inventor, Steve Wozniak. But after seeing the high price of them on eBay, I'm considering other systems too.

profilepic.png
manpreet 2 years ago

The main benefit for learning computer system architecture with a retrocomputer, compared to a modern computer, is accessibility of the hardware. Retrocomputers are much simpler than modern systems in terms of both the hardware and the system software. By design and necessity, programming on a retrocomputer means often programming the bare metal, and that means understanding how the machine works in exquisite detail. At the same time, you get the aid of a big software library (often including a built-in BASIC interpreter) that shows off what's possible with the hardware, plus a fully self-contained environment to program in, plus a simple hardware architecture that can easily support hardware hacking too.

The commenter above makes a very valid point about Arduino, which also is designed for this sort of bare metal software hacking and building your own hardware add-ons. I think the thing you would miss out on is the fascinating history of the retrocomputers, and the fact that they are normally far more sophisticated than just the CPU+GPIO that you get with Arduino. Many retrocomputers have unique and powerful coprocessors for sound and graphics. At minimum, they all support basic peripherals like keyboard, mouse/joystick, and video display. You'd have to attach some primitive proxy for these I/O device to Arduino to make it a full, self-contained computer system that you can program or use stand-alone. Then again, for programming efficiency, having something tethering you to a modern device can be very helpful. And that is possible to do and equally easy with either Arduino or a retrocomputer.

The original Apple ][ is an expensive retrocomputer because it is rather rare and collectible. But you can acquire an Apple //e, //c, or IIgs for a much more reasonable price. Of all of these, the IIgs is the most sophisticated and probably offers the most long-term hacking potential. But you could get very far "down the rabbit hole" with any of them. And, I also think you'd be happy with other popular 1980s 8-bit machine like Commodore, Atari, IBM 5150, or Tandy (showing my North American persuasion). Regardless, be sure to get a machine that comes with or can be adapted to a video display that you have available, and also investigate the supported hobbyists projects that will help you move files and disk images between the modern world and your retrocomputer of choice.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.