Degree Program in Computer Network and System Administration

SAS1610 Chapter 1

Home
Academic Plan
Spring 2007
Summer 2007
Fall 2007
Fall 2007 Calendar

 

Chapter 1 Introduction

program: a sequence of instructions describing how to perform a certain task.

machine language: a computer's primitive instructions form a language in which people can communicate with the computer.

structured computer organization: structuring computers as a series of abstractions, each abstraction building on the one below it. In this way, the complexity can be mastered and computer systems can be designed in a systematic, organized way.

1.1 Structured Computer Organization

1.1.1 Languages, Levels, and Virtual Machines

translation: a method of executing a program where the replacement of instructions from one level to a new level. the computer executes the new program with the new instructions.

interpretation: a technique of executing a program where instructions of one level are input to the previous level. this technique does not require first generating a new program.

interpreter: the program that carries out the interpretation.

vitual machine: instead of thinking of translation or interpretation; people can write programs for virtual machines just as though they really existed.

layers or levels: the invention of a whole series of languages, each one more convenient than its predecessors, can go on indefinitely until a suitable one is finally achieved. each language uses its predecessor as a basis, hence the name.

 

level n
Virtual machine Mn, with machine language Ln

Programs in Ln are either interpreted by an interpreter running on a lower machine, or are translated to the machine language of a lower machine

level 3
Virtual machine M3, with machine language L3
.
.
.

level 2

Virtual machine M2, with machine language L2

Programs in L2 are either interpreted by interpretres running on M1 or M0, or are translated to L1 or L0

Level 1
Virtual machine M1, with machine language L1

Programs in L1 are either interpreted by an interpreter running on M0, or are translated to L0

Level 0
Actual computer M0, with machine language L0

Programs in L0 can be directly executed by the electronic circuits

The machine languages of levels 1, 2, and 3 are numeric. Levels 2 and 3 are always interpreted. Levels 4, 5, and above are usually, although not always, supported by translation.
 
The program that translates from level 3 to lower levels are called assemblers. Programs that are translated to level 3 or level 4 by translators are called compilers.

 

1.1.2 Contemporary Multilevel Machines

 

level 5
problem-oriented language level
 
|
|
translation (compiler)
|
|
level 4
assembly language level
 
|
|
translation (assembler)
|
|
level 3
operating system machine level
 
|
|
partial interpretation (operating system)
|
|
level 2
instruction set architecture level
 
|
|
interpretation (microprogram) or direct execution
|
|
level 1
microarchitecture level
 
|
|
hardware
|
|
level 0
digital logic level

-device level: at this level, the designer sees individual transistors, which are the lowest-level primitives for computer designers.

-digital logic level:

-gates: ea. gate has one or more digital inputs (1 or 0) and computes as output some simple functions of these inputs (and/or)

-register: 1-bit memories can be combined in groups of 16, 32, or 64 to form registers. each register can hold a single binary number up to some maximum.

-microarchitecture level: at this level we see a collection of (typically) 8 to 32 registers that form a local memory and a circuit called an ALU (Arithmetic Logic Unit) which is capable of performing simple arithmetic operations.

-data path: the registers are connected to the ALU to form a data path over which the data flow. the basic operation of the datat path consists of selecting one or two registers, having the ALU operate on them and storing the result stored back in some register.

-microprogram: controls the operation of the data path.

-instruction set architecture level (ISA level): instructions carried out interpretively by the mocroprogram or hardware execution circuits. if a computer manufacturer provides two interpreters for one of its machines, interpreting two different ISA levels, it will need to provide two "machine language" reference manuals, one for each interpreter.

-(hybrid level): also in the ISA level; a set of new instructions; a different memory organization; ability to run two or more program concurrently, and various other features. more variation exists between level 3 designs than between those either at level 1 or level 2.

-operating system machine level: the new facilities added at level 3 are carried out by an interpreter running at level 2 which has been called an operating system. those level 3 instructions that are identical to level 2's are carried out directly by the microprogram, not by the operating system. i.e. some of the level 3 instructions are interpreted by the operating system and some are interpreted directly by the microprogram.

-systems programmers: those whom write interpreters and translators that are intended primarily to support the higher levels (above 3rd level); a definite break from level 3 to level 4.

-assembler: the program that performs the translation at level 2 and lower

-high-level languages: level 5 programs; e.g. c, c++, java, lisp, and prolog; programs written in these languages are generally translated to level 3 or level 4 by translators known as compilers.

-compilers: translators for high-level programs from level 5+ to level 3 and level 4; e.g. programs like java are usually first translated to an ISA-like language called java byte code, which is then interpreted.

-architecture: the set of data types, operations, and features of each level.

-computer architecture: the study of how to design those parts of a computer system that are visible to the programers.

1.1.3 Evolution of Multilevel Machines

-hardware: tangible objects - electric circuits, memory, input/out devices, integrated circuits, printed circuit boards, cables, power supplies, memories, printers

-software: consists of algorithms and their computer representations, namely programs.

 

-"hardware is petrified software" -Karen Panetta

The invention of microprogramming

-1940's: digital computers had only two levels (ISA and digital logic level)

-1951, Maurice Wilkes, researcher @ University of Cambridge, suggested designing a three-level to simplify hardware; contained a built-in, unchangeable interpreter (the microprogram)

-by 1970 the idea of having the ISA level be interpreted by a microprogram, instead of directly by the electronics, was dominant.

the invention of the operating system

operating system macros or supervisor calls, now known as system call: new instructions at the ISA level

hatch system: op sys that read card decks and printed output on the line printer.

timesharing systems:

the migration of functionality to microcode

 

the elimination of microprogramming

 

 

 

 

1.2 Milestones in Computer Architecture 

Year

Name

Made By

Comments

1834

Analytical Engine [1]

Babbage [1] [2] [3]

First attempt to build a digital computer

1936

Z1

Zuse

First working relay calculating machine

1943

COLOSSUS

British gov't

First electronic computer

1944

Mark I

Aiken

First American general-purpose computer

1946

ENIAC I

Eckert/Mauchley

Modern computer history starts here

1949

EDSAC

Wilkes

First stored-program computer

1951

Whirlwind I

M.I.T.

First real-time computer

1952

IAS

Von Neumann

Most current machines use this design

1960

PDP-1

DEC

First minicomputer (50 sold)

1961

1401 [1]

IBM

Enormously popular small business machine

1962

7094 [1]

IBM

Dominated scientific computing in the early 1960s

1963

B5000

Burroughs

First machine designed for a high-level language

1964

360

IBM

First product line designed as a family

1964

6600

CDC

First scientific supercomputer

1965

PDP-8

DEC

First mass-market minicomputer (50,000 sold)

1970

PDP-11

DEC

Dominated minicomputers in the 1970s

1974

8080

Intel

First general-purpose 8-bit computer on a chip

1974

CRAY-1

Cray

 

First vector supercomputer on a chip

1978

VAX

DEC

First 32-bit superminicomputer

1981

IBM PC

IBM

Started the modern personal computer era

1981

Osborne-1

Osborne

First portable computer

1983

Lisa

Apple

First personal computer with a GUI

1985

386

Intel

First 32-bit ancestor of the Pentium line

1985

MIPS

MIPS

First Commercial RISC machine

1987

SPARC

Sun

First SPARC-based RISC workstation

1990

RS6000

IBM

First superscalar machine

1992

Alpha

DEC

First 64-bit personal computer

1993

Newton

Apple

First palmtop computer

pg. 14, Figure 1-4. Some milestones in the development of the modern digital

1.2.1 The Zeroth Generation – Mechanical Computers (1642-1945)

1.2.2 The First Generation – Vacuum Tubes (1945-1955)

1.2.3 The Second Generation – Transistors (1955 – 1965)

1.2.4 The Third Generation – Integrated Circuits (1965-1980)

1.2.5 The Fourth Generation – Very Large Scale Integration (1980-?)

1.2.6 The Fifth Generation – Invisible Computers

 

1.3 The Computer Zoo

1.3.1 Technological and Economic Forces

1.3.2 The Computer Spectrum

1.3.3 Disposable Computers

1.3.4 Microcontrollers

1.3.5 Game Computers

1.3.6 Personal Computers

1.3.7 Servers

1.3.8 Collections of Workstations

1.3.9 Mainframes

 

1.4 Example Computer Families

1.4.1 Introduction to the Pentium

1.4.2 Introduction to the UltraSPARC III

1.4.3 Introduction to the 8051

 

1.5 Metric Units

 

1.6 Outline of this book