|
Computation Structures (MIT Electrical Engineering and Computer Science)
by Stephen A. Ward, Robert H. Halstead
[size=120%]Computation Structures (MIT Electrical Engineering and Computer Science)
By Stephen A. Ward, Robert H. Halstead
Publisher: The MIT Press
Number Of Pages: 811
Publication Date: 1989-12-13
ISBN-10 / ASIN: 0262231395
ISBN-13 / EAN: 9780262231398
Binding: Hardcover
Product Description:
Developed as the text for the basic computer architecture course at MIT, Computation Structures integrates a thorough coverage of digital logic design with a comprehensive presentation of computer architecture. It contains a wealth of information for those who design computers or work with computer systems, spanning the entire range of topics from Analog circuit design to operating systems. Ward and Halstead seek to demystify the construction of computing hardware by illustrating systematically how it is built up from digital circuits through higher level components to processors and memories, and how its design is affected by its intended uses.
Computation Structures is unusually broad in scope, considering many real world problems and tradeoff decisions faced by practicing engineers. These difficult choices are confronted and given careful attention throughout the book.
Topics addressed include the digital abstraction; digital representations and notation; combinational devices and circuits; sequence and state; synthesis of digital systems; finite state machines; control structures and disciplines; performance measures and tradeoffs; communication; interpretation; microinterpreter architecture; microprogramming and microcode; single sequence machines; stack architectures; register architectures; reduced instruction set computers; memory architectures; processes and processor multiplexing; process synchronization; interrupts, priorities, and real time; directions and trends.
Stephen A. Ward and Robert H. Halstead are both Associate Professors of Computer Science and Electrical Engineering at MIT. Computation Structures is included in the MIT Electrical Engineering and Computer Science series.
Amazon.com:
Computation Structures focuses on computer architecture as a complicated problem in digital design. As such, the initial sections discuss the basic principles of designing digital circuits and systems. The context is subsequently used to discuss more and more advanced ideas without a lot of confusing structure. For example, pipelining is initially discussed in terms of speeding up simple arithmetic circuits, which allows the reader to focus on the conceptual issues of pipelining rather than the embedded problem. Using this aggregative approach, the authors build their way up through a series of simple machines to begin talking about processes and process semantics. In addition, Computation Structures contains a nice section on microcode, which is seldom discussed in most books. The text is clear and the exercises well chosen.
Summary: Outstanding introduction
Rating: 5
Ward and Halstead have put together the best introduction to computing hardware I've seen. Only Wirth's Digital Circuit Design for Computer Science Students equals it, but with a slightly different thrust and a good deal less detail in its coverage. The authors wrote this book as a text for a grueling one-semester course, but I can imagine it working well as a two-term book for students who need more time to absorb material.
It twenty-one chapters (plus appendices) start at the transistor level, then "whole-heartedly accept the digital abstraction." Fast-paced discussions apply that abstraction to the workhorses of digital design: binary numbers, logic realization, state machines, and synchronous design discipline. By the book's midpoint, it already addresses microcode control of the datapaths that students have already examined, and move on to implementation of two different insturction sets on microcoded platform that the students designed (with guidance) and built. Given this gritty level of understanding, the last chapters address system issues, including the software process abstraction, operating system concerns, and a little about interfacing to electronics outside of the processor itself.
Omissions matter as much as inclusions in the book's syllabus. The text breezes over logic minimization, logic hazards, state machine design, giving just enough of each tool for a student to get a job done. Asynchronous design appears only briefly, to explain the goings-in inside of latches and registers. Large-scale issues of clock jitter and skew appear briefly if at all. Students who eventually need to know the fussy bits can learn them elsewhere, but those bodies of knowledge really don't support the goal of computing system design. By analogy, a mechanical engineer could study the details of a screw's thread pitch, depth, and geometry or of steel's metallurgy, but neither will really help in building a bridge. Those low-level details matter, but interfere with higher-level integration.
One aspect of this book deserves equal praise and complaint. The 1990 copyright date means that it's quickly moving into the past. It treats TTL and even RTL as going concerns, and omits FPGAs completely. To be really useful, this book's obsolete technologies need an update. At the same time, this older perspective keeps microcoding alive and well, the only book I know that puts it in the students's hands and put it to work. Microprogramming is an idea whose time has come (again) in control for large-scale logic design, as a useful step between the mouse-milking fussiness of state-machine control and the heavyweight sluggishness of standard instruction set processors. More importantly, this puts the processor's instruction set and basic operation back under the student's control, where it needs to be for today's configurable computing.
Don't let the age put you off. No other title surpasses this as an introductory text for designers of computing hardware. It bridges the much-ignored gap between logic design and computer architecture. It neither bogs down in carry chains and Booth multipliers, nor leaps ahead to virtual memory and interprocessor communication. I recommend it to any student who wants a practical approach to this important layer in computing's conceptual stack.
-- wiredweird
Summary: Timeless concepts
Rating: 5
This book is quite idiosyncratic in its kind. The content is quite theoretic, so that probably it won't be the best choice for more pragmatic and practice-oriented courses, for which the two books from Patterson-Hennessy, e.g., will be more suited. However, the value of this book lays in the shocking amount of knowledge it carries. This is the classic gap-filling book: my opinion is that many CS student of us that will read this book page by page, will discover that they really didn't know something they thought they knew instead. This is simply because the discussion is organic and continuos from the start to the end, and the writing is never too hard, so that any gap will easily show itself during the reading. Have a look at the table of contents. It starts from digital logic basics and it ends at the Interrupts chapter (this means, almost, operating systems). The distance seems to be prohibitive, but the path traced by prof. Ward and Halstead is remarkably solid and meaningful. Once basic logic circuits blocks are covered, it leads to computation issues (from FSM to Turing Machines), passing from performance considerations (e.g. pipelining) and memory hierarchies (cache memory is extensively covered).
Two chapters are devoted to milestone architectures: the S machine and the G machine. Such a thorough coverage on these two machines is something I've not found in other books.
The chapters on Processes, Processor Multiplexing, Processes Synchronization and Interrupts are good and at the level of an OS course. The astonishing thing is that the background to face these issues is well built before (again, recall that the book starts from basic Logic Levels !). This book has been a very worthy read. My course used materials from different books, internet resources and my instructor's knowledge. The instructor itself suggested us to give the book a complete read when we had time (we didn't cover all the topics of the book) because we would have really learned important things. I've not done it completely, but the more I do it, the more I agree.
Credit: wedrahu3
rar'd pdf
79.22 MB
bookmarked
http://ifile.it/r9f0ilh/
http://www.filefactory.com/file/98d5db/n/comstruc_rar/
http://rapidshare.com/files/131758867/comstruc.rar
14.5MB, zipped DjVu 300 dpi, courtesy wedrahu3
http://ifile.it/bk17yfd/
http://rapidshare.com/files/131562763/0262231395.zip
|
|