I am looking for a book on computer architecture that starts from a basic level and goes in depth.
I found some books like:
Structured computer organization by Andrew S. Tanenbaum but i also found negative reviews about this book. ( I have not asked for any review )
I am looking for a book that covers :
Principles of computer design - software/ hardware interaction , cost/benifit concept of layers in architecture design
Basic computer organization taking 8085 as an example binary arithmetic - add,subtract,multiply-algorithms and implementations. carry look ahead add fast adders.
CPU design - Choice of instruction set control structure hardwired and microprogrammed control- RISC v/s CISC , pipelining in CPU design superscalar machines
Memory hierarchy design caches,main memory,Interleave memory virtual memory architectural aids in implementing these.
I/O Modes - program interrupt , DMA , channel , I/O Processer
I/O performance measures - Buses connecting I/O devices to CPU memory - interaction with OS serial/parallel interfaces taking 8251 and 8255 as examples
Performance evaluation SPEC marks LINPACK whetstone Dhrystone etc., Transaction processing Benchmarks
Multiprocessers - Parallel & distributed computers - SIMD SPMD and MIMD machines
Please recommend some good books that covers these topics and gives a real feeling of computer science and its architecture.