CS 231 - Micro Electronics

Review for First Test

The following questions are provided to help you study for the first test. Do not expect to see these exact questions on the test.

1. Why can we say that a computer has to accept numeric inputs?

2. In the general definition of a computer, what is meant by "computational functions"?

3. Charles Babbage designed at least three computing devices. Which one was eventually built?

4. What evolutionary change in the design of computing devices took place around the time of World War II?

5. What is the difference between a general-purpose processor and a special-purpose processor? Which would be considered to be more powerful?

6. What is the difference between an instruction and a program?

7. What is the difference between a formula and an algorithm?

8. What programming structure is being used when a program executes a series of instruction in set order?

9. What programming structure is being used when a program makes a decision about what to do next based on the value of an input?

10. What programming structure is being used when a program makes a decision to run a portion of itself repeatedly until some condition tells it to stop doing so?

11. Name three common input devices and three common output devices.

12. What does chapter 2 tell us the three major components of a Central Processing Unit are?

13. What differences distinguish registers, primary storage, and secondary storage from each other?

14. The text presents us with five classes of computer systems. What is the main difference from one class to another as we go from the lowest to the highest?

15. How is a cluster similar to a grid? How are they usually different?

16. What are the base numbers for the binary, octal, decimal, and hexadecimal systems? What are the digits used in each one?

17. In decimal notation, we call the character that separates the fractional portion of a number from its integer portion a decimal point. What does chapter 3 call such a character when it is used in binary or hex notation?

18. While we are on the subject, what is an integer? What might we call a number that includes a fractional portion, such as 7.25?

19. Name three other primitive data types from chapter 3.

20. Convert the decimal number 162 to binary notation without using a calculator.

21. Add the binary number 1101 to the binary number 1011. What is the sum, in binary, of those numbers?

22. Assume you have the binary number 11000. What is the simple way to convert this to hex notation, and what is the answer?

23. Given the questions above, which of the named number systems seems to be the most compact?

24. What are the three character code systems discussed in class? Which do you think is used by the fewest computers? What is the disadvantage of the one that is used to display the greatest number of different characters?

25. What is generally used to create a data structure?

26. What kind of variable in a program commonly holds the address of another variable? Why is this a useful kind of variable to have?

27. What are the general characteristics of an array? How is it different from a linked list? How is it more manageable than a linked list?

28. What distinguishes a doubly linked list from a linked list and from an array?

29. What does the text call a data structure that is composed of other data structures?

30. What feature does a class have that distinguishes it from simpler structures?

31. What is the essence of what a CPU does in a fetch cycle? Which elements of the CPU are involved?

32. How is a fetch cycle different from an execution cycle? Which elements of the CPU are involved?

33. What may an instruction contain in addition to a command to be processed?

34. What is the difference between an addend and an operand?

35. What is the difference between the data movement commands load and store? How are they both different from the move command?

36. What would be the result of processing the NOT command against the binary string 11000101?

37. Assume we are evaluating two bits with the Boolean AND instruction. Which combinations of bits produce a True result, and which combinations produce a False result?

38. What is the difference between an evaluation of two bits with the OR instruction and with the XOR instruction?

39. How might a user trigger an unconditional branch in the code of an application that user is currently running?

40. What is a hertz? What is a megahertz? What is a gigahertz? What system component does chapter 4 mention that is measured in these terms?

41. What is pipelining, with regard to instructions being executed by a CPU?

42. What does branch prediction have to do with pipelining?