Jan 16, 2020
The Intel 8008 was the second microprocessor produced my Intel, but it was the first to have much interesting software written for it. Intel's earlier chip, the 4004, was only ever really used for desktop calculators. So most of the software written for that platform is very special purpose. Things were different for the 8008. It was used in some of the earliest personal computers, so it had relatively complex and flexible software released for it.
8-bit home computers would come to be known, almost as a cliche, for running BASIC. Well, it turns out that the tradition started early. The 8008 was the first 8-bit microprocessor, and it also had its own dialect of BASIC. One of the first companies to offer an interpreter was SCELBI(SCientific ELectronics BIology), for their own kit computer and other 8008-baed systems. This early microcomputer version of BASIC was called SCELBAL(for SCientific ELementary BAsic Language). This meant that it was possible to program for the 8008 with something other than assembly language, making it a much more immediately useful platform.
The reason this is possible with the 8008 and not a chip like the earlier 4004 comes down to complexity. The 8008 wasn't the first microprocessor, but it was the first one capable enough to run something as complex as BASIC. For some comparison: the 4004 could address only 640 bytes of memory, whereas the 8008 could handle up to 16 kilobytes. The 4004 also rigidly enforced separate memory segments for code and data, while the 8008 adhered to the more flexible Von Neuman architecture.
Outside of all of those qualifications is the simple fact that the 4004 was a 4-bit microprocessor. The single internal register, it's accumulator, was only 4-bits wide. While certainly useful for something as simple as a desktop calculator it puts the chip at a major disadvantage when it comes to more intensive tasks. And there is one key application that the 4004 would have had a major problem with: string processing. A 4-bit number can only encode 16 possible values, not enough to encode the full Latin alphabet. That fact alone means that programming something as simple as a string compare would be pretty difficult, or at pretty slow. Add that to the limited memory space and you aren't going to be getting much done with this chip.
By contract the 8-bit 8008 had plenty of space to handle characters and strings. With seven internal registers, each 8 bits wide, there is a lot of scratch space to work with. And since an 8-bit number can encode 256 possible numbers that means that you can do string processing much more easily with the 8008. Of course, that wasn't the only factor. But the simple fact that the 8008 was able to be programmed to efficiently handle functions like a string compare meant it could run BASIC. And that opens up a much larger world of possibilities.
To learn more about the Intel 8008, listen to my episode on the topic: