Computers have been getting smaller faster and cheaper since the 1940s. The ENIAC had 18,000 vacuum tubes when it was completed in 1945 but the invention of the transistor in 1948 charted the new path for computer development. How small? How fast? How cheap?
To provide a perspective on computing power that you don't usually get from current computer magazines here is data from the January 1983 issue of BYTE Magazine.
But does anyone ask if it matters anymore?
Computer Language Seconds IBM 3033 Assembly Language 0.0078 fastest CPU+SWare tested IBM 3033 PL/I 0.036 21.7% efficient IBM 3033 COBOL 0.0824 9.5% efficient 68000 8 MHz Assembly Language 0.49 VAX-11/780 C (UC Berkley) 1.42 8086 8 MHz Assembly Language 1.90 100% 8086 8 MHz C (Digital Research) 2.8 67.9% efficient 8086 8 MHz C (Microsoft) 6.0 31.7% efficient 8086 8 MHz C (Computer Innovations) 7.2 26.4% efficient 8088 5 MHz Assembly [CPU of IBM PC] 4.0 100% IBM PC 5MHz C (Computer Innovations) 22.0 18.2% efficient IBM Series 1 COBOL 38.7 Z-80 Assembly 6.8 100% Z-80 C (BD Systems) 15.2 44.7% efficient Apple II/6502 Pascal (Apple) 160 Z-80 COBOL (MS V2.2) 5115 = 1:25:15 slowest 0.13% efficient
What do people mean when they say netbooks are not powerful enough? Don Reisinger on eWeek Europe said "Netbooks Are Not a Business Solution" in May. How can he know? How does he know what your business problem is? But Ephraim Schwartz of InfoWorld says, "For field forces, the answer is clearly yes. For other users, the fit is less clear". Someone has got to be wrong.
The test results above are from machines used by thousands of businesses 20 years ago. How much has business changed? The fastest computer in the Byte '83 required an 18-wheel truck to move and took hours for a dozen men to set up. But some businesses must have considered it to be worth the $3,000,000. The least expensive of the machines above would have been difficult for one person to carry very far and none worked on batteries. So if modern netbooks outperform all of those old computers how can they possibly not be suitable for plenty of businesses today?
The computer landscape began shifting when IBM introduced the Personal Computer, or PC, in 1981. The PC used the Intel 8088, one of the first 16-bit microprocessors, a distant ancestor of the Atom used in most netbooks. Curiously, at 22 seconds, the original PC took exactly 10,000 times as long to run the benchmark as the netbooks using the same language. The 3033 mainframe running the PL/I language was 600 times as fast as the PC though it cost 1000 times as much. Did IBM come up with the term Personal Computer to persuade people that is was not a REAL COMPUTER? The PC was actually more powerful than more expensive machines that IBM was selling at the time, like the Systems 32 and 34. The System 34 could take a maximum of 256 KILOBYTES while the PC could use 640 kilobytes. And yet 8 terminals could be attached to the System 34 so eight people could use the machine simultaneously.
This benchmark data demonstrates a very important aspect of computer software, EFFICIENCY. Every computer ultimately runs what is called machine code, but that is not what programmers write most of the time. The vast majority of code is written in some high level language which must be translated into machine code by a program called a compiler. Occasionally code is written in something called Assembler or Assembly Language which produces the fastest code possible. But an Assembly Language programmer must know the internal structure of the CPU being coded for and this code will not work on any other type of CPU. But this is the only way to get 100% efficient code. Compiled code just isn't as good. The IBM 3033 mainframe had three different results. The 0.0078 second result was the fastest of all of the computer and software combinations tested. It was the most efficient code on the fastest machine. The code produced by the PL/I compiler took almost five times as long at 21.7% efficiency and COBOL took more than ten times as long.
This variation in efficiency does not necessarily correspond to the language used. Three different C compilers were tested on 8 megahertz 8086 processors. The C by Digital Research was exceptionally efficient at almost 68%. Microsoft's C was less than half as efficient and Computer Innovation's was slightly worse than that. The BD Systems C compiler was 45% efficient although that was on a different processor, the Z-80. But in every case the efficiency is compared to the performance of that same processor running Assembly Language. People who only use computers for running applications and don't get to select what language and which compiler their application is written in may not be in a position too choose, but they must live with the resulting efficiency of the software. A significant LACK OF EFFICIENCY can force users to upgrade their hardware.
Another cause of performance difference is the size of the data bus. The 8086 and the 8088 are the same internally and they execute the same machine code but the data bus between the memory and the processor is 16 bits wide on the 8086 but only 8 bits on the 8088. But in the tests above the 8086 also has a 60% higher clock speed at 8 MHz instead of 5. So in these test the 8088 is at a disadvantage because of both the clock speed and bus size. In the Assembly Language tests the 8086 was 2.1 times as fast as the 8088. But if that 8088 had been running at 8 MHz it would have taken only 2.5 seconds and the 8086 would only have been 31% faster. So the bus width accounted for much of the difference in this test. But the IBM PC took three times as long with the same Computer Innovations compiler as the 8086. Compilers produce a lot more code than Assembler so that code had to be read from memory over the 8-bit bus of the 8088 and consequently took even more time.
---------- New tests on modern CPUs ---------- TI OMAP5910 150 MHz GNU C Pocket CPU 0.0522 Archos PMA400 Linux Pent 2 300 MHz GNU C 0.0148 AMD 433 MHz GNU C 0.0122 OLPC-XO 1 Pent 3 500 MHz GNU C 0.0087 Pent 3 1.3 GHz GNU C 0.0035 Pent 4 1.8 GHz GNU C 0.0024 Atom 1.6 GHz GNU C *NETBOOKS 0.0022 Asus/Lenovo Pent 4 2.66 GHz GNU C 0.0020 Single-Core 1 program Pent 4 2.66 GHz GNU C 0.0040 Single-Core 2 programs Pent 2D 2.8 GHz GNU C 0.0019 Dual-Core 1 program Pent 2D 2.8 GHz GNU C 0.0019 Dual-Core 2 programs
This was from CNET News:
August 5, 1998: 300-MHz Pentium II notebooks on tap
The 300 MHz Pentium 2 test was done on a CF-27 Toughbook, a ruggedized laptop from Panasonic. Running the benchmark with GNU C it took a little less than twice as long as the 3033 mainframe doing Assembler. So assuming that GNU C is 50% efficient, which would be quite good, then the 1998, 300 MHz Pentium has about the same performance as the IBM 3033 mainframe that began delivery in 1978. The Tough book has a magnesium case and is somewhat heavy for a laptop. But being able to comfortably carry the processing power that filled a room 20 years earlier is quite impressive. But it didn't stop there.
The TI OMAP5910 is an ARM processor from Texas Instruments. That ARM processor is run at 150 MHz
in that Archos PMA400. PMA stands for Personal Media Assistant but it is really a Linux computer with a GUI interface and capable of doing multi-media. It works as an MP3 player for music and audio books. It has a built in microphone to record sound. External sources like VCRs or DVD players can be plugged into it for recording video to be played on the go. An external camera and microphone can be attached to use it as a portable video recorder.
Although the Archos is the slowest of the new machines tested with the benchmark, it still beat the 3033 mainframe running COBOL which was still a popular language in 1980. So the net processing power that took up a room in 1980 now fits in a pocket. There are dozens of ARM processors and they are the most popular processors for cell phones. Because they are used in portable devices energy efficiency is a major factor in their design.
The Intel Atom processor used in most netbooks is 23 times as fast as the Archos, and even running compiled C it is three
times as fast as that old mainframe running assembler. But there will soon be competition for netbooks with new versions of the ARM processor, one called Snapdragon. These new gadgets will be priced around $200. Though the processing power of these new ARM netbooks, called SMARTBOOKS, has yet to be seen, they should be competition for the Atom. Desktop computers do not exactly leave the Atom in the dust but bigger, hotter, heavier computers can be expected to outperform Atom powered netbooks. So our society will soon be flooded with low cost portable computers more powerful than 1980 mainframes. So the real question is, what kind of society do we want to create with this abundance of processing power?