Computer Hardware, System Software

Tom Kelliher, CS14F

Sept. 19, 1996

The CPU

  1. Control unit
    1. Coordinates all activity in system.

    2. Fetches, decodes instructions.

  2. ALU
    1. Executes instructions.

    2. Bus width.

    3. Multiple functional units --- superscalar.

    4. Pipelining.

    5. Branch prediction.

    For more information see Intel Technology Briefing on the Pentium Pro Processor and A Tour of the Pentium Pro Processor.

  3. Different machine languages.

  4. RISC vs. CISC.

  5. Downward compatibility.

  6. Data bus --- widths for various x86's. Internal vs. external.

  7. Address bus --- limits addressable memory.

Memory

  1. RAM:
    1. Primary memory.

    2. Volatile.

    3. How much for various OSs.

  2. Virtual Memory.

  3. Cache memory.

  4. ROM
    1. BIOS, POST.

    2. Not volatile.

  5. Secondary storage

    Capacities?

    1. Magnetic disks
      1. DASD.

      2. Sectors, tracks, cylinders.

      3. Read/write head.

      4. Access times.

      5. Data storage.

      6. Flopppy disk.

      7. Hard disk.

      8. IDE, SCSI.

    2. Magnetic Tape
      1. Sequential access.

      2. Inexpensive backup medium.

    3. Optical disk.
      1. CD-ROM; 660MB

      2. Access speeds: double, quad, etc.

      3. CD-R --- write once, read many.

Categories of Computers

Supercomputers

  1. Cray I, II --- Vector machines.

  2. Cray T3D, Connection Machine --- Massively parallel machines.

  3. MGAP I, II --- Massively parallel, micro-grained parallel research machines. See MicroSystems Research Laboratory at Penn State for more information.

Gigaflops, Teraops.

Mainframes

Traditional computers, used by corporations, banks, government agencies.

Minicomputers

``Shrunken mainframes'' used by departments.

Workstations and Microcomputers

What's the difference? RISC, CISC.

Portable Computing

  1. The ``officeless'' office.

  2. RF interference.

  3. Power compared to desktop machines.

  4. Cost compared to desktop machines.

  5. Portables on campus.

System Software

How the user interacts with the hardware:

Why are there layers?

The Operating System

Responsibilities:

  1. Make the hardware easier to use: communicate with user.

  2. Perform I/O operations.

  3. Manage resources.

The boot process:

  1. Power-on.

  2. POST in BIOS executed by CPU.

  3. Bootstrap program loaded from hard disk to RAM by BIOS program run by CPU.

  4. Bootstrap program run by CPU loads OS from hard disk.

  5. OS run by CPU.

Terminology:

  1. Multitasking.

  2. Multiprocessing.

  3. Supervisor program.

  4. Resident program.

  5. Transient program.

  6. User interfaces:
    1. Shell.

    2. GUI.

  7. Utility programs.

  8. Application programs.

Commonly Used OSs

  1. MS-DOS.

  2. MS Windows 3.1, 3.11 --- an operating environment.

  3. MS Windows 95.

  4. MS Windows NT.

  5. IBM OS/2.

  6. Apple Macintosh System 7.

  7. Unix:
    1. Sun Solaris.

    2. Sun SunOS.

    3. SCO Unix.

    4. BSDI BSD/OS.

Programming

  1. What is a program?

  2. Why would I want to write one?

  3. Levels of programming languages:
    1. Machine language --- binary, object code.

    2. Assembly language --- human readable machine language.

    3. HLLs --- source code. Some languages:
      1. BASIC

      2. C, C++

      3. Perl

      4. Java

      5. Lisp

      Why so many?

    4. 4GLs

A Sample C++ Program

A program which inputs two numbers and outputs their sum:

#include <iostream.h>

void main(void)
{
   int a;
   int b;
   int sum;

   cout << "Enter the first number: ";
   cin >> a;

   cout << "Enter the second number: ";
   cin >> b;

   sum = a + b;

   cout << "The sum is " << sum << ".\n";
}



Thomas P. Kelliher
Wed Sep 18 15:50:25 EDT 1996
Tom Kelliher