[comp.edu] Computer Organization Text Needed

isns22@ms3.UUCP (Mark Van Ditta) (09/02/88)

Does anybody out there know of a good alternative to the textbook used by
the University of Maryland for CMSC 311, Computer Organization?  
The course is using "Computer Systems Architecture" by M. Morris Mano and 
frankly it's a piece of shit.  This book lacks sufficient examples for
me to be able to solve the problems at the end of each chapter.  I would
prefer a textbook that explains Boolean Algebra and Karnaugh Mapping in
greater detail.  Any assistance in locating a supplemental textbook for 
this course would be appreciated.

Mark
..!umd!vrdxhq!ms3!isns22

mark@hubcap.UUCP (Mark Smotherman) (09/02/88)

Does your course emphasize digital logic design, the instruction set
processor (ISP) level, or the processor-memory-switch (PMS) level?
Your textbook selection obviously depends on this.

Mano has four books out.  Maybe one of the other three would suit your
needs better.  I've never taught out of any of his books, but I've
often placed them on reserve.  Student feedback has been positive; they
often say he's very readable.  Anyway here goes:


Some digital design oriented texts:

* Mano, Computer Engineering: Hardware Design, Prentice-Hall.
  a 1988 book that I believe replaces his 1979 Digital Logic and
  Computer Design text and includes ISP material that his 1984 
  Digital Design text does not (correct me here if I'm wrong).
  includes simplification by Karnaugh maps (16 pages worth),
  gets into some ISP and PMS issues.

* others ... (my collection is incomplete)


Some typical "computer organization" texts:

* Hamacher, Vranesic, and Zaky, Computer Organization, McGraw-Hill, 2nd ed.
  digital logic design relegated to an appendix (i.e. treated as
  a prerequisite course), ISP and PMS issues are well covered.

* Hayes, Computer Architecture and Organization, McGraw-Hill, 2nd ed.
  more emphasis on digital design (chapters devoted to it), esp. good
  on control unit design, however it doesn't have the simplification
  material you seem to want, good PMS coverage, adequate but somewhat
  limited ISP coverage.

* Rafiquzzaman and Chandra, Modern Computer Architecture, West Publishing.
  competes with Hamacher, aimed at same balance.

* Stallings, Computer Organization and Architecture, Macmillan.
  a hybrid of Hamacher and Hayes with doses of Bell, Mudge, and McNamara
  and recent RISC papers thrown in to boot.  digital design in an
  appendix.

* Tanenbaum, Structured Computer Organization, Prentice-Hall.
  (don't have a copy but understand people like it for its layered
  approach; I believe the first layer consists of digital gates)


Some typical "computer architecture" (ISP and PMS only) texts:

* Gorsline, Computer Organization, Prentice-Hall

* Baer, Computer Systems Architecture

* Stone, Computer Architecture, 2nd ed.
  (I think it leaves out digital design - don't have a copy handy)

* Siewiorek, Bell, and Newell, Computer Structures, McGraw-Hill
  (update of the classic B&N)
-- 
Mark Smotherman, Comp. Sci. Dept., Clemson University, Clemson, SC 29634
INTERNET: mark@hubcap.clemson.edu    UUCP: gatech!hubcap!mark

haynes@ucscc.UCSC.EDU (99700000) (09/02/88)

There was quite a discussion of computer architecture books a while
back, and I may have saved some of it, but that was more in the line
of architecture books that would not include gates and Karnaugh
maps and that kind of stuff.  Sounds like you want more of a logic
design book.

haynes@ucscc.ucsc.edu
haynes@ucscc.bitnet
..ucbvax!ucscc!haynes

jeschke@iuvax.cs.indiana.edu (Eric Jeschke) (09/02/88)

    I would recommend  "The Art of Digital Design"  by Winkel and Prosser.
This book provides a CS rather than an engineering approach to hardware
construction.  It has excellent sections on Karnaugh mapping and Boolean
algebra.


-- 
Eric
  jeschke@iuvax.cs.indiana.edu

Gimme shelter.

segall@caip.rutgers.edu (Ed Segall) (09/03/88)

>  * Hamacher, Vranesic, and Zaky, Computer Organization, McGraw-Hill, 2nd ed.
>    digital logic design relegated to an appendix (i.e. treated as
>    a prerequisite course), ISP and PMS issues are well covered.


This is a good, very readable book.  However, for the "ultimate" in
treatment of Karnough map minimization in a digital logic text, see

Fletcher, William I.,  "An Engineering Approach to Digital Design",
Prentice-Hall, 1980


Admittedly, this book is not recent, but then again neither are
Karnough Maps.  He treats them in great detail and provides several
simplification methods that I have not seen elsewhere .  The only
caveat is that his notation is unconventional.  It takes some time to
get used to.  However, I have found that it is worth the effort.
Using the Variable-Entered-Map technique he describes allows reduction
of systems that one would not normally wish to use Karnough maps on -
e.g.  6 variables is not difficult.

In addition, he treats other real digital design issues as
metastability, glitches and their prevention, and other issues in
asynchronous system design.

My main criticism of the book is that he takes 750 pages to present
material that could be more effectively presented in less than 500
pages.  The writing is wordy, to say the least.  Makes the content
difficult to appreciate.


--Ed Segall
-- 


uucp:   {...}!rutgers!caip.rutgers.edu!segall
arpa:   segall@caip.rutgers.edu

seeger@beach.cis.ufl.edu (Charles Seeger) (09/03/88)

In article <12311@iuvax.cs.indiana.edu> jeschke@iuvax.UUCP (Eric Jeschke) writes:
>
>This book provides a CS rather than an engineering approach to hardware
>construction.  It has excellent sections on Karnaugh mapping and Boolean
>algebra.
>
>Eric jeschke@iuvax.cs.indiana.eu

This is a good book and is used in our undergraduate logic design class.
It teaches mixed logic design, which IMHO is the only way to go.  It's
not so good on computer organization, however -- it uses the PDP-8 as
a design example.  There is a new edition, which I haven't seen, so the
appropriate disclaimers apply.

Regards
Chuck

psp@hropus.UUCP (Polly Powledge) (09/03/88)

> Does anybody out there know of a good alternative to the textbook used by
> the University of Maryland for CMSC 311, Computer Organization?  
> The course is using "Computer Systems Architecture" by M. Morris Mano and 
> frankly it's a piece of shit.  This book lacks sufficient examples for
> me to be able to solve the problems at the end of each chapter.  I would
> prefer a textbook that explains Boolean Algebra and Karnaugh Mapping in
> greater detail.  Any assistance in locating a supplemental textbook for 
> this course would be appreciated.
> 
> Mark
> ..!umd!vrdxhq!ms3!isns22

Schaum's puts out a series of technical "Outline" books, and they have
one for switching theory that also covers boolean algebra and k-maps.
I also believe they have a discrete mathematics book that covers boolean
algebra, too. At any rate, I used the switching theory one in a graduate
architecture class to make up for my weak undergraduate architecture class
(where we used Mano, too!) and recommend it. Cost: ~$8. Should be
available at any decent textbook store.
-- 
+-------------------------------------------------------------------+
| 								    |
|				-- Polly Powledge		    |
|				uucp:{att,allegra}!opus!psp	    |
|				ARPA: psp@opus.ATT.COM		    |
---------------------------------------------------------------------
---------------------------------------------------------------------
| "My attorney is still working on my disclaimer"		    |
|								    |
| "And you may find yourself behind the wheel of a large automobile.|
|  ...And you may ask, well, how did I get here?" -- Talking Heads  |
+___________________________________________________________________+

quale@puff.cs.wisc.edu (quale) (09/04/88)

In article <Sep.2.13.11.01.1988.24296@caip.rutgers.edu> segall@caip.rutgers.edu (Ed Segall) writes:
>
>This is a good, very readable book.  However, for the "ultimate" in
>treatment of Karnough map minimization in a digital logic text, see
>
>Fletcher, William I.,  "An Engineering Approach to Digital Design",
>Prentice-Hall, 1980
>
>Using the Variable-Entered-Map technique he describes allows reduction
>of systems that one would not normally wish to use Karnough maps on -
>e.g.  6 variables is not difficult.

Why are Karnough maps important to computer organization?
In fact, why would you want to use Karnough mapping on any digital system?

Aside from the fact that Karnough maps are really an implementation
technique, I think that they are no longer an apropriate tool for
logic design for any level of hardware.

I have a bunch of reasons why I think that Karnough maps are a matter of
historical interest only, but before boring you with them I would like to
know if anyone really uses this minimization technique any more.

(As an aside, both the texts by Fletcher and one mentioned previously by
Winkel & Prosser are excellent, and for logic design I recommend them both.
"An Engineering Approach to Digital Design" is NOT suitable however for a
class in Computer Organization, and this is not one of the book's goals.
My favorite of the texts mentioned so far is the book by Tannenbaum,
but I have not seen the most recent edition of "The Art of Digital Design"
by Winkel & Prosser.  I don't think it's main goal is to teach Computer
Organization either, but perhaps they could be persuaded to write another
book.:-)

 -- Doug Quale

 DISCLAIMER: The above are the views of a (math) undergrad,
             not yet wise in the ways of the (real) world....

gordon@eecea.eece.ksu.edu (Dwight Gordon) (09/04/88)

In article <1764@puff.cs.wisc.edu> upl@puff.CS.WISC.EDU writes:
>
>Why are Karnough maps important to computer organization?
>In fact, why would you want to use Karnough mapping on any digital system?

Time costs money!  I (and I dare to say, my students) can reduce a boolean
function up to about 5 independent inputs in less time than it takes to walk
to my nearby computer and run a Quine-McCluskey reduction program.  At six
inputs it becomes a toss-up.  Secondly, in the lab where we do most of the
student lab work with digital circuits, we found it expensive to add a $2000 
[ :-)? ] computer just to do simple reductions.

>Aside from the fact that Karnough maps are really an implementation
>technique, I think that they are no longer an apropriate tool for
>logic design for any level of hardware.

Bunk!
Extrapolating this logic leads to the conclusion that we should only teach
the "end results" rather than the means to them.  As a musician (as well as
a Computer Engineer) I should never practice anything other than concert
pieces because that is what I perform.  Scales, exercises . . . are not
important. -:)!
More directly, any answer given by a computer (or calculator) should always
be questioned for "reasonableness."  Computers lie with a "straight-face."
Just because you pay good money for a program/computer, doesn't guarantee
that it will give you good answers. (Just check the chatter in one of the
application groups on this net to see how many are related to hardware or
software "failure.")  Perspective (through an independent means of evaluating
the boolean reduction) can confirm or deny the credibility of 
computer/calculator-generated solutions.

>I have a bunch of reasons why I think that Karnough maps are a matter of
>historical interest only, but before boring you with them I would like to
>know if anyone really uses this minimization technique any more.

You heard it!

> -- Doug Quale
>
> DISCLAIMER: The above are the views of a (math) undergrad,
>             not yet wise in the ways of the (real) world....

As a non-[electrical engineer, computer engineer, computer scientist], you 
are rather opinionated with regard to this field and Karnaugh mapping.  I
find it best to limit my comments to those areas where I have some experience
as well as a "little" knowledge.

- - Dwight W. Gordon - - 

-- 
Dwight W. Gordon                                 |       913-532-5600        |
Electrical & Computer Engineering Department     |   dwgordon@ksuvm.bitnet   |
Kansas State University - Durland Hall           | gordon@eecea.eece.ksu.edu |
Manhattan, KS 66506      | {pyramid,ucsd}!ncr-sd!ncrwic!ksuvax1!eecea!gordon |

gillies@p.cs.uiuc.edu (09/07/88)

I thought another use for Karnaugh maps was to ensure that transition
"hazards" were covered (when you switch from one input generating a
"1" to another input generating the "1", you can suppress a spurious
signal spike by covering the transition in the karnaugh map).

As Anita Bryant would say,

"Karnaugh maps -- They're not just for minimization any more!"
------------- 

As far as Karnaugh maps v.s. computer organization:

Perhaps the best and most satisfying course of my entire life was a 5
hour "Computer Organization" course where we started by learning
boolean logic, karnaugh maps, logic systems, etc, then built a trivial
finite state machine, and then enhanced it ten times until we had a
microcodeable 68000-type CPU.  Then we wrote microcode for the last 3
weeks of class.

Unfortunately, the book (which I treasure) is an unpublished set of
lecture notes (6.004) from MIT.

Don Gillies, Dept. of Computer Science, University of Illinois
1304 W. Springfield, Urbana, Ill 61801      
ARPA: gillies@cs.uiuc.edu   UUCP: {uunet,ihnp4,harvard}!uiucdcs!gillies

bobmon@iuvax.cs.indiana.edu (RAMontante) (09/07/88)

seeger@beach.cis.ufl.edu (Charles Seeger) writes:
>jeschke@iuvax.UUCP (Eric Jeschke) writes:

    ["The Art of Digital Design", 2nd ed., Prosser, F., and Winkel, D.]

>>This book provides a CS rather than an engineering approach to hardware
>>construction.  It has excellent sections on Karnaugh mapping and Boolean
>>algebra.
>>
>>Eric jeschke@iuvax.cs.indiana.eu
>
>This is a good book and is used in our undergraduate logic design class.
>It teaches mixed logic design, which IMHO is the only way to go.  It's

Right on!

>not so good on computer organization, however -- it uses the PDP-8 as

Here at IU the book is closely tied to a lab in which the students
build PDP-8s (in 74LS technology).  The design was "reverse engineered"
from specifications of the instruction set, I believe, and demonstrates
mixed logic quite thoroughly.  Toward the end of the course they design
and implement additions to the basic PDP-8, such as a stack.  Last year
we added a module in which they put together a small system based on a
6809 cpu; total chip count is lower than for the PDP-8's 4K memory
circuit.  (BTW:  the PDP-8 had a really amazing interpreter, called FOCAL,
that was supposed to blow BASIC out of the water.  Syntax that makes APL
look readable, but it can calculate factorial(300) (E+615 for an exponent)
in that dinky little 4K, and I'm trying to live with 640K...)

What do you want for computer organization?  To wire wrap the 80386
architecture?  A homebrew Cray maybe?  :-)

>a design example.  There is a new edition, which I haven't seen, so the
>appropriate disclaimers apply.

The new edition is basically an expansion of the old -- it updates some
of the material toward the end of the book (sorry, I can't remember
what now, as the first edition is hazy in my mind).  Authors now listed
alphabetically.

No disclaimers, I was the lab assistant for one of the authors two years
in a row and I'm burned out on little scraps of wire by now -- like some
of those students' boards :-)
-- 
--    bob,mon			(bobmon@iuvax.cs.indiana.edu)
--    "Aristotle was not Belgian..."	- Wanda