1. INTRODUCTION TO COMPUTER HARDWARE; 1.1 THE DIGITAL COMPUTER; 1.2 MAINFRAME, MINI, AND MICRO; 1.3 THE STORED PROGRAM COMPUTER-AN OVERVIEW; SUMMARY; PROBLEMS; 2. GATES, CIRCUITS, AND COMBINATIONAL LOGIC; 2.1 ANALOGUE AND DIGITAL SYSTEMS; 2.2 FUNDAMENTAL GATES; 2.3 APPLICATIONS OF GATES; 2.4 INTRODUCTION TO DIGITAL WORKS; 2.5 AN INTRODUCTION TO BOOLEAN ALGEBRA; 2.6 SPECIAL-PURPOSE LOGIC ELEMENTS; 2.7 TRI-STATE LOGIC; 2.8 PROGRAMMABLE LOGIC; SUMMARY; EXAMPLES; PROBLEMS; 3. SEQUENTIAL LOGIC; 3.1 THE RS FLIP-FLOP; 3.2 THE D FLIP-FLOP; 3.3 CLOCKED FLIP-FLOPS; 3.4 THE JK FLIP-FLOP; 3.5 SUMMARY OF FLIP-FLOP TYPES; 3.6 APPLICATIONS OF SEQUENTIAL ELEMENTS; 3.7 AN INTRODUCTION TO STATE MACHINES; SUMMARY; EXAMPLES; PROBLEMS; 4. COMPUTER ARITHMETIC; 4.1 BITS, BYTES, WORDS, AND CHARACTERS; 4.2 NUMBER BASES; 4.3 NUMBER BASE CONVERSION; 4.4 SPECIAL-PURPOSE CODES; 4.5 BINARY ARITHMETIC; 4.6 SIGNED NUMBERS; 4.7 COMPUTER ARITHMETIC AND ASSEMBLY LANGUAGE PROGRAMMING; 4.8 FLOATING POINT NUMBERS; 4.9 MULTIPLICATION AND DIVISION; SUMMARY; PROBLEMS; 5. THE CENTRAL PROCESSING UNIT; 5.1 INTRODUCTION TO THE CPU; 5.2 STRUCTURE OF THE CPU; 5.3 THE CONTROL UNIT; 5.4 SIMULATING A CPU; 5.5 MULTIPROCESSOR SYSTEMS; SUMMARY; PROBLEMS; 6. ASSEMBLY LANGUAGE PROGRAMMING AND THE 68K FAMILY; 6.1 STRUCTURE OF AN ASSEMBLY LANGUAGE PROGRAM; 6.2 THE 68K'S REGISTERS; 6.3 AN INTRODUCTION TO THE 68K'S INSTRUCTION SET; 6.4 ADDRESSING MODES; 6.5 THE STACK; 6.6 DESIGNING ASSEMBLY LANGUAGE PROGRAMS; SUMMARY; PROBLEMS; 7. AN INTRODUCTION TO RISC PROCESSORS AND THE ARM; 7.1 THE RISC REVOLUTION; 7.2 RISC ARCHITECTURE AND PIPELINING; 7.3 REDUCING THE BRANCH PENALTY; 7.4 THE ARM PROCESSOR; 7.5 USING THE ARM; SUMMARY; PROBLEMS; 8. INPUT/OUTPUT; 8.1 HANDSHAKING AND BUFFERING; 8.2 PROGRAMMED I/O; 8.3 INTERRUPT-DRIVEN I/O; 8.4 DIRECT MEMORY ACCESS; 8.5 PARALLEL AND SERIAL INTERFACES; 8.6 INPUT DEVICES FOR PERSONAL COMPUTERS; 8.7 THE CRT AND LED DISPLAYS; 8.8 THE PRINTER; 8.9 COLOUR DISPLAYS AND PRINTERS; 8.10 OTHER PERIPHERALS; SUMMARY; PROBLEMS; 9. COMPUTER MEMORY; 9.1 SEMICONDUCTOR MEMORY; 9.2 INTERFACING MEMORY TO A CPU; 9.3 SECONDARY STORAGE; 9.4 DISK DRIVE PRINCIPLES; 9.5 THE TAPE TRANSPORT; 9.6 OPTICAL MEMORY TECHNOLOGY; SUMMARY; TUTORIAL PROBLEMS; PROBLEMS; 10. THE CPU, MEMORY, AND THE OPERATING SYSTEM; 10.1 THE OPERATING SYSTEM; 10.2 MULTITASKING;; 10.3 OPERATING SYSTEM SUPPORT FROM THE CPU; 10.4 MEMORY MANAGEMENT; 10.5 CACHE MEMORY; 10.5.1 CACHE ORGANIZATION; SUMMARY; PROBLEMS; 11. COMPUTER COMMUNICATIONS; 11.1 INTRODUCTION; 11.2 PROTOCOLS AND COMPUTER COMMUNICATIONS; 11.3 THE PHYSICAL LAYER; 11.4 DATA TRANSMISSION ACROSS THE PSTN; 11.5 THE DATA LINK LAYER; 11.6 LOCAL AREA NETWORKS; 11.7 ROUTING TECHNIQUES; SUMMARY; PROBLEMS; 12. ADVANCED TOPICS; 12.1 PRACTICAL CONSIDERATIONS IN LOGIC DESIGN; 12.2 COMPUTERS AND RELIABILITY; 12.3 THE ANALOGUE INTERFACE; 12.4 INTRODUCTION TO DIGITAL SIGNAL PROCESSING; TUTORIAL EXAMPLE; PROBLEMS; APPENDICES; BIBLIOGRAPHY; INDEX