This is the first book in the two-volume set offering comprehensive coverage of the field of computer organization and architecture. This book provides complete coverage of the subjects pertaining to introductory courses in computer organization and architecture, including: * Instruction set architecture and design * Assembly language programming * Computer arithmetic * Processing unit design * Memory system design * Input-output design and organization * Pipelining design techniques * Reduced Instruction Set Computers (RISCs) The authors, who share over 15 years of undergraduate and graduate level instruction in computer architecture, provide real world applications, examples of machines, case studies and practical experiences in each chapter.