Você está na página 1de 25

CDA 4102 Structured Computer Architecture

Abhijit Pandya, Ph.D. Professor Department of Computer Science and Engineering Florida Atlantic University Boca Raton, FL 33431

Introduction (Chapter 1)
READING ASSIGNMENT CH2 (2.1-2.4) A digital computer solves problems by carrying out instructions. A program is a sequence of instructions describing how to perform a certain task. Machine language is a limited set of primitive instructions. They can be used by people to communicate with the computer.

Introduction (Chapter 1)
PROBLEMS We want the machine language to be very simple so as to reduce the complexity and the cost of electronics tedious for people. We want to make it convenient for people to use the computer => complex electronics.

POSSIBLE SOLUTION
the built-in machine language is L1 but is tedious. So form a language (L2) of instructions that is more convenient to use by people How can a program written in L2 be executed by the computer?

TRANSLATION
Replace each instruction in the L2 program by an equivalent sequence of instructions in L1. The new L1 program is then executed by the computer.

INTERPRETATION
An L1 program examines the L2 program instruction by instruction. Then it executes the equivalent sequence of L1 instruction directly.

TRANSLATION VS. INTERPRETATION


Similarity Difference

It is convenient to imagine the existence of a virtual machine whose machine language L2. L1 and L2 must not be too different =>L2 is far from ideal for most applications.

Invent another set of instructions that is more people-oriented. Call the language formed by this set L3. This can be extended to as many levels as needed so as to make it convenient for most application programmers.

We are mainly concerned with the concepts and techniques of constructing machines as a series of levels We also need to define the details for some important levels.

WHY STURCTURED COMPUTER ORGANIZATION?


Viewing a computer as a hierarch of levels provides a good structure. It is a good framework for understanding how computers are organized. Designing a computer system as a series of levels helps to ensure that the resulting product will be well structured.

HISTORICAL EVOLUTION OF MULTILEVEL MACHINES


Two Level Machines : (1940) Conventional machine level Digital logic level (complicated)

Three Level Machines :(1950)s


Conventional machine level Microprogramming level (limited instruction set) Digital logic level (reduce the # of tubes)

The programmer has to operate the machine personally.


To run a FORTRAN program the programmer had to do the following: Read in the FORTRAN COMLIER (CARD READER). READ in the FORTRAN PROGRAM (CARD READER).

No errors => the complier successfully translated the machine language programs punched out on cards. Errors=> Correct them and start all over again.

Read in the machine language program and the subroutine library deck (card reader). Execute program. Errors=> find them, correct them and start all over again.

FOUR-LEVEL MACHINES (1960)S

O/S level (automate the operators job) Conventional M/C level Microprogramming level Digital logic level

O/S got more sophisticated =>new instructions facilities and features. Some new instructions are equivalent to conventional m/c language instructions. Some different (i/o instructions)

BATCH SYSTEMS Time-Sharing (1960)s

Hardware: tangible objects Software: Algorithms and their computer representations (programs). Firmware: Intermediate form between hardware and software It consists of software embedded in electronic devices during their manufacture (microprogram).

Hardware and software are logically equivalent

Any operation performed by software can also be build directly into the hardware Moreover any instruction executed by the hardware can be simulated in software.

Process
A program in execution. At any instant in time a process is in a certain state. The state tells how far the process is in its computation.

THE PROCESS STATE CONSISTS OF AT LEAST THE FOLLOWING INFORMATION.


The program. Indication of next instruction to be executed. The values of all the programs variables and data.

STATE VECTOR IS THE GROUPING OF ALL THE CHANGEABLE PARTS OF A PROCESS:


The effect of a process is independent of its execution speed If a process executes again with the same data, it goes through the same sequence of states and gives the same results.

Você também pode gostar