Rather than "understand" I'll talk about complex "accomplishments".
I once built a computer. I had Alan Clements "Microprocessor Systems
Design" for an undergraduate text and built a 68000 based machine with
64M of RAM and ROM. Using discrete ICs on two big Eurorack wirewrap
cards was hard work and needed good eyesight and dexterity. Then I
wrote a bootloader and kermit-like like RS232 program loader, and
finally hashed together a really basic OS from Tannenbaum (with a
synchronous scheduler and fixed job table). A long summer of late
nights. Can I say "I understand computers". No way! But I feel
confident I know more about them than most people I'll ever meet.
Another heroic adventure was "Linux from Scratch", compiling
everything along the way with tinycc.
These things are rites of passage. They don't mean I understand
those things, and even if I did, that knowledge is obsolete today, but
I'm glad I did them.
Amazing. Do you have some docs / resources on this online? How would you go around building a computer out of commodity components today?
Do you think compiling everything on own computer results in noticeable increase in performance? Say, distribution provides binaries built on Intel, but I want to run on AMD, does it make sense to recompile binaries on the AMD?
Surprisingly the old textbook went to three editions, the last in 1997
[1] It looks as if it may be on archive.org [2], and is definitely in
Google Books and LibGen.
> How would you go around building a computer out of commodity
components today?
Good question. You could of course retrace my steps using 1980s
technology, but I wouldn't advise that. The problem today is physical
scale. Most components are surface mount and you really need to build
multi layer boards and use a bench microscope to place and solder.
Getting anything hand-built to reliably run faster than 100MHz without
knowing what you're doing is no fun. Everything I spent a thousand
hours building is in a SoC for $1 now.
> Do you think compiling everything on own computer results in
noticeable increase in performance?
That's a question to ask Gentoo/Arch users (and BSD people who use
Ports). I think yes, because hopefully you'll optimise for the
architecture you have. But is is worth it? Given the many hours you'll
wait, maybe not at my age :) Do it while you're young and can learn
cool things from it.
From basic computing gates all the way to running tetris. It taught me so much of the lower levels.
Also a comment as a former Gentoo user of 7+ years - the performance is there - 5-15% maybe. I honestly don't think it's noticeable, it never was to me, but what you learn using Gentoo has served me very well.
I moved on as well. I'm too old to deal with fixing things and all the waiting, I just want it to work haha
Thanks, I was disappointed first that it's only a virtual computer in a simulator, but then I found out there is a real physical realization, using an FPGA board:
I once built a computer. I had Alan Clements "Microprocessor Systems Design" for an undergraduate text and built a 68000 based machine with 64M of RAM and ROM. Using discrete ICs on two big Eurorack wirewrap cards was hard work and needed good eyesight and dexterity. Then I wrote a bootloader and kermit-like like RS232 program loader, and finally hashed together a really basic OS from Tannenbaum (with a synchronous scheduler and fixed job table). A long summer of late nights. Can I say "I understand computers". No way! But I feel confident I know more about them than most people I'll ever meet.
Another heroic adventure was "Linux from Scratch", compiling everything along the way with tinycc.
These things are rites of passage. They don't mean I understand those things, and even if I did, that knowledge is obsolete today, but I'm glad I did them.