The Pentium at ten - software should join the party
Published: 12 May 2003 13:51 BST
They're getting the trifle and party hats ready at Intel; the marketing department may even be providing some clowns. The Pentium will soon be ten. Announced in March 1993 and shipped in June, it's made Intel a brand synonymous with home computing.
Not that today's Pentium 4 is anything like the original hardware. The Pentium's decade has been one of design improvements seasoned with a couple of dead ends. Intel shouldn't forget the Pentium Pro, for example, which ran new software well and old software very badly: a mistake that may yet be echoed in the Itanium. Yet although a Pentium today can run software a couple of hundred times faster than the original part, from a software point of view many of the core ideas remain the same. Something that Intel got right is the sort of security feature that could have made our computing lives much less frustrating and more productive -- if only the software had the gumption to use it.
One of the curiosities of digital computers is that at a very deep level, data and programs are indistinguishable. A pattern of ones and zeros might be a picture of a cute kitten if stored as a graphics file; the same pattern has an entirely separate life if you tell your processor to decode it as a program. Virus writers and worm wranglers love this dichotomy: if they can sneak something evil past you because it looks harmless, they've got you.
Mainframe designers have known this since the 60s. There weren't any viruses or worms back then, but there were professional programmers writing commercial software -- which can be just as dangerous an activity. Now and again the wrong figures got fed into a sum, or there was a slip in the design or implementation of a piece of software. The results were varied, but sometimes it meant that a chunk of data ended up in the wrong part of memory, one where the computer was running its programs. The computer dutifully tried to execute Mrs Bloggs' gas bill, and collapsed in a twitching mass of flashing lights.
Mainframe makers, sensitive to the needs of the huge corporations and their multimillion dollar deals, worried a lot about such things. These were the days when computers weren't supposed to crash. One of the solutions they came up with was protected memory, where the parts of the computer that did the processing would only run code from memory that was marked as being allowed to hold executable programs. That area would not accept new data during normal operations: if an errant program tried to overwrite it, the computer was safely diverted to a piece of software designed to cope with the problem. Also, areas of memory were marked as safe for data -- but only if written within certain boundaries. Any attempt by bad software to write data outside those boundaries was also safely denied.
It took a while for these ideas to become standard -- there are performance implications, and both operating system and application software design needs to fully incorporate protected memory for it to be effective. However, by the 1970s they were seen as essential for any serious computer.






