# Exam 1 Review¶

Here are sample questions similar to those you will see on the first exam. If you can answer these, you should be in good shape for the exam.

• Draw a simple Von Neuman machine and explain basically what each part does.
• Explain what the base of a number system means.
• create a table showing the first 16 numbers in Binary, Decimal, and Hexadecimal
• Why do we add a character to the end of numbers indicating the base of the system being used?
• Convert 242d to hexadecimal (hint, go to binary first, and make sure that “d” at the end does not confuse you!)
• Convert 0fch to decimal (hint, go to binary first. Again, note the “h” at the end, what does that indicate?)
• How does the computer decide if a memory container contains code or data?
• We said that memory hold two basic kinds of things in a computer. Actually, there are three things possible. What are they? (Hint: you normally throw the third one away!)
• If memory is organized as an array of bytes, how do we access other data types which need more space.
• What are the common names for the standard container sizes used in a 64-bit computer?
• How are negative integers represented in a computer?
• Show the binary encoding for +42 and -42 as eight bit numbers, then show what you get when you add them?
• Extend both +42 and -42 to 16 bits.
• Basically, how are floating point numbers encoded?
• What are the four steps a processor performs in executing a single instruction?
• The processor uses something called a program counter (or instruction pointer) to track where the next instruction to process can be found. How is this counter updated?
• We see the term “virtual machine” a lot in the computer industry these days. What is a virtual machine?
• A processor is driven by a clock and performs four steps during wach “tick” Show a fragment of C/C++ code that models this behavior.
• What do we mean when we say the machine has a “state” at any moment in time?
• Why are “registers” included in the design of a processor?
• What is contained in an executable file, and what tool places that file into memory?
• What is the difference between a Von Neumann machine and a Harvard Machine?
• Describe the signals (data and any other things) needed by the ALU to do its job.
• Why can’t we just speed up the processor clock to make a machine run faster?
• Explain why accessing RAM (on the motherboard) is so much slower than accessing internal registers?
• Explain how pipelining can speed up a system.
• If the memory unit cannot deliver data fast enough, how should the processor act so operation can continue?
• (Challenge) Using our four step instruction processing pattern, how might we cause the processor to fetch the next instruction from some other place in memory, instead of the next instruction in memory (the instruction would look like this: JUMP address)
• Suppose you have a file containing source code for a C++ program. What are the fundamental tools you need to activate to get this code actually running on a computer? Be sure to indicate what each tool produces.