6th Edition
Linda Null
Chapter 1 Instructor's Manual
______________________________________________________________________________
Chapter Objectives
Chapter 1, the Introduction, provides a historical overview of computing in general, pointing
out the many milestones in the development of computing systems, and allowing the reader to
visualize how we arrived at the current state of computing. This chapter introduces the
necessary concepts for the journey through the book, including the necessary terminology, the
basic components in a computer system, the various logical levels of a computer system, and
the von Neumann computer model. It provides a high-level view of the computer system, as
well as the motivation and necessary concepts for further study.
Lectures should focus on the following points:
• Computer organization versus computer architecture. Understanding both concepts leads
to a deeper understanding of computers and computation in general.
• Main components of a computer. It is important that readers understand both the
components and how they work together.
• Principle of equivalence of hardware and software. Software and hardware are basically
equivalent, but it is important to understand which is more appropriate in given situations.
• Computer jargon. Common terms, including the common prefixes, are useful for further
reading.
• A look inside a computer. A discussion of what is really inside the "Black Box" helps to put
the newly learned terms into context.
• Standards organizations. Common guidelines for hardware have resulted in specifications,
and understanding these standards is important to the overall understanding of computer
architecture.
• Historical development. It is difficult to understand where we are going without taking a
look at where we have been. These discussions include explanations of the technologies
that made the various computer generations possible.
1
,• The computer level hierarchy. The concept of a virtual machine is introduced by explaining
the various abstract levels of modern computing systems.
• The von Neumann model. Perhaps the single most important development in computing
(that affects programmers in particular) is the introduction of the stored-program concept
in the von Neumann architecture.
• Non-von Neumann models. Readers must realize there are other models of computing,
including parallel computing and neural networks.
Required Lecture Time
Chapter 1 can typically be covered in 2 to 3 lecture hours, depending on how detailed one
wishes to go into computer jargon. Although the terminology and historical development can
be assigned as reading, class lectures often lead to interesting discussions and motivation for
the study of computer organization and architecture.
Lecture Tips
Although there are no complicated concepts in this chapter, students often have trouble in two
areas. First, understanding the various prefixes can be confusing. We suggest spending some
time to make sure the common prefixes associated with computer organization and
architecture are well understood. It is important to explain that these prefixes can refer to both
base ten and base two values. For example, 1K could mean 1000 or it could mean 1024.
Instructors could have students find ads or go online to find example systems and then discuss
these systems in class. If specifications are given for various hardware components, the
instructor may be able to find a 512MB memory that is actually 512 times 220, but a 10G hard
drive that is 10*1030. The instructor may also want to have class discussion regarding the new
prefixes (kibi, mebi, etc.) to get feedback on how the students think these will be accepted.
Second, the computer level hierarchy is very important, and in particular, the concept of a
virtual machine often confuses students. Teachers should emphasize that these are abstract
levels.
The Principle of Equivalence of Hardware and Software is an interesting concept for students.
Many haven't really given it much thought, while others often refuse to accept this principle
without some class discussion. One interesting point that can be introduced is the patent versus
copyright problem. If someone has a hardware device that provides a specific function, this
device is eligible for a patent. However, the principle says that this machine can be exactly
duplicated in software, yet patent status is often denied software. Thus, the choices made for
implementation in hardware versus software are often the result of simply which is more
efficient or provides better performance.
While covering the section on von Neumann models, the instructor should emphasize that most
of the class will be focused on this mode, instead of non-von Neumann models. The sidebars on
2
,vacuum tubes and transistors are provided simply FYI, and we typically don’t require students
to understand this information in detail.
Answers to Exercises
1. In what ways are hardware and software different? In what ways are they the same?
Ans.
Between hardware and software, hardware provides more speed, software provides more
flexibility. Hardware and software are related through the Principle of Equivalence of
Hardware and Software. They can solve problems equally, although solutions are often
easier in one versus the other.
______________________________________________________________________________
2. a) How many milliseconds (ms) are in 1 second?
b) How many microseconds (µs) are in 1 second?
c) How many nanoseconds (ns) are in 1 millisecond?
d) How many microseconds are in 1 millisecond?
e) How many nanoseconds are in 1 microsecond?
f) How many kilobytes (KB) are in 1 gigabyte (GB)?
g) How many kilobytes are in 1 megabyte (MB)?
h How many megabytes are in 1 gigabyte (GB)?
i) How many bytes are in 20 megabytes?
j) How many kilobytes are in 2 gigabytes?
Ans. Typically, time is measured in powers of 10, so we have:
a) 1,000 f) 1,000,000 (or 230/210=220)
b) 1,000,000 g) 1,000 (or 220/210=210)
c) 1,000,000 h) 1,000 (or 230/220=210)
d) 1,000 i) 20,000,000 (or 20*220)
e) 1,000 j) 2,000,000 (or 231/210=221)
______________________________________________________________________________
3. By what order of magnitude is something that runs in nanoseconds faster than something
that runs in milliseconds?
Ans.
One million, or 106
______________________________________________________________________________
4. Pretend you are ready to buy a new computer for personal use. First, take a look at ads
from various magazines and newspapers and list terms you don't quite understand. Look
these terms up and give a brief written explanation. Decide what factors are important in
3
, your decision as to which computer to buy and list them. After you select the system you
would like to buy, identify which terms refer to hardware and which refer to software.
Ans.
Suggest appropriate magazines for the students, or websites for such places as Dell,
Gateway, and IBM.
______________________________________________________________________________
5. Makers of tablet computers continually work within narrow constraints on cost, power
consumption, weight, and battery life. Describe what you feel would be the perfect tablet
computer. How large would the screen be? Would you rather have a longer-lasting battery
even if it means having a heavier unit? How heavy would be too heavy? Would you rather
have low cost or fast performance? Should the battery be consumer replaceable?
Ans.
No answer.
______________________________________________________________________________
6. Pick your favorite computer language and write a small program. After compiling the
program, see if you can determine the ratio of source code instructions to the machine
language instructions generated by the compiler. If you add one line of source code, how
does that affect the machine language program? Try adding different source code
instructions, such as an add and then a multiply. How does the size of the machine code file
change with the different instructions? Comment on the result.
Ans.
No answer.
______________________________________________________________________________
7. Respond to the comment mentioned in Section 1.5: If invented today, what name do you
think would be given to the computer? Give at least one good reason for your answer.
Ans.
Students have shown a lot of creativity in the past on questions such as this. Some will lean
toward the gaming aspect of the computer, while others will look more into the
bookkeeping abilities. Some will try to find a term that exemplifies the "all encompassing"
nature of computers, while others will focus on the information capabilities of computers.
______________________________________________________________________________
8. Briefly explain two breakthroughs in the history of computing.
Ans.
Acceptable answers include explanations of vacuum tubes, transistors, integrated circuits,
VLSI, binary arithmetic, quantum computing, and parallel computing.
______________________________________________________________________________
4