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. What are the main functions of the CPU?

  2. Explain what the CPU should do when an interrupt occurs. Include in your answer the method the CPU uses to detect an interrupt, how it is handled, and what happens when the interrupt has been serviced.

  3.  Hints and Answers    How many bits would you need to address a 2M x 32 memory if

    1.  Hints and Answers    The memory is byte-addressable?

    2.  Hints and Answers    The memory is word-addressable?

  4. How many bits are required to address a 4M x 16 main memory if

    1. Main memory is byte-addressable?

    2. Main memory is word-addressable?

  5. How many bits are required to address a 1M x 8 main memory if

    1. Main memory is byte-addressable?

    2. Main memory is word-addressable?

  6.  Hints and Answers    Suppose that a 2M x 16 main memory is built using 256KB x 8 RAM chips and memory is word-addressable.

    1.  Hints and Answers    How many RAM chips are necessary?

    2.  Hints and Answers    How many RAM chips are there per memory word?

    3.  Hints and Answers    How many address bits are needed for each RAM chip?

    4.  Hints and Answers    How many banks will this memory have?

    5.  Hints and Answers    How many address bits are needed for all of memory?

    6.  Hints and Answers    If high-order interleaving is used, where would address 14 (which is E in hex) be located?

    7.  Hints and Answers    Repeat Exercise 6f for low-order interleaving.

  7. Redo Exercise 6 assuming a 16M x 16 memory built using 512K x 8 RAM chips.

  8. A digital computer has a memory unit with 24 bits per word. The instruction set consists of 150 different operations. All instructions have an operation code part (opcode) and an address part (allowing for only one address). Each instruction is stored in one word of memory.

    1. How many bits are needed for the opcode?

    2. How many bits are left for the address part of the instruction?

    3. What is the maximum allowable size for memory?

    4. What is the largest unsigned binary number that can be accommodated in one word of memory?

  9. Assume a 220 byte memory:

    1.  Hints and Answers    What are the lowest and highest addresses if memory is byte-addressable?

    2.  Hints and Answers    What are the lowest and highest addresses if memory is word-addressable, assuming a 16-bit word?

    3. What are the lowest and highest addresses if memory is word-addressable, assuming a 32-bit word?

  10. Given a memory of 2048 bytes consisting of several 64 Byte x 8 RAM chips, and assuming byte-addressable memory, which of the following seven diagrams indicates the correct way to use the address bits? Explain your answer.

  11. Explain the steps in the fetch-decode-execute cycle. Your explanation should include what is happening in the various registers.

  12.  Hints and Answers    Explain why, in MARIE, the MAR is only 12 bits wide while the AC is 16 bits wide.

  13. List the hexadecimal code for the following program (hand assemble it).

        Label    Hex Address    Instruction
            100    Load A
            101    Add One
            102    Jump S1
        S2,    103    Add One
            104    Store A
            105    Halt
        S1,    106    Add A
            107    Jump S2
        A,    108    HEX 0023
        One,    109    HEX 0001
  14.  Hints and Answers    What are the contents of the symbol table for the preceding program?

  15. Given the instruction set for MARIE in this chapter:

    1. Decipher the following MARIE machine language instructions (write the assembly language equivalent):

      1.  Hints and Answers    0010000000000111

      2. 1001000000001011

      3. 0011000000001001

    2. Write the following code segment in MARIE's assembly language:

      if X > 1 then
         Y := X + X;
         X := 0;
      endif;
         Y := Y + 1;
    3. What are the potential problems (perhaps more than one) with the following assembly language code fragment (implementing a subroutine) written to run on MARIE? The subroutine assumes the parameter to be passed is in the AC and should double this value. The Main part of the program includes a sample call to the subroutine. You can assume this fragment is part of a larger program.

      Main,    Load    X
          Jump    Sub1
      Sret,        Store X
          . . .
      Sub1,    Add    X
          Jump    Sret
  16. Write a MARIE program to evaluate the expression A x B + C x D.

  17. Write the following code segment in MARIE assembly language:

    X := 1;
    while X < 10 do
       X := X + 1;
    endwhile;
  18. Write the following code segment in MARIE assembly language:

    Sum := 0;
    for X := 1 to 10 do
       Sum := Sum + X;
    endwhile;
  19. Write a MARIE program using a loop that multiplies two positive numbers by using repeated addition. For example, to multiple 3 x 6, the program would add 3 six times, or 3 + 3 + 3 + 3 + 3 + 3.

  20. Write a MARIE subroutine to subtract two numbers.

  21. More registers appear to be a good thing, in terms of reducing the total number of memory accesses a program might require. Give an arithmetic example to support this statement. First, determine the number of memory accesses necessary using MARIE and the two registers for holding memory data values (AC and MBR). Then perform the same arithmetic computation for a processor that has more than three registers to hold memory data values.

  22. MARIE saves the return address for a subroutine in memory, at a location designated by the jump-and-store instruction. In some architectures, this address is stored in a register, and in many it is stored on a stack. Which of these methods would best handle recursion? Explain your answer.

  23. Provide a trace (similar to the one in Figure 4.13) for Example 4.2.

  24. Provide a trace (similar to the one in Figure 4.13) for Example 4.3.

  25. Suppose we add the following instruction to MARIE's ISA:

    IncSZ Operand

    This instruction increments the value with effective address "Operand," and if this newly incremented value is equal to 0, the program counter is incremented by 1. Basically, we are incrementing the operand, and if this new value is equal to 0, we skip the next instruction. Show how this instruction would be written using RTN.

  26. Would you recommend a synchronous bus or an asynchronous bus for use between the CPU and the memory? Explain your answer.

  27.    *   Pick an architecture (other than those covered in this chapter). Do research to find out how your architecture deals with the concepts introduced in this chapter, as was done for Intel and MIPS.

TRUE or FALSE

  1. _____ If a computer uses hardwired control, the microprogram determines the instruction set for the machine. This instruction set can never be changed unless the architecture is redesigned.

  2. _____ A branch instruction changes the flow of information by changing the PC.

  3. _____ Registers are storage locations within the CPU itself.

  4. _____ A two-pass assembler generally creates a symbol table during the first pass and finishes the complete translation from assembly language to machine instructions on the second.

  5. _____ The MAR, MBR, PC, and IR registers in MARIE can be used to hold arbitrary data values.

  6. _____ MARIE has a common bus scheme, which means a number of entities share the bus.

  7. _____ An assembler is a program that accepts a symbolic language program and produces the binary machine language equivalent, resulting in a one-to-one correspondence between the assembly language source program and the machine language object program.

  8. _____ If a computer uses microprogrammed control, the microprogram determines the instruction set for the machine.


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