I An Undergraduate October 1968



Similar documents
An Undergraduate Computer Engineering Option

CONTROL DATA" 3200 Computer system / ~eal Time Applications

Computer Organization

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Assessment for Master s Degree Program Fall Spring 2011 Computer Science Dept. Texas A&M University - Commerce

Chapter 2 Logic Gates and Introduction to Computer Architecture

SECTION C [short essay] [Not to exceed 120 words, Answer any SIX questions. Each question carries FOUR marks] 6 x 4=24 marks

EE360: Digital Design I Course Syllabus

DATA ITEM DESCRIPTION

EE361: Digital Computer Organization Course Syllabus

Hardware Assisted Virtualization

Floating Point Fused Add-Subtract and Fused Dot-Product Units

The Application of Visual Basic Computer Programming Language to Simulate Numerical Iterations

M.S. Computer Science Program

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

Computer Science. General Education Students must complete the requirements shown in the General Education Requirements section of this catalog.

Computer Architecture TDTS10

3 SOFTWARE AND PROGRAMMING LANGUAGES

1 Classical Universal Computer 3

A Lab Course on Computer Architecture

Administrative Issues

Information Systems. Administered by the Department of Mathematical and Computing Sciences within the College of Arts and Sciences.

Virtualization. Pradipta De

Assessment Plan for CS and CIS Degree Programs Computer Science Dept. Texas A&M University - Commerce

02-201: Programming for Scientists

Survey Results and Further Issues in Construction Automation Education

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

COWLEY COLLEGE & Area Vocational Technical School

THE NAS KERNEL BENCHMARK PROGRAM

Gildart Haase School of Computer Sciences and Engineering

A Parallel Processor for Distributed Genetic Algorithm with Redundant Binary Number

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

Programmable Logic Controllers Definition. Programmable Logic Controllers History

Academic year: 2015/2016 Code: IES s ECTS credits: 6. Field of study: Electronics and Telecommunications Specialty: -

B.Sc.(Computer Science) and. B.Sc.(IT) Effective From July 2011

From Concept to Production in Secure Voice Communications

Design and Development of Virtual Instrument (VI) Modules for an Introductory Digital Logic Course

CS 261 C and Assembly Language Programming. Course Syllabus

CURRICULUM VITAE. Dept. of Mechanical Engineering and Industrial Design Τ.Ε.Ι. of Western Macedonia KOZANI, GREECE

İSTANBUL AYDIN UNIVERSITY

Department of Computer Science

How To Write A Page Table

Processor Architectures

The Elective Part of the NSS ICT Curriculum D. Software Development

Chapter 6, The Operating System Machine Level

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

CHAPTER 4 MARIE: An Introduction to a Simple Computer

UNIT 2 CLASSIFICATION OF PARALLEL COMPUTERS

Digital Systems. Syllabus 8/18/2010 1

AC : A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION

The WIMP51: A Simple Processor and Visualization Tool to Introduce Undergraduates to Computer Organization

Byte code Interpreter for 8051 Microcontroller

Online Development of Digital Logic Design Course

Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

Introduction to Xilinx System Generator Part II. Evan Everett and Michael Wu ELEC Spring 2013

University of St. Thomas ENGR Digital Design 4 Credit Course Monday, Wednesday, Friday from 1:35 p.m. to 2:40 p.m. Lecture: Room OWS LL54

OKLAHOMA SUBJECT AREA TESTS (OSAT )

(Refer Slide Time: 02:39)

CHAPTER 3 Boolean Algebra and Digital Logic

Introducción. Diseño de sistemas digitales.1

Undergraduate Major in Computer Science and Engineering

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

Comparing Student Learning in a Required Electrical Engineering Undergraduate Course: Traditional Face-to-Face vs. Online

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Chapter 1 Computer System Overview

Chapter 11 I/O Management and Disk Scheduling

Implementation of Modified Booth Algorithm (Radix 4) and its Comparison with Booth Algorithm (Radix-2)

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

Exploring Computer Science A Freshman Orientation and Exploratory Course

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Database trends: XML data storage

Microprocessor and Microcontroller Architecture

8051 MICROCONTROLLER COURSE

Essentials of Computer Programming. Computer Science Curriculum Framework

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

(Refer Slide Time: 00:01:16 min)

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

Computer Organization & Architecture Lecture #19

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

Course Requirements & Evaluation Methods

DISTANCE DEGREE PROGRAM CURRICULUM NOTE:

How To Improve Performance On A Single Chip Computer

Chapter 7 Memory Management

Degree programme in Automation Engineering

Computer Science/Software Engineering

Copyright 2012 Pearson Education, Inc. Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING

INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)

Transcription:

I An Undergraduate October 1968 I Electrical Engineering I Course On Computer Organization I Cosine Committee Commission on Engineering Education

AN UNDERGRADUATE ELECTRICAL ENGINEERING COURSE ON COMPUTER ORGANIZATION An I nterim Report of the COSINE COMMITTEE of the COMMISSION ON ENGINEERING EDUCATION 2101 Constitution Avenue Washington, D.C. 20418 October, 1968 Task Force on the Computer Organization Course COSINE Committee Commission on Engineering Education C. Gordon Bell, Carnegie-Mellon University Yaohan Chu, University of Maryland C. L. Coates, University of Texas Wayne Lichtenberger, University of California, Berkeley Fred Luconi, Massachusetts Institute of Technology William Viavant, University of Utah E. J. McCluskey, Stanford University, Chairman This report has been supported in part by the National Science Foundation under Grant GY-2108. 7

An Undergraduate Electrical Engineering Course on COMPUTER ORGANIZATION : Report by a COSINE Task Force I. INTRODUCTION Although new departments are being started to educate undergraduates specifically in the area of Computer Science, there is an ever increasing need for electrical engineers whose undergraduate program provided a familiarity with digital system design. This need arises because of the increasing demand for special purpose digital data processing and control systems as well as for general purpose digital computers. To meet the demand it will be necessary to offer the undergraduate electrical engineering student the opportunity of an option or elective program in the appropriate subject matter. Such a program must include both the hardware and software aspects of digital systems that are essential to the design function. One course that is fundamental to such a program is concerned with the elements of computer organization. Such a course should be offered by the Electrical Engineering Department and should correlate the design and organizational aspects of the subject. The content of such a course is the topic of this report which was written as a result of a two day meeting held at Stanford University on July 18, 19, 1968. On these days a group of seven educators experienced in Computer Science and Electrical Engineering held discussions concerning a Computer Organization course. In addition a dinner meeting was held with local representatives of the computer industry and universities. The results of these discussions are presented on the following pages. The group of educators responsible for this report was acting under the sponsorship of the COSINE Committee of the Commission on Engineering Education and was constituted as the Task Force on the Computer Organization Course. Parallel activities are being carried on by the Task Force on the First Course and the Task Force on Digital Subsystems. The purpose of this report is twofold: First, it is hoped that it will be of considerable direct help to university faculty members wishing to teach a course such as the one described. To facilitate this use, detailed specific references to available books and articles are given for each of the topics recommended. Second, it is expected that the discussions presented here will stimulate the preparation of textbooks written explicitly for courses such as the one covered here. 11. BACKGROUND The course described here is assumed to be an upper-class undergraduate elective course in Electrical Engineering for students with a major interest in digital systems. Before considering the course content, a discussion was held concerning the prerequisites or background knowledge the students taking such a course could reasonably be assumed to have. There was quick agreement that all students should havt had an "lntroduction to Computing" course in which they learned to write programs in an algorithmic language. A preference was expressed for their learning ALGOL or PL/1,- but because of the practicalities involved it was recognized that in many cases the language covered in such a course wou Id beatean. It was further agreed that it is desirable that a course in - assembly language programming precede or be taken concurrently with the ~~pi-ter' organization course. The group, recognizing that this might not be possible in all cases, therefore arranged the computer organization course so that assembly language programming was not an essential prerequisite. Since one objective of the computer organization course is the design function, it is necessary that the course either be preceded by at least one course in logic design or that logic design topics be presented in the core electrical engineering courses. Table I lists the topics that should be included and that are considered prerequisite to the computer organization course. An adequate level for these topics is approximately that of either Bartee's book* or Maley and Heilweil's book*'. It was also agreed that additional courses in logic design and switching theory should be available as electives. TABLE I: Prerequisite Logic Design Topics 1. Number Systems and Codes 2. Binary Arithmetic 3. Boolean Algebra 4. Logic Elements - AND, OR, FLIP-FLOP (electrical circuit diagrams as well as logical performance) 5. Combinational Circuits (including Karnaugh Maps) 6. Shift Registers, Counters, Adders, Decoders 7. Registers and Information Transfer RECOMMENDATION The logic design topics listed in Table I are prerequisites to the computer organization course and, moreover, are considered sufficiently important to be required of all students who seek the BSEE degree. In addition, elective courses covering logic design and switching theory in more depth are desirable. *Bartee, T. C., Digital Computer Fundamentals, 2nd Editic McGraw-Hill Book Co., New York, 1966. **Malev, G. A., Heilweil, M., Introduction To Digital Computers, Prentice-Hall, Englewood Cliffs, N. J., 1968.

I 111. SYLLABUS FOR COMPUTER ORGANIZATION COURSE The following is a presentation of the syllabus for the Computer Organization course which was arrived at after considerable discussion. Each of the topics has specific references given to indicate more precisely the items to be covered and to provide text material. SYLLABUS: I. A SIMPLE STORED PROGRAM COMPUTER* A. Stored-program concept B. Configuration (registers, adders, switches, etc.) C. lnstruction and data formats D. lnstruction set [I: Ch71, [13: Secl1.1-11.51, [I81 E. Programming and software [14: Ch181 II. DATA REPRESENTATION AND ALGORITHMS FOR OPERATING ON DATA A. Data and common number systems (e.g., integers, floating point, character strings) B. Operations on data I. Algorithms for arithmetic and logical data 2. Expression of algorithms using programming languages and flow charts 3. Expression of algorithms in hardware 3. Floating-point arithmetic unit [I: Sec8.1.61, [13: Sec 12.41 B. Control units (13: Sec 12.61 1. Timing and control signals [I: Sec8.2.11, [13: Sec 10.81 2. lnstruction decoding [I : Sec 8.2.21 3. Addressing and indexing [I: Secs 8.2.3, 8.2.51 4. lnstruction and execution cycles [13: Sec 11.41. [14: Ch 151 5. Interrupt and priority [14: Sec 17.81 6. Microprogramming [I: Sec 9.51. [13: Secs 12.7, 12.81 C. Memory units [I: Secs 8.3, 10.1, 10.21, [51, [14: Ch161, [15: Sec 5.31 1. Coincident current magnetic core memory [I: Sec 8.3.11, [16: Ch 241 2. Linear selection magnetic core memory [I : Sec 8.3.21, [16: Ch 241 3. 2% D magnetic core memory [16: Ch 241, [I71 4. Drum and disk memories [I: Sec 8.3.41, [14: Sec 17.71 5. Associative memories [I : Sec 8.3.51 a. Conventional 6. Memory control [4: Sec 3.3-3.5, Sec 5.7-5.101 b. Macro modules [I: Sec 8.1.1-8.1.61, [21, [31 7. Memory bus [I: Sec 8.51, t4: Sec 5.1-5.31 Ill. COMPUTER UNITS A. Processors 1. lnstruction formats and repertoire [I: Sec 8.2.41, [13: Sec 12.51 2. Fixed-point arithmetic unit [I: Sec 8.1.71, [13: Sec 12.1-12.21 *The instructor may choose a commercially available computer and use the manual supplied by the manufacturer. D. Channels and I10 units [I: Sec 8.41, [4: Sec 9.71, [14: Ch 171 IV. THE COMBINATION OF COMPUTER COMPONENTS TO FORM A STRUCTURE A. Simplex or 1 processor with ability to carry out all tasks [ 1 : Sec 8.51 B. T he u ni -arithmetic processor, multiple channel structure [I: Sec 8.51, [4: Ch 81

*C. Memory mapping, multiprogramming and resource allocation [61 *D. Multi-processor structures [I: Sec 8.51 *E. Time sharing [7 I F. Reliability in a structure [I: Sec 10.31. [4: Ch 101 V. SELECTED COMPUTER EXAMPLES A. Classical von Neumann machine [81, [91 B. B 5000 - A stack organized multi-processor system [ 101 *C. CDC 6600 [Ill *D. IBM 360 [I21 IV. PROJECT In order to become familiar with computer organization, projects in simulating functional operations of a computer on an available computer are advisable whenever possible. Examples of such projects are: simulation of a fetch sequence with indexing and indirect addressing; simulation of an addition, a subtraction, a multiplication, or a division sequence; simulations of a main control sequence with interrupt and priority feature; simulation of a simple but non-trivial stored program computer. To simulate a digital computer on another computer one has to select a simulation language and its associated simulator. Two possible choices are described below. The Use of a General Purpose Programming Language One choice is to select an available programming language whose compiler is available in the systems of the university computer installation. The most common such languages are FORTRAN, MAD, ALGOL, and PLII. Because of availability of one or more of these languages in many universities, this is the most practical choice. These programming languages are designed for computational purposes. There will be some difficulties in describing the computer logic and function. An example of the difficulty is the description of parallel micro- -operations which occur in a computer organization. The Use of a Simulation Language A computer simulation language is designed specially for describing the function and organization of a computer. As a 'Optional, may be left for more advanced course result, most of the difficulties that are encounted in using an available programming language are removed. These languages differ from one another in the degree of closeness to the physical implementation and in the generality of describing computer function and organization. Many such languages have been reported in the literature, but most have no simulators. V. DISCUSSION After taking this course a student should be able to identify the functional units of an information processing system. He should understand alternative designs for each functional unit and should know the basic economic and technical factors on which to base a choice of alternatives. He should know the organization of several existing computers and should be able to read papers and manuals describing new ones. If given specifications for a simple computer, the student should be able to create a functional design and justify it technically. He should also be able to simulate his design with a program written in a procedural or simulation language. He should appreciate the dependence of programming on computer organization, and consequently, the dependence of new organizations on programming needs. He should understand how the division between hardware and software de pends on changes in circuit and component technology. Most texts describe computer organization with a tendency to concentrate on a particular organization (usually a simple von Neumann machine) and show very few alternatives. To offer perspective, it is suggested that a number of examples of different types of machines be discussed explicitly in the latte part of the course (V,Selected Computer Examples). The students should be required to read the references, with the instructor filling in background and smoothing over differences in terminology. The references and what is intended to be conveyed in them are described below: A. References [81 and [9] discuss the classical von Neumann machine. These references are not much different from the text, but the machine being discussed is complete and real. B. The B 5000 is representative of a daring departure from the von Neumann-type machine. The principal feature of the machine is the use of the stack mechanism. Reference [lo] describes design objectives and system organization in a very readable fashion. C. The CDC 6000 series [ 1 1 I machines display two interesting features which should be emphasized. The use of a set of small peripheral processors which control the flow of information between various components of the system is important. The method of addressing central registers in the central processor is also novel and fairly general. D. System 360 [I21, [4: Ch 91 represents the most widel\ used third generation system. Many schools may have such a system on campus; hence there may be particular motivation for coverage of this material.

REFERENCES [I] Gschwind, H. W., Design of Digital Computers, Springer- Burks, A. W., Goldstine, H. H., and von Neumann, J., -Verlag, New York, 1967. "Preliminary Discussion of the Logical Design of an Electronic Computing Instrument", Part I, Datamation, Vol. [21 Clark, W. A., "Macromodular Computer Systems", AFIPS 8, No. 9, pp. 24-31, September 1962. Spring Joint Computer Conference, Vol. 30, pp. 335-336, 1967. Burks, A. W., Goldstine, H. H., and von Neumann. J., "Preliminary Discussion of the Logical Design of an Elec- Ornstein, S. M., Stucki, M. J., and Clark, W. A., "A Functional Description of Macromodules", AFIPS Spring tronic Computing Instrument", Part II, Datamation, Vol. Joint Computer Conference, Vol 30, pp. 337-364, 1967. 8, No. 10, pp. 36-41. October 1962. [3] Falkoff, A. D., Iverson, K. E., and Sussenguth, E. H., "A Formal Description of System/36OU, IBM System Jour- [9] Buckholz, W., "The System Design of the IBM Type 701 nal, Vol. 3, No. 3, pp. 198-263, 1964. Computer", Proc. of the IRE, Vol. 41, No. 10, pp. 1262-1275, October 1953. Chu, Y., "An Algol-Like Computer Design Language", Communications of the ACM, Vol. 8, pp. 607-615, Oct- [lo] Lonergan, W., and King, P., "Design of the B 5000 Sysober 1965. tem", Datamation, pp. 28-32, May 1961. [41 Hellerman, H., Digital Computer System Principles, McGraw-Hill Book Co., New York, 1967. [5] Kilburn, T., Edwards, D. B. G., Lanigan, M. J., and Sumner, F. H., "One-Level Storage System", IRE Trans. on Electronic Computers, Vol. EC-11, NO. 2, pp. 223-235, April 1962. [61 Randell, B., and Kuehner, C. J., "Dynamic Storage Allocation Systems", Communications of the ACM, Vol. 11, No. 5, pp. 297-306, May 1968. [71 Bell, C. G., ''The Fundamentals of Time Shared Computers", Computer Design, pp. 44-59, February 1968 and pp. 28-46, March 1968. #'! [I I] Thornton, J. E., "Parallel Operation in Control Data 6600", AFIPS Fall Joint Computer Conference, Vol. 26, Part l I, pp. 33-40, 1964. [I21 "The Structure of System/360", IBM System Journal, Vol. 3, No. 2, 1964. [ 131 Chu, Y., Digital Computer Design Fundamentals, McGraw-Hill Book Co., New York, 1962. [I41 Flores, I., Computer Design, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1967. [ 151 Braun, E. L., Digital Computer Design, Academic Press, 1963. [81 Goldstine, H. H., and von Neumann, J., "On the Prin- [ 161 Meyerhoff, A. J., editor, Digital Applications of Magnetic ciples of Large Scale Computing Machines", John von Devices, John Wiley and Sons, Inc., 1960. Neumann Collected Works, Vol. V, Pergamon Press, pp. 1-32, 1963. [17]Schuur, C. C. M., "A Fast 2% D Mass Memory", Proceedings of SJCC, pp. 267-274, 1968. Burks, A. W., Goldstine, H. H., and von Neumann, J., "Preliminary Discussion of the Logical Design of an Electronic Computing Instrument", Part 1, Vol. 1, John von [I81 Frankel, S. P., "The Logical Design of a Simple General Neumann Collected Works, Vol. V, Pergamon Press, pp. Purpose Computer", Trans. of the IRE PGEC, March 34-79, 1963. 1957.

ACKNOWLEDGMENT We wish to express our appreciation to the following individuals who con- tributed to the discussion that resulted in this report: Gene Amdahl, IBM H. Ferguson, Control Data Corporation Martin Graham, University of California, Berkeley William McKeeman, University of California, Santa Cruz Kay Magleby, Hewlett Packard Richard Mattson, IBM Ralph Smith, stanford University Harold Stone, Stanford Research Institute