Documentos de Académico
Documentos de Profesional
Documentos de Cultura
William Yurcik
Department of Applied Computer Science
Illinois State University
Normal, Illinois (USA)
wjyurci @ilstu.edu
111
ITiCSE 2000 Working Group Reports
t12
ITiCSE 2000 Working Group Reports
course. Thus, this is not a curriculum recommendation The most thorough approach requires three courses
and no suggested syllabus is included. This report which are typically the following:
presents a comprehensive list of existing resources that I. A digital logic course (the s a m e course that
faculty can use now. W e also present the list of topic electrical engineering and computer engineering
areas, identified by our survey, that are most in need of students take), which covers digital logic and
support. Since this is a part of an ongoing project, this digital systems (AR1).
report represents a first analysis of the survey results; II. A course on the p r o g r a m m e r ' s view of
more will follow in future reports. computer architecture; this course covers m a c h i n e
level representation of data (AR2) and assembly
3. M o t i v a t i o n level machine organization (AR3). This treatment
It is clear that a treatment of computer organization includes topics such as linking and loading and
and architecture should be required in any curriculum the difference between RISC and C I S C instruction
for an undergraduate degree in computer science. For set architectures.
example, the Computer Science Accreditation III. A course on implementation of the instruction
Commission (CSAC) of the Computing Sciences set architecture (AR4-AR6).
Accreditation Board (CSAB) states in its Criteria for The less thorough approach consists of a two course
sequence that covers AR1-AR6. Different divisions are
Accrediting Programs in Computer Science in the
United States, J1] adopted in January 2000, that "All possible although these topics naturally divide as
follows: the first course covers A R 2 and AR3 and
students must take a broad-based core of fundamental
lightly covers the other topics. The second course m o r e
computer science material ... The core materials must
deeply covers the other topics (AR1, AR4-AR6).
provide basic coverage of ... computer organization
The least thorough approach teaches AR1 through AR6
and architecture."
in a single course.
Topics covered in the required course or courses have
There are m a n y reasons for choosing one approach or
been stable for a number of years. For example, the list
another and for selecting the topics for a particular
of topics in Computing Curricula 199112] and the draft
course. This project attempts to identify resources that
C o m p u t i n g Curricula 200113] (current draft is dated
will be of use in a particular course regardless of its
March 6, 2000) closely overlap. The draft Computing
design and its goals. T h e next section presents a
Curricula 2001 report has been developed by the Joint
Task Force on Computing Curricula of the IEEE comprehensive set of resources that are currently
Computer Society and of the Association for available through the World W i d e Web.
Computing Machinery. This report identifies what
should be in the required core material on computer 5. E x i s t i n g r e s o u r c e s
organization and architecture within its CS Body of In this section we review existing resources. Due to the
Knowledge appendix. T h e m a i n topics listed are: large volume and diversity of materials, a key issue is
how to categorize potential resources for these topics.
AR1. Digital logic and digital systems W e decided to categorize resources by source type.
AR2. Machine level representation of data Examples include curricular recommendations,
AR3. Assembly level m a c h i n e organization textbooks, conferences, and simulators. These are
AR4. M e m o r y system organization described in the remainder of this section.
AR5. I/O and communication
AR6. CPU implementation
5.1 Curricula recommendations
4. V a r i a t i o n s in c o u r s e d e s i g n T h e primary current r e c o m m e n d a t i o n s for teaching
There are several approaches to assembling the core computer organization and architecture in the
material on computer organization and architecture undergraduate computer science curriculum are:
into one or m o r e courses. Not recognizing the existence
of these different approaches can cause confusion when I. CSAC Criteria for Accrediting
discussing "the computer organization course" Programs in Computer Science in the
(especially when considering the appropriateness of a United States [ 1]
particular textbook). Beyond the required course(s),
there are elective courses that typically do a more II. A C M / I E E E C o m p u t i n g Curricula 1991
detailed treatment of uniprocessor m e m o r y and [2] This is the current approved
processor design, address parallel architectures, or recommendation for the required coverage
focus on microcomputer interfacing. There are three of computer organization.
c o m m o n approaches to the number and format of the III. I E E E / A C M C o m p u t i n g Curricula 2001
required courses in computer organization and report [3].
architecture within the undergraduate computer science
curriculum.
113
ITiCSE 2000 WorkingGroup Reports
114
ITiCSE 2000 Working Group Reports
conjunction with the International S y m p o s i u m on links to m a n y manufacturers can be found at: http://
High Performance Computer Architecture www.cs .wisc.edu/~ arch/www/commercial.html.
(HPCA) and/or International Symposium on
Computer Architecture (ISCA): the first one was
held in 1994. I E E E Computer Society's Technical A m o r e exhaustive list with live links will be m a d e
C o m m i t t e e on Computer Architecture (TCCA) available through our project web site
publishes proceedings of some workshops in the (http://christie.netlab.cse.villanova.edu-results/). The
T C C A Newsletters. Links to some of the following are third party product review web sites that
workshop p r o g r a m s are available from the project can also serve as a useful resource:
web page[6].
II. A C M Special Interest Group on Computer C P U Info Center (http://bwrc.eecs.berkeley.edu/CIC/)
Science Education (SIGCSE) Sponsored L Tom's Hardware Page
Conferences2: (http://www. tomshardware, com/)
S I G C S E Technical S y m p o s i u m on Computer II. AnandTech
Science Education (http://www.anandtech. corn/index, html)
Conference on Innovations and Technology in Storage Review
C o m p u t e r Science Education (ITiCSE) (http ://www.storag e review, corn/)
http://www.cs.utexas.edu/users/cs ed/iticse/
III. Compilation of Research Conferences
http://www.cs.wise.edu/~arch/wwwleonferences.ht 5.7 Course material repositories
m (maintained by University of Wisconsin Several repositories have been developed to contain
Computer Architecture Group) links to course material developed by instructors. S o m e
of these are applicable to C o m p u t e r Organization:
115
ITiCSE 2000 Working Group Reports
projects funded by NSF. This repository contains II. IEEE Computer Society Digital Library
links to resources for computer science education (http://www.computer.org/publicationsldlibl).
that has been developed as part of a National Note that some content requires a subscription.
Science Foundation grant. T h e web pages for the T h e May/June 2000 issue of the I E E E M i c r o
NSFCSCR can be found at: M a g a z i n e is a special issue dedicated to
http://www, education.siggraph.org/nsfcscr/nsfcscr. computer architecture education. It can be found
home.html at http://computer.orglmicrolindex.htm
III. T h e T C C A (Technical C o m m i t t e e on
5.8 Professional organizations C o m p u t e r Architecture) Newsletter. T h e T C C A
is involved with research and d e v e l o p m e n t in the
T h e professional c o m p u t i n g organizations have links to integrated h a r d w a r e and software design of
publications, conferences and other resources that m a y general and special-purpose uniprocessors and
be o f use to instructors developing computer parallel computers. The TCCA annually
organization courses. T h e s e organizations include: sponsors the International S y m p o s i u m on
Computer Architecture and publishes a
I. T h e A C M (http://www.acm.org). T h e A C M newsletter periodically c o n t a i n i n g meeting
Digital Library can be found at reports, abstracts o f technical reports, call-for-
http:/Iwww.acm.org/dl/. Note that some content papers, and other a n n o u n c e m e n t s . A web page
m a y require a subscription. for the TCCA can be found at
http:l/www.computer.org/tab/ tcca/index.htm
II. S I G A R C H ( A C M Special Interest Group on
C o m p u t e r Architecture). S I G A R C H serves a
unique c o m m u n i t y o f computer professionals 5.9 Simulators
working on the forefront of computer design in Current software t e c h n o l o g y enables rich learning
both industry and academia. It is A C M ' s environments for visualization and active learning o f
p r i m a r y f o r u m for interchange of ideas about computer organization using a n i m a t e d simulators.
t o m o r r o w ' s h a r d w a r e and its interactions with Students can learn the fundamentals o f c o m p u t e r
compilers and operating systems. T h e web pages organization/architecture by visually observing and
can be found at http://www.acm.org/sigarch/. interacting with animated data flow within a particular
III. S I G C S E ( A C M Special Interest Group on hypothetical or real machine. V i e w i n g highlighted
C o m p u t e r Science Education). S I G C S E provides operations within a computer and in slow m o t i o n can
a f o r u m for problems c o m m o n among educators be a powerful teaching tool. A representative sample o f
working to develop, implement, and/or evaluate simulators used in teaching is s u m m a r i z e d in Table 1.
c o m p u t i n g programs, curricula, and courses, as
well as syllabi, laboratories, and other elements
o f teaching and pedagogy. S I G C S E also
publishes a bulletin that can be found at: 5 . 1 0 Computing history
http://www.acm.org/sigcse/bulletin/ A d d i n g elements o f c o m p u t i n g history can provide
IV. SIGMETRICS (ACM Special Interest motivation and context for the rest o f a c o m p u t e r
G r o u p for C o m p u t e r / C o m m u n i c a t i o n System organization course. A recent publication entitled
Performance). S I G M E T R I C S s promotes research "History in C o m p u t i n g C u r r i c u l u m " [6] shows h o w o n e
in p e r f o r m a n c e analysis techniques as well as the can integrate history in the curriculum. It also provides
advanced and innovative use o f known methods a list o f books, periodicals, videos web sites, courses
and tools. and other information o f interest that m a y be useful to
V. S I G M I C R O ( A C M Special Interest Group teachers and students. T h e following associated web
on Microarchitecture and M i c r o p r o g r a m m i n g ) . site also provides a c h r o n o l o g y o f historical events:
S I G M I C R O 6 specializes in the study o f computer http://www.Hofstra.edu/ComputingI-tistory.
microarchitecture including instruction -level
parallelism and its implications on compiler 6. P r e l i m i n a r y n e e d s a n a l y s i s - s u r v e y r e s u l t s
design.
T h e first step in providing distributed expertise in any
subject area is to d e t e r m i n e w h e r e such assistance
I. I E E E C o m p u t e r Society (www.computer.org) might be desired. In this section, we attempt to
identify the areas within c o m p u t e r
organization/architecture w h e r e survey respondents
feel they are most in need of assistance. As described
5 http://www, sigmetrics.org/
previously, we use instructors' r a n k i n g s o f their own
6 http://www, acm.org/sigmicro
116
ITiCSE 2000 Working Group Reports
6.1 C o n t e n t areas
Section 3 defines the main topics recommended as
fundamental to computer organization/architecture
courses. Each of the major topics is broken down into
several subareas. W h e n instructors indicated that they
teach in a major area, they were surveyed in more detail
about each of the subareas. T h e more detailed sections
of the survey
117
ITiCSE 2000 Working Group Reports
T a b l e 1: A s a m p l e o f s i m u l a t o r s a v a i l a b l e for u s e in t e a c h i n g c o m p u t e r o r g a n i z a t i o n a n d a r c h i t e c t u r e
118
ITiCSE 2000 Working Group Reports
queried respondents as to their confidence in teaching external storage, physical organization and drives
specific content sub-areas within these main topics.
The sub-areas are listed below. Alternative architectures
CISC, RISC
Digital logic parallel architectures (VLIW, SIMD, M I M D )
tight coupling
basic logic elements and switching theory
minimization and implementation of functions 6.2 Self-confidence index
propagation delays and hazards
In an attempt to characterize an individual's
technologies; flip-flops
assessment of their confidence in teaching each of the
devices (demultiplexers, decoders, comparators)
main topics covered in a computer
memories (ROM, PROM, R A M )
organization/architecture course, we have developed a
analysis/synthesis of synchronous circuits;
metric called the self-confidence index. W e use this
asynchronous circuits
index to identify those topics where instructors m i g h t
benefit from convenient access to quality resources.
Digital systems
register transfer notation
finite state machines The index is calculated by averaging survey
tri-states and bus structures respondents' self-confidence rankings across each of
the sub-areas within a topic. A L o w self-confidence
iterations
ranking in a sub-area was assigned a value of 1, a
decomposition, trade-offs, economics
Medium ranking was given a value of 2, and High
block diagrams, timing diagrams, transfer
rankings were assigned a value of 3. I f a respondent
language
selected "Not taught" or "Would teach i f ' for a
particular sub-area, it was not included in the index.
Machine level representation of data
(At this point, it is not possible to infer a self-
numeric data representation (binary, hexadecimal) confidence ranking from these "non-answers".)
non-numeric data (ASCII, Unicode)
basic organization (yon Neumann, data paths,
control paths) To illustrate how the index was calculated, consider the
functional units (ALU, memory, registers) following example. The topic of Digital Systems
includes the following sub-areas: register transfer
Assembly level machine organization notation, finite state machines, tri-states and bus
structures, iterations, decomposition and trade-offs, and
instruction sets and types block diagrams/timing diagrams. I f an individual
assembly and machine language ranked their abilities in these sub-areas as Medium,
addressing modes (direct, indirect, register) Medium, Low, Not taught, Low, and Medium,
control unit, instructions and operand fetch, respectively, their self-confidence index for the course
execution topic of Digital Systems would be 1.6 ((2+2+1+1+2)/5).
I/O and interrupts
hardware realization
m i c r o - p r o g r a m m i n g formats and coding An overall confidence ranking of an individual was
then assigned based upon the following ranges:
Memory system organization and architecture
storage systems and technology
coding, data compression, data integrity
Confidence Range
space allocation and hierarchy Ranking
main m e m o r y organization, bus operations,
selection and addressing Low Index < 1.5
cache memory, read/write Medium 1.5 < Index < 2.5
virtual m e m o r y High Index > 2.5
119
ITiCSE 2000 Working Group Reports
120
ITiCSE 2000 Working Group Reports
The topic in general is taught by relatively few Since machine-level representation of data is one of the
instructors. With the exception of Register Transfer most basic areas of computer organization, it would be
Notation, all sub-areas were mentioned by fewer than expected that most instructors would be very confident
one-third of those surveyed. Because of the small of their teaching abilities in all sub-areas within this
number of instructors that teach these sub-areas, it is topic. It would appear that instructors in general are not
difficult to m a k e m a n y conclusions about needs. For in need of additional resources in this area.
example, it is notable that most instructors who teach
Decomposition and Trade-offs consider themselves to
be poorly qualified in that sub-area, but this material is TeachingI V l a ~ m ~ r - ~ ~kxl
often taught in a separate digital logic design class. ~ SelNoonlidks~Lewis
%%%%
Digital Systems
% % \ O-Oo
~,~ ~, ~
30 %
25
2o
// // //
0
Medium 30
Low High
Self-confidence Index 25
g'a~
~. 15
10
ii~
Teaching Digital Sy~enn6
Subarea Self-confidence Lewis 5
0
Low IVl~trn Hgh
ohm J 8elf~~dex
M~lium
1'Z1
ITiCSE 2000 Working Group Reports
gm
.-n
g
I,I.
M~lu~ H~
Low Medium I-igh
Self-co~dence Index
t~tmren t~tf-tx~dlmea I . a t ~
I,mD
Nc~Tau~W
DHQh
iMBcIum
10 Low
. % % ~'-,.
M a i n M e m o r y O r g a n i z a t i o n a n d C a c h e M e m o r y are
taught by m o s t instructors a n d are m u c h better
understood, but still stand out as areas w h e r e
instructors could use additional resources.
122
ITiCSE 2000 Working Group Reports
%,o "o.o % %
% % %.
% %% %
123
ITiCSE 2000 Working Group Reports
Re$o~rc~
Textbook resources ( A u t h o r ' s s u p p o r t p a g e s )
O t h e r s ' lecture notes
Others' programming assignments
Low MEdurn Hgh
Others' laboratory assignments
S e l f ~ li-ti~;,( P r o b l e m / S o l u t i o n sets
"White papers"
Posters/diagrams
C o m m e r c i a l W e b sites
Teaching AJtemative Architecture Simulators
Subarea Self-confidence Levels
Animations
Videos/movies
On-line FAQ
[] Not TaughI ] Discussion g r o u p / C h a t r o o m
[] His h I Email colleagues/experts
Medium G u e s t lecturers
[] Low
124
ITiCSE 2000 WorkingGroup Reports
125
ITiCSE 2000 Working Group Reports
Several people participated in the online discussions III. The Joint Task Force on Computing Curricula
prior to convening the working group at ITiCSE 2000. of the IEEE Computer Society and of the ACM,
Though they were not able to be with us at the Computing Curricula 2001 Report (March 6,
conference, their comments and participation in the 2000 draft), http://
preliminary discussions were valuable and represented www. computer, org/education/cc2001/report/index
significant contributions to the group's work. We here .html (main page), http://www.computer.org/
acknowledge the contribution of Edward Gehringer of education/cc2001/report/AR.htnfl (core topics in
North Carolina State University (USA) and Cecil computer architecture) [This is the draft
Yehezkel of Weizmann Institute of Technology recommendation for the required coverage of
(Israel). computer organization, including the subject
categories described above. ]
References IV. IEEE Micro, Special Issue of Computer
I. Computer Science Accreditation Commission Architecture Education, May/June 2000 IEEE
(CSAC) of the Computing Sciences Accreditation Press
Board (CSAB), Criteria for Accrediting Programs V. William Stallings, Computer Organization
in Computer Science in the United States, January and Architecture: Design for Performance,
Prentice Hall, 1995 (ISBN: 013359985X). http:H
2000, http://csab.org/criteria2k_vl0.html
WilliamS tallings.com/COA5e.html
II. The Joint Task Force on Computing Curricula
VI. Impagliazzo, J. et al History in the
of the IEEE Computer Society and of the
Computing Curriculum. IEEE Annals of the
Association for Computing Machinery,
History of Computing, v21, no 1, pp 4-16
Computing Curricula 1991 report (1991).
126
1~