5 ms·
Steve Wozniak's disk controller for the Apple II used the same kind of approach: a few simple chips on the disk controller card with all the timing and marshall
by jloughry 10y ago
Steve Wozniak's disk controller for the Apple II used the same kind of approach: a few simple chips on the disk controller card with all the timing and marshalling done by code running on the CPU. Doing it that way is practical if you have confidence that the CPU speed won't change.
- kens 10y agoI think Wozniak would have fit in well on the Alto team; he had the same approach of minimizing hardware as much as possible. One unusual thing about the Alto is the code to run the disk (and other devices) was in microcode, not machine code. (Are there other computers that used microcode for programming, not just to implement the instruction set?)
- rjsw 10y agoThe MIT Lisp Machine has a fair bit of extra stuff in microcode other than the high level instruction set, it is at a slightly higher level than the Wildflower microcode though as more was done in hardware. There are also some recent Freescale SoCs like the MPC5200 that use a programmable DMA engine to handle copying bytes between devices and memory.
- flukus 10y agoWasn't the Alto expensive because they didn't minimize the hardware enough?
- deleted 10y ago[deleted]
- pinewurst 10y agoIt was expensive because minimized discrete hardware (not soon enough for any kind of real integration) was still expensive. Even the successor 2901-based D-machines were expensive in absolute terms. By the time Alto-level functionality was relatively cheap to implement, the software requirements had grown well beyond. Hence PARC moving eventually to the likes of ECL for research platform development.
- kens 10y agoTo expand on what pinewurst said, the Alto was built minicomputer-style out of TTL chips, so even with minimized hardware the CPU took three large boards of chips. Within a few years, microprocessors took over and Moore's law crushed computers built from discrete chips. Here are some bonus pictures of boards from the Xerox Dorado, which used ECL chips for higher speed. First is the ALU board; the large chips are ECL versions of the 74181 ALU. Second is a detail of chips from the 10K family, as well as unusual square memory chips. https://lh3.googleusercontent.com/--KYoSBUuOhg/V4Rxs7tLB-I/AAAAAAAA4vM/_HY8Xvkg0DgRjl36M4ZyjY5PYXrvlWh2gCCo/s800/alu.jpg https://lh3.googleusercontent.com/--KYoSBUuOhg/V4Rxs7tLB-I/A... https://lh3.googleusercontent.com/-MWYhn7enXdA/V4RxsQ8YHRI/AAAAAAAA4vI/5hAeS8i7ZX8M3DNANpXNrcXStB3_0qZmACCo/s800/square.jpg https://lh3.googleusercontent.com/-MWYhn7enXdA/V4RxsQ8YHRI/A...
- pinewurst 10y agoWoz wouldn't have been welcome sans degree as he was at the time.
- Taniwha 10y agoit wasn't uncommon back in those days, I spent a bunch of years porting Unix to various pieces of hardware in the mid to late 80s. Disk drives that required you to build an entire sector image (including headers, trailers CRCs/etc) to be DMA'd at the device when triggered by a passing sector mark were common