Home
Book Fire Online by http://bookfire.net Prev Page Prev Page
Table of Contents
Back Cover
The Essentials of Computer Organization and Architecture
Preface
To the Instructor
Chapter 1: Introduction
1.2 The Main Components of a Computer
1.3 An Example System - Wading through the Jargon
1.4 Standards Organizations
1.5 Historical Development
1.6 The Computer Level Hierarchy
1.7 The Von Neumann Model
1.8 Non-Von Neumann Models
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 2: Data Representation in Computer Systems
2.2 Positional Numbering Systems
2.3 Decimal To Binary Conversions
2.4 Signed Integer Representation
2.5 Floating-Point Representation
2.6 Character Codes
2.7 Codes For Data Recording And Transmission
2.8 Error Detection And Correction
Chapter Summary
Further Reading
References
Review Of Essential Terms And Concepts
Exercises
Chapter 3: Boolean Algebra and Digital Logic
3.2 Boolean Algebra
3.3 Logic Gates
3.4 Digital Components
3.5 Combinational Circuits
3.6 Sequential Circuits
3.7 Designing Circuits
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Focus on Karnaugh Maps
Chapter 4: MARIE : An Introduction to a Simple Computer
4.2 Marie
4.3 Instruction Processing
4.4 A Simple Program
4.5 A Discussion on Assemblers
4.6 Extending Our Instruction Set
4.7 A Discussion on Decoding — Hardwired vs. Microprogrammed Control
4.8 Real World Examples of Computer Architectures
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 5: A Closer Look at Instruction Set Architectures
5.2 Instruction Formats
5.3 Instruction Types
5.4 Addressing
5.5 Instruction-Level Pipelining
5.6 Real-World Examples of ISAs
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 6: Memory
6.2 Types of Memory
6.3 The Memory Hierarchy
6.4 Cache Memory
6.5 Virtual Memory
6.6 A Real-World Example of Memory Management
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 7: Input/Output and Storage Systems
7.2 Amdahl's Law
7.3 I/O Architectures
7.4 Magnetic Disk Technology
7.5 Optical Disks
7.6 Magnetic Tape
7.7 RAID
7.8 Data Compression
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Focus on Selected Disk Storage Implementations
Chapter 8: System Software
8.2 Operating Systems
8.3 Protected Environments
8.4 Programming Tools
8.5 Java — All of the Above
8.6 Database Software
8.7 Transaction Managers
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 9: Alternative Architectures
9.2 RISC Machines
9.3 Flynn's Taxonomy
9.4 Parallel and Multiprocessor Architectures
9.5 Alternative Parallel Processing Approaches
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Chapter 10: Performance Measurement and Analysis
10.2 The Basic Computer Performance Equation
10.3 Mathematical Preliminaries
10.4 Benchmarking
10.6 Disk Performance
Chapter Summary
Further Reading
References
Review Of Essential Terms And Concepts
Exercises
Chapter 11: Network Organization and Architecture
11.2 Early Business Computer Networks
11.3 Early Academic and Scientific Networks — The Roots and Architecture of the Internet
11.5 Network Protocols II — TCP/IP Network Architecture
11.6 Network Organization
11.7 High-Capacity Digital Links
11.8 A Look at the Internet
Chapter Summary
Further Reading
References
Review of Essential Terms and Concepts
Exercises
Appendix A: Data Structures and the Computer
A.2 Fundamental Structures
A.3 Trees
A.4 Network Graphs
Summary
Further Reading
References
Exercises
Glossary
Glossary Numbers
Glossary A
Glossary B
Glossary C
Glossary D
Glossary E
Glossary F
Glossary G
Glossary H
Glossary I
Glossary J
Glossary K
Glossary L
Glossary M
Glossary N
Glossary O
Glossary P
Glossary Q
Glossary R
Glossary S
Glossary T
Glossary U
Glossary V
Glossary W
Glossary Z
Answers and Hints for Selected Exercises
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Appendix A
Index
Index A
Index B
Index C
Index D
Index E
Index F
Index G
Index H
Index I
Index J
Index K
Index L
Index M
Index N
Index O
Index P
Index Q
Index R
Index S
Index T
Index U
Index V
Index W
Index X
Index Z
List of Figures
List of Tables
List of Code Examples
List of Sidebars
Team LiB
Previous Section Next Section

Exercises

  1.  Hints and Answers    Suppose a computer using direct mapped cache has 220 words of main memory and a cache of 32 blocks, where each cache block contains 16 words.

    1.  Hints and Answers    How many blocks of main memory are there?

    2.  Hints and Answers    What is the format of a memory address as seen by the cache, that is, what are the sizes of the tag, block, and word fields?

    3.  Hints and Answers    To which cache block will the memory reference 0DB6316 map?

  2. Suppose a computer using direct mapped cache has 232 words of main memory and a cache of 1024 blocks, where each cache block contains 32 words.

    1. How many blocks of main memory are there?

    2. What is the format of a memory address as seen by the cache, that is, what are the sizes of the tag, block, and word fields?

    3. To which cache block will the memory reference 000063FA16 map?

  3.  Hints and Answers    Suppose a computer using fully associative cache has 216 words of main memory and a cache of 64 blocks, where each cache block contains 32 words.

    1.  Hints and Answers    How many blocks of main memory are there?

    2.  Hints and Answers    What is the format of a memory address as seen by the cache, that is, what are the sizes of the tag and word fields?

    3.  Hints and Answers    To which cache block will the memory reference F8C916 map?

  4. Suppose a computer using fully associative cache has 224 words of main memory and a cache of 128 blocks, where each cache block contains 64 words.

    1. How many blocks of main memory are there?

    2. What is the format of a memory address as seen by the cache, that is, what are the sizes of the tag and word fields?

    3. To which cache block will the memory reference 01D87216 map?

  5.  Hints and Answers    Assume a system's memory has 128M words. Blocks are 64 words in length and the cache consists of 32K blocks. Show the format for a main memory address assuming a 2-way set associative cache mapping scheme. Be sure to include the fields as well as their sizes.

  6. A 2-way set associative cache consists of four sets. Main memory contains 2K blocks of eight words each.

    1. Show the main memory address format that allows us to map addresses from main memory to cache. Be sure to include the fields as well as their sizes.

    2. Compute the hit ratio for a program that loops 3 times from locations 8 to 51 in main memory. You may leave the hit ratio in terms of a fraction.

  7. Suppose a computer using set associative cache has 216 words of main memory and a cache of 32 blocks, and each cache block contains 8 words.

    1. If this cache is 2-way set associative, what is the format of a memory address as seen by the cache, that is, what are the sizes of the tag, set, and word fields?

    2. If this cache is 4-way set associative, what is the format of a memory address as seen by the cache?

  8. Suppose a computer using set associative cache has 221 words of main memory and a cache of 64 blocks, where each cache block contains 4 words.

    1. If this cache is 2-way set associative, what is the format of a memory address as seen by the cache, that is, what are the sizes of the tag, set, and word fields?

    2. If this cache is 4-way set associative, what is the format of a memory address as seen by the cache?

  9.  *   Suppose we have a computer that uses a memory address word size of 8 bits. This computer has a 16-byte cache with 4 bytes per block. The computer accesses a number of memory locations throughout the course of running a program.

    Suppose this computer uses direct-mapped cache. The format of a memory address as seen by the cache is shown here:

    The system accesses memory addresses (in hex) in this exact order: 6E, B9, 17, E0, 4E, 4F, 50, 91, A8, A9, AB, AD, 93, and 94. The memory addresses of the first four accesses have been loaded into the cache blocks as shown below. (The contents of the tag are shown in binary and the cache "contents" are simply the address stored at that cache location.)

    1. What is the hit ratio for the entire memory reference sequence given above?

    2. What memory blocks will be in the cache after the last address has been accessed?

  10. A direct-mapped cache consists of eight blocks. Main memory contains 4K blocks of eight words each. Access time for the cache is 22ns and the time required to fill a cache slot from main memory is 300ns. (This time allows us to determine the block is missing and bring it into cache.) Assume a request is always started in parallel to both cache and to main memory (so if it is not found in cache, we do not have to add this cache search time to the memory access). If a block is missing from cache, the entire block is brought into the cache and the access is restarted. Initially, the cache is empty.

    1. Show the main memory address format that allows us to map addresses from main memory to cache. Be sure to include the fields as well as their sizes.

    2. Compute the hit ratio for a program that loops 4 times from locations 0 to 6710 in memory.

    3. Compute the effective access time for this program.

  11. Consider a byte-addressable computer with 24-bit addresses, a cache capable of storing a total of 64KB of data, and blocks of 32 bytes. Show the format of a 24-bit memory address for:

    1. direct mapped

    2. associative

    3. 4-way set associative

  12. Suppose a process page table contains the entries shown below. Using the format shown in Figure 6.15a, indicate where the process pages are located in memory.

  13.  Hints and Answers    Suppose a process page table contains the entries shown below. Using the format shown in Figure 6.15a, indicate where the process pages are located in memory.

  14.  *   You have a virtual memory system with a two-entry TLB, a 2-way set associative cache, and a page table for a process P. Assume cache blocks of 8 words and page size of 16 words. In the system below, main memory is divided into blocks, where each block is represented by a letter. Two blocks equal one frame.

    Given the system state as depicted above, answer the following questions:

    1. How many bits are in a virtual address for process P? Explain.

    2. How many bits are in a physical address? Explain.

    3. Show the address format for virtual address 1810 (specify field name and size) that would be used by the system to translate to a physical address and then translate this virtual address into the corresponding physical address. (Hint: convert 18 to its binary equivalent and divide it into the appropriate fields.) Explain how these fields are used to translate to the corresponding physical address.

  15. Given a virtual memory system with a TLB, a cache, and a page table, assume the following:

    • A TLB hit requires 5ns.

    • A cache hit requires 12ns.

    • A memory reference requires 25ns.

    • A disk reference requires 200ms (this includes updating the page table, cache, and TLB).

    • The TLB hit ratio is 90%.

    • The cache hit rate is 98%.

    • The page fault rate is .001%.

    • On a TLB or cache miss, the time required for access includes a TLB and/or cache update, but the access is not restarted.

    • On a page fault, the page is fetched from disk, all updates are performed, but the access is restarted.

    • All references are sequential (no overlap, nothing done in parallel).

    For each of the following, indicate whether or not it is possible. If it is possible, specify the time required for accessing the requested data.

    1. TLB hit, cache hit

    2. TLB miss, page table hit, cache hit

    3. TLB miss, page table hit, cache miss

    4. TLB miss, page table miss, cache hit

    5. TLB miss, page table miss

    Write down the equation to calculate the effective access time.

  16. A system implements a paged virtual address space for each process using a one-level page table. The maximum size of virtual address space is 16MB. The page table for the running process includes the following valid entries (the ® notation indicates that a virtual page maps to the given page frame, that is, it is located in that frame):

    Virtual page 2 ® Page frame 4    Virtual page 4 ® Page frame 9

    Virtual page 1 ® Page frame 2    Virtual page 3 ® Page frame 16

    Virtual page 0 ® Page frame 1

    The page size is 1024 bytes and the maximum physical memory size of the machine is 2MB.

    1. How many bits are required for each virtual address?

    2. How many bits are required for each physical address?

    3. What is the maximum number of entries in a page table?

    4. To which physical address will the virtual address 152410 translate?

    5. Which virtual address will translate to physical address 102410?

    1. If you are a computer builder trying to make your system as price-competitive as possible, what features and organization would you select for its memory hierarchy?

    2. If you are a computer buyer trying to get the best performance from a system, what features would you look for in its memory hierarchy?

  17.  *   Consider a system that has multiple processors where each processor has its own cache, but main memory is shared among all processors.

    1. Which cache write policy would you use?

    2. The Cache Coherency Problem. With regard to the system just described, what problems are caused if a processor has a copy of memory block A in its cache and a second processor, also having a copy of A in its cache, then updates main memory block A? Can you think of a way (perhaps more than one) of preventing this situation, or lessening its effects?

  18.  *   Pick a specific architecture (other than the one covered in this chapter). Do research to find out how your architecture approaches the concepts introduced in this chapter, as was done for Intel's Pentium.


Team LiB
Previous Section Next Section
Linking to Www Google.Com. Host by Book Fire