Computer Hardware, System Software
Tom Kelliher, CS14F
Sept. 19, 1996
- Control unit
- Coordinates all activity in system.
- Fetches, decodes instructions.
- ALU
- Executes instructions.
- Bus width.
- Multiple functional units --- superscalar.
- Pipelining.
- Branch prediction.
For more information see
Intel Technology Briefing on the Pentium Pro Processor
and
A Tour of the Pentium Pro Processor.
- Different machine languages.
- RISC vs. CISC.
- Downward compatibility.
- Data bus --- widths for various x86's. Internal vs. external.
- Address bus --- limits addressable memory.
- RAM:
- Primary memory.
- Volatile.
- How much for various OSs.
- Virtual Memory.
- Cache memory.
- ROM
- BIOS, POST.
- Not volatile.
- Secondary storage
Capacities?
- Magnetic disks
- DASD.
- Sectors, tracks, cylinders.
- Read/write head.
- Access times.
- Data storage.
- Flopppy disk.
- Hard disk.
- IDE, SCSI.
- Magnetic Tape
- Sequential access.
- Inexpensive backup medium.
- Optical disk.
- CD-ROM; 660MB
- Access speeds: double, quad, etc.
- CD-R --- write once, read many.
- Cray I, II --- Vector machines.
- Cray T3D, Connection Machine --- Massively parallel machines.
- MGAP I, II --- Massively parallel, micro-grained parallel research
machines. See
MicroSystems Research Laboratory at Penn State
for more information.
Gigaflops, Teraops.
Traditional computers, used by corporations, banks, government agencies.
``Shrunken mainframes'' used by departments.
What's the difference? RISC, CISC.
- The ``officeless'' office.
- RF interference.
- Power compared to desktop machines.
- Cost compared to desktop machines.
- Portables on campus.
How the user interacts with the hardware:
Why are there layers?
Responsibilities:
- Make the hardware easier to use: communicate with user.
- Perform I/O operations.
- Manage resources.
The boot process:
- Power-on.
- POST in BIOS executed by CPU.
- Bootstrap program loaded from hard disk to RAM by BIOS program run by
CPU.
- Bootstrap program run by CPU loads OS from hard disk.
- OS run by CPU.
Terminology:
- Multitasking.
- Multiprocessing.
- Supervisor program.
- Resident program.
- Transient program.
- User interfaces:
- Shell.
- GUI.
- Utility programs.
- Application programs.
- MS-DOS.
- MS Windows 3.1, 3.11 --- an operating environment.
- MS Windows 95.
- MS Windows NT.
- IBM OS/2.
- Apple Macintosh System 7.
- Unix:
- Sun Solaris.
- Sun SunOS.
- SCO Unix.
- BSDI BSD/OS.
- What is a program?
- Why would I want to write one?
- Levels of programming languages:
- Machine language --- binary, object code.
- Assembly language --- human readable machine language.
- HLLs --- source code. Some languages:
- BASIC
- C, C++
- Perl
- Java
- Lisp
Why so many?
- 4GLs
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