CS 201  Review 1

1.What are the five classical components of a computer?

2.How is the principle of abstraction used in the design of hardware and software?

3.Sketch the hierarchy of levels of abstraction of computer software and hardware from digital logic at the lowest level to high level languages at the highest level.

4.What is the role of an instruction set architecture in this hierarchy?

5.How is performance of a computer measured?

6.What are Clock rate, Cycles per instruction, instruction mix, and how do they determine execution time for a program?

7.What are mips and mflops and why are they deceptive as measures of performance?

8.What is a benchmark suite and what are the advantages and disadvantages of using a benchmark to measure performance?

9.What are the relationships between a high level language, assembly language, and machine language?

10.What are typical arithmetic and logical instructions in an assembly language?

11.What are the addressing modes for the MIPS architecture?

12.What are the control instructions for the MIPS architecture?For if … else and loop constructs? For subroutine calls?

13.What instructions access memory in the MIPS architecture?

14.How do RISC and CISC architectures typically differ?

15.What are the principles guiding the design of a RISC instruction set?

16.What are the layouts (bit fields) of MIPS instructions (R-type, I-type, J-type)?

17.What does it mean for the opcodes and addressing modes for an architecture to be orthogonal?How well does the MIPS architecture achieve this?

18.Translate an if … else construct into assembly language.

19.Translate a simple while loop into assembly language.

20.What are the steps for a subroutine call, before during and after execution of the subroutine code, in a MIPS assembly program?

21.Draw transistor circuits for the following logic gates: NOT, NOR, NAND, OR, AND k-way NOR, k-way NAND.

22.Draw the logic gate circuits for the following components:Multiplexor (2k input lines, k control lines, 1 output line carrying the signal from the selected input); decoder (k input lines, 2k output lines, the selected one carrying a 1, the others 0); comparator (two sets of k input lines, one output line carrying a 1 if all corresponding inputs were equal, otherwise 0).

23.What is a PLA?

24.What is disjunctive normal form for a logical expression?

25.Show how a logical expression can be represented by a truth table, then by disjunctive normal form, and how this can be implemented by a PLA.

26.What is a clock?

27.What is a D-latch? How can it be implemented with logic gates?What is the role of the clock?

28.What do "level-triggered" and "edge-triggered" mean?

29.What is a flip-flop?

30.How is a register built out of flip-flops?

31.What is a register file?What combinational circuits are used in a register file?

32.How are a clock signal, a register file, and combinational logic for arithmetic/logic combined to form a CPU?What needs to be added to these three components for a complete CPU?

33.How is a memory chip organized from a set of flip-flops, address lines in, and data lines in and out?

34.What is a "three-state buffer" and what is its role in a memory chip?

35.What is the difference between SRAM and DRAM?What are the advantages and disadvantages of each?

36.What is a finite state machine?

37.How can a PLA be used to implement a FSM?