Beschreibung
Computer science is a blend of engineering and mathematics. Being com paratively new, the field has not settled down to a definite mixture of science and engineering, but still contains large parts of both technology and art. Many computer scientists are trying to make computer science into a branch of mathematics, or to at least closely resemble mathematics. This approach tends to emphasize Turing machines, abstract linguistics, etc. Unfortunately these abstract models are often about as relevant to the real world as the mathematical theorem that you can't trisect an angle with ruler and compass-it is true, but we have protractors and marks on our rulers, so that practically we trisect angles every day. Against the mathematical approach are the hard facts of life: the com puter is a real, physical machine; it is often very eXpensive and hence the reality of economics enters; the machine is often a large collection of various parts whose working together must be controlled properly; and finally the whole exists to be used by humans in their work and not merely to be admired. Of necessity, these and many other related aspects are ignored in the mathe matical models. At the other extreme are the hard-nosed engineers who often become trapped in the crises, details, and day-to-day operation of the com puting center. They tend to adopt a strictly experimental, pragmatic approach.
Autorenportrait
Inhaltsangabeof Volume 1.- 1 Introduction.- 1. Computer Complex Architecture.- 1.1. Computer Complexes.- 1.2. The Cost of Computer Complexes.- 1.3. Computer Complex Architecture.- 2. The Architect's Job.- 3. The Methods.- 4. Problems.- 5. References.- 2 Basic Concepts.- 1. Synopsis.- 2. Hardware Building Blocks.- 2.1. What Is a General-Purpose Digital Computer?.- 2.2. The Memory Hierarchy.- 2.3. Input/Output Devices.- 2.4. Communication Devices.- 2.5. Terminals.- 2.6. Analog and Hybrid Devices.- 3. Instructions, Firmware, and Software.- 3.1. The Instruction Repertoire.- 3.2. Modalities.- 3.3. The Software Hierarchy.- 3.4. Firmware.- 4. Systems.- 4.1. Processors vs. Computers.- 4.2. Combinations and Trades.- 4.3. Internal Communications.- 4.4. Executive Structure.- 4.5. Optimization.- 5. Barters.- 5.1. Cost-Dependent Barters.- 5.2. Obsolescence Costs.- 5.3. Hardware-Software Trades.- 5.4. Time-Space-Bandwidth-Delay Trades.- 6. Design Goals.- 7. A Philosophy for System Architecture.- 8. Mathematical Methods.- 8.1. Linear Programming and Related Methods.- 8.2. Queuing Theory.- 8.3. Graph Theory.- 8.4. Combinatorial Analysis.- 8.5. Simulation.- 8.6. Limitations.- 9. Summary.- 10. Problems.- 11. References.- 3 Hardware-The Central Processing Unit.- 1. Synopsis.- 2. Central Processing Hardware.- 2.1. The Structure of the Central Processing Unit.- 2.2. A Catalog of Registers.- 2.3. Address Structures.- 3. Modalities.- 3.1. Indexing Modalities.- 3.2. Indirect Operations.- 3.3. Immediate Operands.- 3.4. Associative Modalities.- 3.5. Field Designator Modalities.- 3.6. To-From Modality.- 3.7. Interrupt Modalities.- 3.8. Privileged Instruction and Protection Modality.- 3.9. General Addressing Modalities.- 4. The Basic Instruction Repertoire.- 4.1. The Move or Transfer Group.- 4.2. The Modify Group.- 4.3. The Arithmetic Group.- 4.4. The Logical Group.- 4.5. The Shift-Rotate Group.- 4.6. The Jump-Skip Group.- 4.7. The Imperative Group.- 4.8. The Operational Group.- 4.9. The Control Group.- 4.10. The Input/Output Group.- 4.11. Special Group 1.- 4.12. Special Group 2.- 4.13. The List Group.- 4.14. The Interrupt Group.- 5. Compound Instructions.- 5.1. Transfer-Transfer Compounds.- 5.2. Modify-Jump Compounds.- 5.3. Imperative-Modify Compounds.- 5.4. Imperative-Jump Compounds.- 5.5. Transfer-Logic Compounds.- 6. The Scope, Range, and Extremes.- 6.1. Parallelism.- 6.2. Implementation Extent.- 7. Summary.- 8. Problems.- 9. References.- 4 The Structural Elements of the Complex.- 1. Synopsis.- 2. Memories.- 2.1. General.- 2.2. Functional Memory Types.- 2.3. Physical Memory Types.- 2.4. Memory Parameters.- 2.5. Overlap and Interlace.- 2.6. Cost.- 2.7. Protection against Obsolescence.- 2.8. Clocking and Coordination.- 2.9. Instruction Repertoires for Memories.- 3. The Memory Switch.- 3.1. What It Is.- 3.2. Simultaneity and "Simultaneity".- 3.3. Applications of Cycle Stealing.- 3.4. Controls.- 3.5. The Memory Switch Array.- 4. The Interrupt Structure.- 4.1. Why and What.- 4.2. The Interrupt Cycle.- 4.3. The Interrupt Structure.- 4.4. Interrupt Instructions.- 4.5. Extensions.- 4.6. Mechanization and Trades.- 4.7. Re-entrant Code.- 4.8. An Avalanche of Interrupts.- 5. Channel Controllers.- 5.1. Format Conversion.- 5.2. Transfer Control.- 5.3. Error Control.- 5.4. Buffering and Speed Matching.- 5.5. Switching Functions.- 5.6. Instruction Interpretation.- 5.7. Mechanization.- 6. Device Controllers.- 7. Peripheral Devices.- 7.1. Card Equipment.- 7.2. Printers.- 7.3. Typewriters and Teleprinters.- 7.4. Plotters.- 7.5. Displays and Other Devices.- 7.6. Communications Equipment.- 7.7. Analog and Hybrid Devices.- 8. Summary.- 9. Problems.- 10. References.- 5 Programming Techniques.- 1. Synopsis.- 2. Objectives and Foundations.- 2.1. What Is Programming?.- 2.2. Syntax, Semantics, and Complexity.- 2.3. Implicit vs. Explicit Mechanization.- 2.4. Run Time vs. Design Time Decisions.- 2.5. Run Time vs. Design Time Optimization.- 2.6. Time vs. Space.- 3. Table Techniques.- 3.1. Ta