CS 216 Page 1 Spring 2010 #8 RRRReeeevvvviiiieeeewwww SSSShhhheeeeeeeetttt ffffoooorrrr FFFFiiiirrrrsssstttt EEEExxxxaaaammmmiiiinnnnaaaattttiiiioooonnnn You may use your textbook as a reference during the test You may use a calculator TTTTEEEEXXXXTTTT CCCCHHHHAAAAPPPPTTTTEEEERRRR 1111 +o know what memory is used for +o know what a processor is used for +o know the difference between the control part of the processor and the data part of the processor +o know what peripheral units are +o know how components are interconnected +o know the input and output components +o know the fetch-execute cycle +o know the difference between people oriented languages and machine oriented languages +o know the difference between machine language, machine oriented language, and symbolic language +o know why it is important to study computer organization and symbolic language programming +o know what is important about performance +o know how measures are chosen +o know why response time, throughput, and utilization are conflicting metrics. +o know the two most common techniques for improving computer performance +o know the relation between processor time, i/o time, and wait time +o know the relation between user execution time, system execution time, wall clock time, and effective time multiplication factor +o know the role of cycles per instruction (CPI) in impacting performance +o know the difference between measuring cycles and instructions +o know the abcs of workload selection +o know the three ways to increase CPU performance +o know Amdahl's law and how to apply it +o know the problems with MIPS and MFLOPS as performance metrics +o know the problems with synthetic workloads +o be able to solve problems similar to those on pages 56 through 73 of the text. more on other side CS 216 Page 2 Spring 2010 #8 TTTTEEEEXXXXTTTT CCCCHHHHAAAAPPPPTTTTEEEERRRR 2222 +o know the four categories of machine instructions +o know the syntax and layout of MIPS 3-operand arithmetic instructions +o know the limitations of operand location specific to MIPS +o know the general layout of symbolic language statements +o know how to move data between the processor and memory on a MIPS machine +o know the difference between a base and an offset +o know the major instruction layouts for MIPS +o know the difference between instructions and pseudo- instructions +o know how to implement all the high-level language control structures +o know the addressing modes +o Know the binary representation of unsigned integers. +o Know sign magnitude, ones complement, and twos complement representations for signed integers. +o Know how to negate integers in all representations. +o Know why twos complement is almost universally used. +o Be able to convert among decimal, binary, octal, and hexadecimal. +o Be able to convert between decimal and an arbitrary base. +o Know how to add and subtract binary representations for sign magnitude, ones complement, and twos complement. +o be able to solve problems similar to those related to the sections we covered in the chapter on pages 180 through 220 of the text. TTTTEEEEXXXXTTTT AAAAppppppppeeeennnnddddiiiixxxx BBBB +o know the differences among machine languages, symbolic instruction languages, and symbolic languages. +o know when and why to use symbolic languages +o know the major features of symbolic languages +o know the major SPIM pseudo operations/pseudo instructions/assembler directives +o know how system calls work in SPIM +o be familiar with the major components of an object file +o be able to solve problems similar to those on pages B-82 through B-83 of the text. more on other side