Monday, May 12, 2008

bare metal

I write my programs on bare metal by flipping switches in time to the processor's 100MHz bus clock.

So you know.


Anonymous said...

But someone else *implements* the processor and bus though?

yajeev said...

I have no idea it means, but I love the way that sentence sounds (the first one).

Anonymous said...

I've been meaning to ask what you actually meant by this.

This reminds me of a lab in highschool electronics with Dr. Wilkes. An 80386 was mounted on a development board with a monitor program and keypad. x86 CPUs have a single-step mode in which they only execute a single instruction then call an interrupt which jumps back into the monitor program. We could actually set breakpoints and halt programs on the fly, examine register states, edit the data with the monitor program [where data could mean actual data or program instruction "data"], then resume.

Good fun.

Now that I think about it, x86 as an architecture was largely suppressed as a feasible target of study in both undergrad and grad at GT. Sure, it's more complicated than your favorite RISC architecture, but it seems like a kludge that's important enough to spend some time on. Making your CPUs execute x86[-64] fast is rather useful, I'd say.