0% found this document useful (0 votes)
18 views3 pages

UTCS 352 Exam Review Guide

The document provides an exam review for a computer architecture course. It outlines the format of the exam, which will be open book and notes and last 75 minutes. It will consist of 4 sections covering topics from all course material. The document reviews key topics students should know, including performance metrics like Amdahl's law, ISA design principles, data representation, and computer arithmetic. It also lists skills students should be able to demonstrate, such as reasoning about performance, compiling code, and manipulating MIPS instructions and data types.

Uploaded by

Fazal Jadoon
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views3 pages

UTCS 352 Exam Review Guide

The document provides an exam review for a computer architecture course. It outlines the format of the exam, which will be open book and notes and last 75 minutes. It will consist of 4 sections covering topics from all course material. The document reviews key topics students should know, including performance metrics like Amdahl's law, ISA design principles, data representation, and computer arithmetic. It also lists skills students should be able to demonstrate, such as reasoning about performance, compiling code, and manipulating MIPS instructions and data types.

Uploaded by

Fazal Jadoon
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Lecture 9: Exam Review

Last Time
Computers have finite resources, but real numbers are infinite
Use of 2s complement & IEEE 754 FP conventions standardize
meaning of math on computers
Optimize data path of add, multiply, and divide to reduce
critical path by performing operations in parallel
Context determines the meaning of bits
Floating point instructions, integer instructions
Today
Exam review
Format
Topics
Questions

UTCS 352 Lecture 9 1

Format

Open book and open notes


including homework, notes, printed lectures, etc.
Calculator (No other electronic devices)
75 minutes
4 Sections
Section 1: multiple choice, true/false, short answer
Topics will range over all the material
Section 2 through 4: multiple parts on a single topic
Topics: Amdahls law, Performance, ISA design, MIPS
code, floating point,

UTCS 352 Lecture 9 2

1
Things you should know
What is performance?
Amdahls law, optimizing an implementation/ISA
Concurrency, throughput
What is an ISA vs an implementation?
computation, memory state, control
What is RISC, CISC?
ISA design goals and principles
Registers vs memory
Execution & Compiler Basics
Interpreting Bits
Data representation (char, int, floating point), bit layout,
addressing, instructions
bit, byte, word, hexadecimal, computer arithmetic, rounding

UTCS 352 Lecture 9 3

Things you should be able to do

Reason about performance


Act like a compiler
Read and write MIPS instructions
Convert between data types

UTCS 352 Lecture 9 4

2
Questions & Answer

UTCS 352 Lecture 9 5

Common questions

Powered by AI

Sections that delve into multiple parts of a single topic assess the student's deep understanding, analytical skills, and ability to apply concepts comprehensively within a focused context. In contrast, sections covering a range of topics test broader knowledge and the ability to quickly switch contexts. The former approach demands a synthesis of detailed knowledge, while the latter emphasizes breadth and adaptability .

Converting between data types can introduce challenges such as precision loss, overflow, underflow, and the need for handling different bit representations. Each data type might follow distinct rules of representation (e.g., floating point vs. integer), requiring careful handling to maintain numerical accuracy and avoid errors during conversion processes, particularly in systems with limited precision .

To effectively act like a compiler, students should develop skills in parsing and understanding code structures, optimizing code for performance, translating high-level instructions into machine code, and identifying efficiency bottlenecks. This requires a strong grasp of syntax, semantics, transformation techniques, and code optimization strategies to produce efficient executable code from source programs .

IEEE 754 standardizes floating-point arithmetic, ensuring consistent representation and operations of real numbers across different hardware and software environments. The standard specifies the format for representing numbers (fraction, exponent, sign), rounding rules, handling of exceptional cases like division by zero, and provides a framework for predictable and manageable numeric computation outcomes, regardless of the platform .

Amdahl's Law illustrates the potential speedup of a task achievable through parallelization. It is defined by the formula: Speedup = 1 / (S + (1-S)/P), where S is the portion of the task that must be serial, and P is the number of processors. The law imposes limitations by demonstrating that the speedup is bounded by the serial portion of the task; thus, significant performance improvements require minimizing the serial fraction of a computation .

An open book and open notes exam format allows students to access resources during the exam, reducing the pressure of memorization and emphasizing understanding and application of concepts. It encourages students to focus on learning how to efficiently locate and synthesize information rather than memorizing facts. This approach is particularly beneficial in technical courses where problem-solving and critical thinking skills are paramount .

RISC (Reduced Instruction Set Computer) aims for simplicity with a small set of simple instructions, designed to execute very quickly, often in one clock cycle, promoting efficient pipelining and parallelism. In contrast, CISC (Complex Instruction Set Computer) has a larger set of instructions, which can accomplish more complex tasks in a single instruction, simplifying the compiler's work but potentially increasing execution times as each instruction may take multiple cycles to complete .

Understanding context is crucial because the same sequence of bits can represent different data types or instructions based on the system's current state or operation mode. For instance, a bit pattern may be interpreted as an integer, a floating-point number, or an instruction. Context, defined by the operation being performed, the processor state, and the surrounding code, determines the correct interpretation and processing of these bits .

2's complement is important because it allows for simple arithmetic operations and uniformity in handling positive and negative integers. It eliminates the need for separate substraction logic and simplifies the hardware design by enabling direct use of binary addition circuits for subtraction as well, due to its property of negative numbers being the bitwise complement of the positive ones plus one .

Optimizing the data path involves redesigning the sequence and execution of operations to minimize the critical path – the longest sequence of stages in an operation. Techniques include performing operations in parallel, reducing the number of stages needed for computation, and leveraging pipelining and concurrency. These strategies help in reducing the processing time and enhancing the throughput, essential for computational efficiency .

You might also like