Professional Documents
Culture Documents
A Course of Study in Computer Hardware Architecture
A Course of Study in Computer Hardware Architecture
net/publication/2958308
CITATIONS READS
6 1,704
6 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Chester Gordon Bell on 14 March 2016.
Module 0 - Preface attention to the fact that t o a u x r the ec,seritial part of any
cornputer system is its visible facilitks: language procekors,
The subject of cornputer architecture as curl-ently taught operating system, and other software. Tilerefore, they d o
in I I I O S ~ coniputer engineering and computer science not support the integration of i~srdware and software
p r o g r a m is a mixture of architectural principles, design that is required to create conip!!tt'r systems which
organizatio.ra1 stiategies, and ixnplerne~itation techniques. satisfy t i x user. I:inally, cbmputlng e ~ ~ v i l m n i e nand
t s basic
This bluriing of the hierarchy of system levels that technologies have chenged significant!^ since the AChl and
characterize the structure of a computer has made it very COSINE committees made tl:eir rc.conirnendations, and
difficult for students (and often instructors 3s well) to these changes need t o be reflected - i n a computer
determine what were the forces that led t o the design a r c h i t ~ c i u r ecourse description.
decisions they have seen reflected in machines.
Guidance for the develi>pment of courszs in computer In view o r these circurnsra~ces, a t x k force was
architecture 113s come from the AChl Curriculum cstablished by the IEEE Coniputer Socicty to prepare a
Committee o n Computer Science [AChI68] and the detailed specification for a course of study in computer
COSIKE Committee of thc Conlmission on Engineering archi!ecture for students wlioje ,iiajor interest is in
Education [COS68] . I n - , I968 these committees both conipbtel engi~iecri~:gor c~)l;ip:liCr science. The members of
proposed syllabuses for a course in coniputer organization. the task force were: George E. f?o-,sr:inriii. cliairn~nn,Palyn
The AChl comniittce a l s ~pl.oposcd tlie content for an Associates, Inc.; C. Gordon I.'cll, Digital Equipment
advanced course in cornputer organization. Thc ~llatcrialin corpora tic!^; Frcderick P. ilrooks, Jr.. U~iivcrsityof North
these courses is characterized by the confusing mixture of Carolii!a, Ch:i;x! IIill; hiicl~acl J. Flynn, Stanford
topics we 11we aiready mentioned. The courscs also suffer University; Snnluel 11. FuIIcr, Ca:wgie-hlellon Ilnivcrsity;
other short(:on~ings. They contain sketchy topic outlines Ilcrhcrt Iiellern~an, State University of New York a t
rather than detailed spec~ficntions.They pay insufficient Bingl~a~ni~ton.
COMPUTER
Plan of the Report In addition, depending upon the composition o f the class.
whether computer engineers or computer scientists, the
. 'The structure of this report has been motivated by three
instructor may choose t o cmpllasize, respectively, the
considerations. First, the report is concer11i.d primarily with
hardware i~nplementation or software enginecring con-
computer hardware architecture. Second, tlie course of
sequences of various arclutectural decisions.
study is intended for students for whom computer
We believe that it is possible within the scope of t!iis
architecture supports their interest in computer engineering
course of s!udy to undertake term projects that involve
o r computer science. These people need to be familiar with
design. However, it was unfeasible for us t o offer guidance
all of the topics discussed here. This course of study is not
in this area. Instructors will have t o define projzcts based
sufficient, however. for the training of tlie professional on their resources and the abilities of thcir students. There
computer architect. The introduction t o hlodule 1 explains is, of course, a temptation t o d o a machine sketch, but the
why. Third, the universities using this report will vary
cormnittee does not. encourage such a project because \ye
considerably with respect t o plans for packaging thus feel that the essence of the design process lies in probing
material into academic courses, instructor capability, deeper than the sketch level t c understand the inter-
student ability, and studefit preparation.
relations between various design decisions.
The first and second considerations determined what The only textbooks currently available that cover a
material should be included, and the third consideration reasonable amount of the material proposed in this course
determined how it should be organized. The material of study are: Computer Srnlcrures: ReaJir~gs. m7d
presented has been restricted t o those topics xvhich we feel Ekamples, C . G . Bell and A. Newel1 [BEL71] ; Digital
every computer engineer and computer scientist ought t o Contpurer System ~rinci&s, H. Ilellerman [HEL73 j : and
know and t o those computer systems which have been in Itltrodricriorz to Curuprrter Architecture, H . Stone (ed.).
the mainstream of commercial equipment. As a result, [ST075].
topics such as the early history of computers: parallel, i
pipeline, associative3 and array processing; the effectiveness Background 1
of various machine structures in performing various T o be prepared for this course of study in computer
computations; implementation details including busing arch~tecturethe student should have a good understanding
structures and interfacing conventions; and switching of (1) p;ogramming in borh assembly language and
structures have been conciously excluded from this course higher-level languages, and (2) how at least one simple
of study. We have organized the material presented into 1 1 computer works.
modules, each dealing with a fundamental aspect of The necessary experience in progranunir~g call' be
computer hardware architecture. The modules are: obtained from any course that introduces the notion r?f
compu?i~:g throlx$l t!ie use cf ar, s1gz:ithmic Inngu2ze E:IC!I
6 F(jRTRx:'r
Ti:lc ~ i~~ i~ i .i ~. . ~ ~
,\. ALG9L: "i F L I . F u ~ i i i i a ~
Introduction and XIeta Representation language programming and the organization of a simpie
machine can be ,obtained from a coursz bssed 01: a k x t
Data Representation
such as [ST0721 or [GEA731.
Instructions and Addressing It is desirable for the student either to have had a course
Interpretation and Control in logic design or t o have besn exposed t o logic design in
either of the prerequisite coursits just described. However,
hlemory herarchies since many students interested in comput:r architecture
Protection hlechanisms and Hardware may be engaged in software engineering programs, iv2 have
Aids t o Supervision arranged this course so that logic design is not an essecti31
Specialized Processors prerequisite.
Some of the modules require additional prerequisites
Multiple Computers such as elementary statistics and probability, and depend
Performance Evaluation on an understanding o f preceding modules. Such
Reliability dependencies are indicated in the introducticns t o the
individual modules.
System &sign Evaluation
hlodules 6-5: Aspects of Systems Architecture the study of those aspects in the analysis and design o i
Modulcs 9.: 1 : %valua;ion hfz:ho& and Analysis. ~ ~ n t p u t cwhish
r ~ specifiually relate their stnlcrurz and riieir ;
function. Computer architecture is the discipline devoted t o construction. For exampie, in :he case of microprograms,
the design of !ughly specific and individual computers iron1 programs trans la!^ the descriptions from the syntax of an
a collection of cornmon building blocks. assenibkr o r compiler language into a form for
We decided not tcr adopt ally uf these Jtfiiiiiions. ccr,s!n!ction, s~n:ul-tion, arid veriiication. There has also
Instedd we deiinetl computer architecture by dzcitiing what been considernble interest in translating the formal
professional architects are supposed t o do. The c o m n i t t e e description of each system level in a computer structure
determined that the computer architect's task is to define into a realization of that level automatically.
computer systems that use hardware and software For the high-level block diagrams that represent the
technologies so as to best satisfy all the users' needs, components of computer systems (e.g., c?ntial processors,
including function, econom!., reliability, simplicity. and primary memories. 2nd secondary memories), there is a
performance. In carrying o u t this task, the architect must need for precise descriptions simply to permit novices t o
develop an understanding of the potential applications of understand them readily. Such notations also p e m ~ i t
each system and then bring to bear extensive knowledge of comparisons. Dzscriptions that shuw the connectivity of a
the material in this course of study, operating systems structure lay the foundation for the automatic generation
principles [COS71], impkmentation details, component of models for perfonnance and reliability calsulations. A
techologies, and many other things t o accomplish its formal representation permits automatic verification and
design. cons:ruction of configurations. That is, a specific computer
Computer hardware systems are complex. There are at system can become the basis for a variety of configurations
least five levels in any implementation of a c o ~ n p u t e r each of which depends on the number and type of
system: components that are used to forrn it. It is generally quite
a. processor/memor~/switch(PhlS) level . difficult to verify that each sucli confipration will be
b. programming level which includes operating systems viable when realization considerations sucli as power, floor
c. register transfer level space, interconnection cable lengths, input-output band-
d. switching circuits level widths, reliability, etc., are accounted for.
e. circuit or realization level
Some aspects and uses of notations include description
Each level arises from abstractions of the levels below it and of:
is characterized by a distinct language for representing its (a) The functional specifications of a system with
components, its modes of combination, and its laws o f conventional prose. At the topmost level of system
behavior. description, users must express their needs and work with
The first three levels of this hierarchy are the proper conlputer archi~ects t o refin? these expi-essions i n t o
t ? : G i= d
JL !.,.
~.ifipsi<i h,,ti,,.... u\\aiC Z i ~ k i ~ ~b~~iIiisi2
ci, iiie
JIUUJ
meaningful speciticztions through t!~e medium o f conven- ,
architect must dec!de how to distribute the complexity tional prose.
inherent in a computer s>.stem among them. Not much will (b) The physical structure of a particular computer
be said about soft\vare and operating systems directly, but system including its various processors, memories, peri-
their influence on hardware architecture \vill permeate all pherals. and their interconnection.
the modules. hioreover, we have tried to show how the (c) ? h e instruction set with its interpretation and the
bou~idariesbztween these levels keep changing and how this definition of data-types and ooerations on these data-types.
impacts design.
Such a description may be used in lieu of standard
programming reference manuals. Currently, rnost machines
Sleta Representation ( I 4 Hours) are described in conventional prose, but also contain an
inforrnai register transfer notation description o f . the
The general problem a d d r e w d in this submoduie should behavior of each instruction. Nearly all machines have a
be discussed briefly t o introduce the student to the need sirnillator written in a high-level language that runs o n
for fornial description. Specific notations can then be another machine.
introduced naturally when the need for them arises. (d) The physical organization of a particular processor,
Therefore, the time allotted ~o this submodule should be including its registers, dcta operators, data flow, and
distributed throughout the course of study. control. Usua!ly this is ad hoc on a functional diagram
In order to cornmuniate about machines, o n e must have basis. The behavior of such a s).stein is specified using
suitable languages. Communication dialogues include register transfer languages and conventional programming
user-vendor, vendor-system designer, system designer- languages. The outcome is 3 description suitable for
programmer. student-teacher, etc. The earliest cornmunica- simulation. For microproyramrned machines the behavior is
tions concerning machines took the form of standard prose expressed as an asse~nblylanguage listirrg and/or flowcllart.
and conventional mathematics (including standard and (e) T!lt syritas and sen~antiz: of data structures. In
Boolean algebra) and used ad hoc diagrams 3hd flowcharts currently evolving Iiardware structures, especially corn-
to describe the structure and operation of the object being munication links, more ~ ~ i i l ~ da!al c x structures are being
buiit. directly interpretzd. The interconnection of compufer
As machines evolved into complex structures, however, cunlponents (computer-coniputer, computer-terminal, etc.)
it became important to use more precise hnguages in order depends on complex communications protocois. These
to cornrnunicnte ?he d e s i y s esactly but simply. The message protocois are exprcsscd in Backus-normal form,
formality of c o n t e m p o r a n descriptions also irnplies that state diagrams, tlowcharts, and timing diagrams.
they can be understood by machines.~Itis useful t o have (9 Combinational and s~quential hgic with !ogic
machine-readable descriptions of machines so that they dia2ranls and Boolean algebra. Such descriptions enable
may be simulated and hence verified prior t o their actual gate and circuit level siniulatid~?of the objects.
COMPUTER
'
Higher Structrires
Complex numbers. Operation Sets (2 Hours)
Vectors. CDC Star. What t o include?
Chained representations of vectors, FIFO, LIFO Frequency of use the chief test. [FOS71; CON70;
(stacks). Burroughs B5.500. [BAR611 WIN731
Matrices, trees. Both of these map neatly o n t o vectors, Fewncss of operands an important test.
hence processors with vectorial memories. ILLIAC (WTR6S and ANA73 discuss operation-set short-
IV, STARLV. (iVE62. Sec. 1.23; BER711 comings ~f the IBM S1360).
C9ROI,, PL!I stmctl-~es: tr.es of inhornogeneor~s O p r a t i o q s cletermineci by date ty?es selected. [REL'II,
elements. Ch. 31
Lattices, graphs, and nonplanar nets: represe~tationby Housekeeping. [FLY741
chained struttures. [MCA6O; ROS611 Processor state changes: Loads and stores.
Data flags: embedding control information in data. Operations o n addressing and indexing mechanisms.
Burroughs B5500. [ILI68, Ch. 2-3; BUC62, Sec. 7.9; Movement of data, partitionkig, shiftitig.
FEU72; FEU731 Arithmetic.
+, -, X, +, shifting. [CHU62; STE72; ST075, Ch. 1;
HEL73, Ch. 71. In either this section o r in Data
Formats (pp. 47), algorithms which implement the
common arithmetic opzrations t, -, X , +, and
Module 3 - Instructions and Addressing (5 Hours) shifting s!iculd be discussed. These algorithms, o f
course, depend on the method of representing
In all electronic computer technologics u p t o now, data. The advantages and disadvantages of various
memory speeds have been at least as slow as, and usually forms o f data representation should be discussed.
much slower than, operation speeds. Therefore, the Square root, radix conversion and other options.
performance of a conputer can be first-ordcr approximated (CHU621
by the memory barzd\tvidth, the number o f bits per second Floating point. [SWE65; STE72; STR741
delivered (or accepted) by the nienimy, running con- Comparisons and tests.
tinuously. For most applications, regardless ef the machine, Sequencing.
about half of the bandwidth is used for data, about half for Branching.
instructions. Subroutine linkage.
The architect, therefore, tries t o improve the cost- Opzlatiom o n sequencing rnechsnisms such as
performance ratio of his design by utilizing the memory enabling/disabling interrupts.
bandwidth efficie~t!?., in Shannon's sense. The design of Synchronization of concurrent activities.
data representation llas been treated in Module 2. This Input-output operations.
module trerts the design of instruction representation;.
Whereas many decisions about data lepresentation are
almost dictated by the characteristics of the data from Addrrssing (2 Hours)
intenc!ed applications, instruction representation gives wide
scope tor design differences. Indeed, the most str:king Name-Space Srnrctinre {itlnitl u r d Secondmy)
differences in computer architectures have !iistoriczlly been Numeric names. jlBA1 6 0 4 Electronic Ca!culating Punch,
concentrated here. circa 1943, had arbitrary names.)
COMPUTER
Associative (stored name) - MU5 vs. geornctric (built-in Operatiorl Codc Specification
name). Fixed-size. IRM S/360, CDC 6600
Vectorial (most machines) vs. m a t l b (STARAN, Variable-size. DGC PDP-I 1
ILLIAC IV) vs. tree ([hlCA GO] -LISP) vs. network Huffmann-coded. IBM Stretch, Burrougls B1700
(Burroughs B6500-segmentation) name stiuctu~c. Direct bit-significance. DEC PDP-8
Number of independent name spaces. [DEN65; ARD66;
DEG70; RAN691 Number of Addrerses
Overlapping name spaces. General purpose registers are
addressable memory locations. DEC I'DP-10, Examples:
Univac I 108 ' 0 - 1 1+1
Burroughs B5.500 IBhl7094 IBXl650
Operand Specification FVithin the Name Space
2 3 3+1
Full address in instruction. DEC PDP-10, IBM 7094
Abbreviated addresses. 1BM S/360 CDC 6600 EDVAC
Necessity due t o large me~noriesand program locality Stacks as a mechanism for eliminating addresses.
(nonuniform-access distributions). [Ah4D64] [BAR61; BR063; BAR69; AMD64; ST075, Ch. 71
Bank Registers-The contents of a bank register are Accumulator, multiplier registers as implicit second,
concatenated to the left end of the displacement third addresses. IBM 7094, IBM S,'360. Univac i 108
field to enlarge the effective address. DEC PDP-8, Multiple accumulators for abbrebqated second, thlrd
HP 2100 addresses. IBM ,51360, CDC 6600. DEC PDP-11. I R l l
Base Registers-The contents of a base register can be S/360 fixed and floating point rqisters distinguished
added to a displacement field (IBM S/360) or used by operation code.
in relative addressing (Univac 1108). Next instruction address. IBM 650, EDVAC. Espl~cit
Descriptors or control words, referenced by short sequence specification is rare because redundancy is
address. Burroughs B5500 and B6500, MU5. so high.
[ILI68; K1L681
Effective address calculation. [BLA59]
Index registers. IBM S/360, CDC 6600, DEC PDP-11,
DEC PDP- 10, Univac 1 108
Indirect addressing. -
Module 4 Interpretation and
Single level. IBM 7094, DEC PDP-1 I Control (6 Hours) .
Multilevel. HP2100, DEC PDP- 10
Programmed-Indirection achieved through Load The writing of interpretive routines i s usually taugilt
Address kstvddion. !EM S/350 independently and separateiy from the notions of
Desciiptors-A Special form of indirect address. instruction execution and interrupt handling. This module
Burroughs B5 500 attempts t o stress the unity of these ideas.
Immediate Address-Direct implementation of Interpretation is the assignment of meaning to an
operand in instruction. IBM Stretch expression applied to specific data, whether the expression
is in a high-level, assembly, or bw-level (socalkd
microprogram) language. It is invoked by a control
mzchanism which selects a series of operations to be
performed at the (virtual) machine level that implements
the interpretation (execution). The control mechanism then
Formats (1 Hour) [LAW68; KII-681
makes the next expression ready for interpretation
Inlporta~rce of Frequency Arpinzents in Format Design (sequencing). The emphasis of this nodule will be o n
control within an interpretive routine and control between
CDC 6600 NOP's waste bandwidth. interpretive routines.
For example, if the expressions are assembly language
Format Compone!~ts instructions, the control mechanism seiects a sequence of
Format Specifier. register transfer level operations to decode and execu~ethe
Operation Code: fixed vs. variable length vs. extensions. operation specified in an instruction. The control
Addresses (including abbreviated ones). mechanism then either fetches the next instruction (or
Address Modification Specifications. interpretation or, if an external event (interrupt) has been
Sequencing. signaled, initiates an interpretive routine t o handle the
interrupt.
One way to intr, duce this rnodule would be to discuss
Format Sizes the interpretation of assembly Isnguage macroinstructions.
Size must be commensurate with data representation I-lave the stildcnts piogram a small number of short
and subfields must be commensurate with readily-accessible interpretive routines in assembly languaee and then s!low
data units. them how to link and sequence rhrough these routines. The
1 6 , 3 2 , 4 8 bits: 1BM S/360 macro sequence should include setring and testing
15, 30 bits: C I X 6600 conditions. branching, snd executing the interpretive
8, 1 6 , . . ., 96 bits: Burroughs B6500 routines. One interp~etiveroutine shouid be devoted to the
36,72,108, 144 bits: Honeywell 6000 handling of interiu~ts.Some of th:. concepts of Module 3
could also ?xbrought out during these exercises: p~ssingof Sequence Dcrcnni~ledbj) External Sigrrals-In temipts
parameters. generation of addresses, representation of an IBM S/36O, DEC PDP-11, DEC PDP-8, CDC 6600.
instructicn, opelation sets, etc. [CIKJ72]
After thrs ir!troduction, a detailed treatment of assembly Types.
language instruction interpretation should follow. Se- Priority and levels.
quenciiig bzrween instructions should be discussed. The Methods of handling.
definition of the conditional branching mechanism 'should
be especially stressed because it plays such an important
role in hardwarelsoftware interaction. The original "IF"
and "DO" specifications of FORTRAN represent the Sequencing Within Instructions, Execution, and Slicro-
effects of attempting to build a language in which programs programming (3% Hours) [ROI69 ;CIIU72; ST075, Ch. 10;
would be as easy as possible to translate into 1BM 704 IBB721
machine language. They were direct descendants of the IBhl The student must fully understand the basics of
704 c o m ~ a f eand TIX instructions. There are numerous instruction fetching, decoding, and execution and be able
converse examples of machine designers mapping higher to time out the interpretation of an instruction in a simple
level laneuagz artifacts into hardware. The treatment of machine.
conditional operations should also include a discussion of
the modifications that can be made once a test is complete. Concepts [FLY671
That is, once one control path is selected, exactly how is a Cycle-as a state transition in a finite state machine.
new instruction address determined? The role of meta- Data paths and control points.
instructions such as REPEAT and EXECUTE, which are Control timing and data path timing.
themselves interpretive routines, should be discussed. Control finite state machines.
Sequencing within instruction interpretive routines is a Execution finite state machines.
direct extension of the foregoing discussion on sequencing Decod:: of an operation.
between them. The additional material to be discussed is Gating descriptions.
related to physical timing of a system. It is important to Sequencing.
introduce the student to the notion of a register state Execution.
transition (internal cycle) as being a fundamental quantum I and E cycles. [LOR72; AND671
of tirning in the system. Concepts such as I and E cycles, Simple execution.
. the general decoding process, control points and data paths, Iterated execution cycles (e.g., MULTIPLY, TRANS-
as well as ssiqle and iterated executio~lcyc!es (ndtip!y, LATE).
trai-dak, etc.), should be discussed. Hardware decodeis Concuricnt execution. [TCh:67; TIIC701
involving rings,. counters, and logic blocks should be
introduced and a discussion of microprogramming should
follow. Hardwired. [GSC67, Ch. 8; ROI691
General references: [BR069, Ch. 8 ; KNU68, Sec. 1.4.3: Timing rings, counters, and decode logic.
CHU72; ST075, Ch. lo]. Microprogramming. [ROI69; HUS70; TEC71; TEC74;
CHU72; DAV72; FUR74; ST075, Ch. 10; TC'C671
Introduction to Interpretation (% Hour) [KNU68, Sec. The subject of n~icroprogran~ming, although strictly
1.4.3; BE3731 speaking an implementation topic, has had much
Sequencing and execution of interpretive routines. greater significance in computer architecture over the
past ten years than a narrow view of implementation
would have admitted. Rosin [ROI7A] credits this to
Sequencing Between Instructions(2 Hours) the notion that "microprogramming is the implemen-
tation of hopefully reasonable systems through
Sequerlce Determined by Instnicrion Action interpretation or unreasonable n~aclunes." This point
In-line. sllouid be discussed in terms of how well computer
Explicit control. IBM 650 systems have met their users' needs.
Read only storage. [HUS70]
Seqrtetzce Determined by Instruction and Result Data Emulation. [ROfGS; TUC65; WEB671
Conditions and testing. IBM S/360, DEC PDP-11, IRM Read-write microstorage. [WIL72a]
7094 Contemporary microprogrammeif processors: Bur-
Branching action. roughs B1700, Nanodata Q M - l , Data Saab
Hardware-software implementations of control struc- FCPU.
tures: IBSI 7094-FOKTRAN, Burroughs 85500,
hl US-ALGOL. [IAN681
Modification of instruction sequence.
Methods of address generation for branch target: Module 5 - Memory Hierarchies (8 Hours)
relztive, skip, absolute, etc.
This motlule deals with the architecture and structure of
hleta Itutnlctiotzs the rnemory system. The fundamental rea5on for using
memory 1l;erarcllics in computer systems is to icducc the
Uniwc 1108-REPEAT, IBM S/360-EXECUTE. system co\t. Computer arcl~itcctsnlust balancc thc system
[Br\060] . cost saviugs accruing fro111a metnory Iiicr~icllyagainst thc
COMPUTER
system performance degradation sornctimes caused by the Seconcicrry Storage
hierarchy. Extended main storage. [TH070, Ch. 3; BOL671
The architecture of a memory hierarchy defincs the Fixed head disk or drum. [COF73, Sec. 5.3; FUI175)
logical memory structure availdble to a pogram (process). 1RM 2305 Drum Storage-[IBM23]
There is a Ftrong interaction hetween this structure and the Moving head disk. ICOF73, Sec. 5.4; TE0721
design of an operating system for a ~ ~ a c h i n c . 1BM 23 14 Direct Access Storage Facility. [1BM24]
IUM 3830 Storage Control and 3330 Disk Storage
[IBM33]
Properties of Memory Reference Patterns (1 Hour)
An effective analysis or design of c mernory hierarchy Mass Storage [DAM62; IiOA72; JON751
requires an understanding of the dynamic behavior of a IBM 3850 hlass Storage System. [IBM38]
program in execution. For the purposcs of memory
hierarchy analysis, it is useful to abstract the execution of a
process to derive the "reference string" f ~ o man executing
program. The reference string is sinlply the ordered Address Translation Mechanism (3 Hours)
sequence of memory references made by the process. The One of the most significant developments in computer
properties of the reference string have a significant impact architecture has been the distirxtion between the virtual
on the performance of the memory hierarchy. The most address space (or name space) of the processor and tile
important property o f . real reference strings is their physical address space of memory. A range of mechanisms
locality-the tendency for almost all references lo be have been developed for mapping one to the other. The
directed t o a limited region of the address space. following references discuss the more important ones.
General references: [BEYGG; COF68; BRA68; SIS69; General references: [KIL62; AKD66; RhK68; DEG701.
MAT70; JOS70; SAL74aI.
Base Register Reiocation
Single. CDC 6600 [TH070, Ch. 41
Memory Components (4 Hours) Double. Univac 1 108
.!lode-Change dfecharzisms
hlicroprocessors and Microprocessor Applications (2 Hours)
Hardrc~are-Ope.r~tl~zg
System-Problem Program Irlteractions Over the 30 years in which computers iiavr: existed,
several thousand species of macliilles have been built by a
variety of organizations for a variety of functions. The
Virtual Memory Mechanisms for Protection (1 Hour) implementations of these machines were based on avaiiable
semiionductor and magnetic tecllnologies. Current!y,
General references: [DEN66; DAL68; ORG72; NEE72;
semiconductor teclmology is such that a ~111311 stored
SCH72; IBM701.
program processor can be fabricated o n a single silicon die.
These processor-on-a-cldI, devices, when executing a fixed
progrzm, form the basis for hand-!ield calculators, appliance
Typical Major Examples t o Illustrate Module Topics anti automotive coritrollers, and sinlplt' terminals. Tlicy also
form the basis for many ~,)rograninir?ble products:
Xlthough a!rno\t every system has its distinct features, point-of-sales terminals, instruments, factory data col!ec-
the following c m illustrate rnost prir~ciplcsand m m y varia- tion terminds, display terminals, etc.
tions found in actual practice. Tlfe asterisks denore virtual The important aspect o f nearly zero cost pro-> ~~ssor-
storage systems. on-a-chip computers is that they will be applied on a wide
CDC 6 6 0 0 scale in ne3rl;. d l man-made objects. Though tl~cse
DEC PDP-11 conipiters are revolutionary in l'unctional ability, their
DEC PDP-IO architcctura! dcvelop~tient has been strictly evoiutic>r~ary.
I M I Sys:em/360 All of the topics discmsed in this report arc relevant t o
Burroughs H550U/B65GO* [ORG73] their design.
IBXI Systeni1370* General references: [COM71a; COM74b; LAY 72;
hiult ics* [DAlbs; ORC72; SAL74bI kiOT74) .
52
Ternzirzal Computers structures will be based o n communications links with
. '1Termin;ils of this type include CKT-keyboards whose processes being assigned to specific processors o n a ,
Reliability.
I
Computer Networks (2 Hours)
Module 8 - Multiple Computers (4 Hours)
General references: [BEL71, Ch. 40; IEEE73; COh173;
Various forms of multiple computers have been designed BEL741.
as a means of (1) increasing the reliability and improving
the performance o f computer systems, and (2) distributing Stntctura and Anal~lsis [ROB70; FRAT1 ;ORN721
computing according to physical location needs t o reduce
wrn:~iil~~ication
..-
h i k ifisis. i w o staidaid icjrnis arc !tie
mulliprocessor computer (which consists o f two or more
processors that share a common memory) and geograph- Facilities and Use.. [ROB73; KLE741
ically distributed computer networks (which are usually a
collection of physically separated computers).
Multiprocessor conlputers which share the same physical
memory and addressing space but havz only a few Module 9 - Performance Evaluation (9 Hours)
processors have existed for some time. Systems are now
being built with a large number of processors, though. Prerequisites: Modules 2, 3 , 5, and 6, plus a basic course
Although some of the multiprocessor's problems are still in in probability. [ F E U 8 1
the research domain, the system designer must be aware of
the issues o f reliability and performance (e.g., conflicts arise T h e performance evaluation of a computer system
when multiple processors access a common resource) and consists of deriving indices of its quality, such as speeds,
the mechanisms for intercommunication which permit the storage capacities, and efficiencies of resource use. This
processors t o share common resources. assessment requires an understanding of the purposes the
Understandiqg conlputer networks requires an under- system is t o serve as well as the hardware and software
standing of their constituent components (the inter- components that constitute it. These purposes are given
connection links, the computers, and their operating explicit definition in the selection and representation of
systems) and the tasks which are t o be distributed among workloads and performance indicators.
them. Computer network analysis is siruilar to the analysis Performance evaluation is frequently concerned with
of other networks in which multicomn~odities are more than just producing the values of a few perfcrnm:ce
transferred among links and nodes o n a dynamic basis. indicators such as bandwidth. throughput, response timi'.
3 Many of the studies that have been carried out for and resource utilization for a given configuration. It must.
telephone communication (especially switching) apply. determint the dependence of these indicators o n x r i o u s
Finally, there are ad hoc, tightly coupled computer parameters o f the system so as t o help designers choose
structures which are neither interconnected via s!andard among a rather large col!eztion of alternative con?iguraticns
comniuniations links nor share the same memory. arid o p t i o ~ i in
s their efforts t o meet user's specifications.
Examples of these structures include 1B?4's A t t x h e d Different types of performance studies (e.g.. different
Support I'rocessor sysknl, conimunications front ends, and levels of detail) are appropriate t o v a ~ i o u s ciasses d
specialized file, array, and display pracessors. computer professionals such as arciiitects, h:jrcl.\vai. a v i
The advent o f microprocessors clearly forccs the growth software engineers, installation managers, system pro-
of various muliiplc. computer s!ructures. The sin1p:cst grammers, problem prograiliincrs, eic. Cespit;. ih; difizieiit
December 1975
needs of these groups, they all use the same basic classes of Alaiti Storage
evaluation tools: ( I ) mathematical analysis, ( 7 , ) simulation
techniques, and (3) measurement. All of these are I/O Devices and Subsystems [HEL70]
introdu~edin this n~odcllein various context>, 2nd some Disk and Drum. [TE072; FUR751
time should be spent comparing their strengths and Printer.
weaknesses.
General references: [CAL67; SMI68; LL'C71; BEL71, Computing System Performance (3 Hours) [MEL75]
Ch. 3; F R E E ; DKU73; HEL75; ST075, Ch. !11.
The references cited for system studies are only
suggestions. Actual studies may involve components,
Overview (1% Hours) subsystems, or systems.
Nature of Computer Performance Evaluation Batch Systems.
Evaluation Classes (Hardware, Software, Systems). Multiprogramnring Systems. [ONE67; CAN68; STU711
Definitiotl of Performance Measures such as Ba~ldwidth, Timesharing Systems. [SCE67; MCK69; D3H70; BA371;
Throughput, Response Time, Resource Utilization, etc. M E 7 1; SHE721
COMPUTER.SYSTEMS
Data Representation
Instruction and
Addressing
E
20
Interpretation
&
c Memory Hierarchy
.$
5
Q Protection Mechanisms
s'
E and Hardware Aids
to Supervision
I
I C
A\ 8
5
lnput/Output
I 4
7 f Facilities for
8 Multiprocessing
Reliability
Performance
December i 9 7 5
expected, thc reiative cost of the system (relative t o otllers C-ige E. P.ox-,mrnn is o n the st:lff of Palyn
of its day) [513A69j, the language processors ar?d operating Asrociates, u.hcre he has been involved with the
dcsirn and ev:ilu;ction o f medium and h g e scale
systems that were espected, and the reliability o f the proccswrs, the design and evaluation of
system in its environment. :ircniory hiexrr~hics.and the t:v..vriu.ilb~lof s d t
The second is addressed because i! is impossible t o machine aril~itccturca.He has \;.cirked far IEM
wmprtre systcms wit!io!~t considering their tecilnoiogical in thc nrc.ls oi advanced tcci~rlolopy, circuit
base. The instructor shouid n o r m a l i ~ ethcse considera:ions deskn, and Luge systems ;~rcllitccti~re.From
1971-1973 he v;as a n assistant profcssor a t t h e
whenever possible, but a h cal! attention t o them w l i t ! ~ Universiiy ~ 1 Iklaware.
'
they represent technics! constraints in the system designer's He rccei\-8x1 the ES dc:rre in electrical e r ~ i a c e r i n g from
environment. For example, the availabiliiy of different lafaye!:e College, the MS from Penn State University, and the PILD
memory elements ar,d the relative cost o f circuits frorn S ~ I ~ L University.
IIS~
Dr. kor;.;man served as chairman of the \\'orkshop o n Education
frequently affect arclutectural decisions. and Computer Architecture in 1973. He has published a nunlbcr of
papers in tezhnizal jourru!~arid holds one patent.
Medirtm Systems
. -;,-
*= -
--.-+.
-* Frederick P. Brooks, Jr. is Kenan professor and
,
a. Burroughs B1700.
i. ;
'
chairmsn of the Cornputer Science Department
at thc Unnersity of Nort!] Carolina in Chapel
b. IBM System/370 Model 145 [IBM45]. f . 'qp Hill He is best known as the "father of the IBhf
C. DEC PDP-1 1/45. =. , Sys;ern/ 360," having served as project nlanager
d. Honeywel! Series160 level 64.. : ; for its development and later as manager of the
-,--./ Opemtin: System/360 software project during
its d e s i g phase. Earlier, he was an architect of
1l1itriconlpulc"rSystems '
?,A
.' i the IBM Stretch and Har;est computers
k w . d
A t C h ~ p e l ~ H i lIir.
l , Brooks has participnted
a. DEC PDP-8. in th? establishmznt and gaidi~?g of the Triangle Universities
b. HP2100 and HP21MX. C o m p u t n t h n Center and the North Carolina Educational Cum-
c. hlicrodata 1600. putins Senice. He has published Arctonlotic Dizta Processi?ig, the
d. Data General Nova.
e. IBM System/32.
--
Systern/34O Eiiirioii of Automatic Data Processing, and chapters in
,,
.s\tral o t t e r b o o k s His most recent work is The ,~iytlrical.
Marz-,~lcc?rirl~: Essays or1 Sojtnvre E?~gbree;?ng.
COMPCJTER
x---,i. Samucl 11. 1:uller is a11 aswci;~tcprofessor of
'
<+. .
Bibliography
c.omputcr science and clcctric~!cnpinccritip :it
1
i: :-.:,p
,
.
''
Carmyic-h1cIh Univcrsily. tlis rcscarcll
intcrests in~.lude topics in c(3lnputer arcl~i-
tcctu rc and tltc pcrfor tn.int'c evaluation o f
We Inve triccl to identify a minimum set o f references
wluch, i n our opinion, represent the bcst path through the
t, ‘ - \ c:omputcr systems kle i:; currcn:ly involved in material in the course o f study. These references have been
? . the measurcrnent and evalu;ition of C.mmp, :I ~ilarkcdwith asterisks. The remaining references have been
t $ multi-miniprocrssor computer system, and the selected because they simpliijr and broaden the path
P. . design of ncw niultiproceswrs hasctl o n the
K - " crnerp(n:: rnicrowmputcr technology.
'
established by the first set.
Dr. l'ullei rcccivcd the l $ S i dcprec in electrical cnginccring from
thc U~tive~sity of hlizliipan in 1968, the hlS 2nd l'l1.11 d g r e c s from
Stanford University in 1969 and 1972, respectively. [ACM68] "Curriculum 68," CACM, 11, 3, hlarch 1968: pp.
l l e is !hc :ru tlwr o f AIV!)W'sof 1)r.1rr11ar~dOisk Storage IJ~lits 151-197.
(Springer-Vcrlap). and a co-author o f 111tr.odrtctiorrto C o r ~ p i t c r
Arclriic~titr? (SI1.4). Dr. 1:uller is a n editor of the Computer *[AMD64] Amdalil, G. M., G. A. Blaauw, and F. P. Brooks
S y s t e ~ m1)cp;trtmerit of C>IG11 ;~iidis a member of tlic AChl and the "Architecturr of tlic IUhl System/360," IBhf Jol~rtlilof HAD. 8.
1LI:I: Cc~inputcrSoiicty. Ile is also a niernher of Tau Beta Pi, Sigma 2 , April 1964: pp. 87-101.
Xi, Phi K:tppa Phi, and Etii Kappa Nu.
[ANA73] Anagnostopoulos, P., C . XI. Stabler, and A. van Dam,
"Computer Architecture and Instruction Set Dcsigk" AFIPS
Herbert Ilellernian has bcen a professor a t the Proc. NCC, 42, 1973: pp. 519-529.
State University o f New York : ~ tI3ingllamtun
?. >bite 1969. Earlier, he served o n the electrical [ANC69] Anacker, W.,and C. P. Wang, "Evaluatio~iof Computing
, . , engineering faculties a t Syracuse University arid Systems With Memory Hie~archies," IEEE T ~ G I 011
: L Conip:~fci.s,
\
. > :b$ with
.-.- the University of Delaware. Dr. Hcllcrman was
tltc IRM Yorktown lleazarch and System
EC-16, 6 , Dec. 1967: pp. 764-773.
-... .
' a , , Development Divisions for 1 0 years where Ite * [AND671 Anderson, D. 'A1., F. J. Sparacio and K. 51. Tornasulo.
'-jg worked on tlie architecture and performance of "The IBhl System/360 hlodel 91: Machine Pllilowphy and
3 multiproprarnmed, timeshared, and multi- Instruction Ilandling," IBAl Jorlntal o f R&D, 11, 1, january
L.,_J processor systems. He is the author of several 1967: pp. 8-24.
books. Ilis current computer work centers o n Iiardware/software
performa~ice,operating systemsand computer system education *[ARD66] Arden, B. W., B. A. Galler, T. C. O'Bricn and F. H.
He received his undergraduate degree at Purdue University and Westervelt, "Program and Addressing Struc?ure in a Time
the P1i.D from Syracuse U!iiversity. Sharing Environment," JACAf, 13, 1, J a n 1966: pp. 1-16.