You are here

Computer technologies on the fast track

26 March, 2015 - 17:04

The computer industry has changed dramatically in the past half century -- today, for just a few thousand Hong Kong dollars, we can buy a computer system with capabilities that far exceed the mainframe systems constructed a few decades ago that cost tens of millions of dollars. Computers have evolved from a roomful of refrigerator-size specialized calculating machines such as the ENIAC (Electronic Numerical Integrator and Calculator) built by Eckert and Mauchly at the University of Pennsylvania during World War II (you can find a good history of ENIAC, with photos, here), to general-purpose systems that are compact enough to be placed on your desktops. Computer systems today not only perform mathematical calculations, but also a variety of tasks that even the early pioneers could not imagine. The evolution is amazing. Here is an exampleThese changes are credited to three significant advances in computer technologies:

  1. The introduction of integrated circuit logic technology
  2. The use of high-level programming languages
  3. The operating systems themselves.

Instead of using hot and bulky vacuum tubes and miles of electronic cables, integrated circuit logic technology allows us to build electronic components that are far more efficient and cost effective. The transistor density of the integrated circuit logic technology improves at an average of 50% per year, or quadruples every three years, which has paved the way for replacing the large and bulky mainframe and minicomputers that were once fashionable with the compact microprocessors that are packed with astonishing capabilities today.

The demise of assembly language in favour of high-level programming languages such as FORTRAN, and C++ languages eliminates the need for extensive hardware compatibilities between computer systems. The use of high-level programming languages allows programmers to develop applications that can run on many different systems as long as the language compiler is available for that particular architecture. Together with the protection and common programming interfaces provided by the operating systems, such as virtual memory and POSIX interface, these technological revolutions give way to the rapid development and reproduction of software for commercial uses.

Traditionally, the term personal computer, or PC, stands for a small but general-purpose computer system that can be placed on our desktop to perform various limited computational tasks and for entertainment purposes. Today, many refer to PCs, as computer systems that contain the x86 processors. This course, however, follows the traditional definition of the term PC, and discusses the architectural and implementation issues that cover the design spaces of both x86 and non-x86 general-purpose processors and their systems. It is also important for you to know that many techniques employed in traditional mainframe and super-computer systems for enhancing the system performance are now leveraged and implemented in the personal computers that sit in front of you and me. In fact, the tide has turned so much that many of today’s high-end super-computer systems are constructed by inter-networking many general purpose processors together — the same processor that you use on your desktop or laptop day-in and day-out.