Midterm Review
15-213: Introduc0on to Computer Systems Recita0on 8: Monday, Oct. 19, 2015
Copyright By PowCoder代写 加微信 powcoder
¢ Midterm Logis3cs
¢ Brief Overview of some topics
¢ Prac3ce Ques3ons
¢ Tues Oct 20th to Fri Oct 23th.
§ Dura0on – Designed to be take in 80min, but you have up to 4 hrs § If you have not signed up for a slot online, do so now.
§ You will only be allowed to take it during your slot § Bring your student ID with you
¢ Note Sheet – ONE double sided 8 1⁄2 x 11 paper § No worked out problems on that sheet
¢ No office hours this week
§ You can s0ll email the list
§ But responses might be slow due to volume, so be proac0ve, and read the book/lectures slides carefully beforehand
¢ What to study?
§ Chapters 1-3 and Chapter 6
¢ How to Study?
§ Read each chapter 3 0mes, work prac0ce problems and do problems from previous exams.
§ Online prac0ce exam allows you to get a feel for the format of the exam
§ Some old prac0ce exams include ques0ons that use the IA32 architecture. You will only need to know x86-64 for the midterm.
Bits, Bytes & Integers
¢ Know how to do basic bit opera3ons by hand
§ ShiUing, addi0on, nega0on, and, or, xor, etc.
¢ If you have w bits
§ What are the largest/smallest representable signed numbers?
§ What are the largest/smallest representable unsigned numbers?
§ What happens to the bits when cas0ng signed to unsigned (and vice versa)?
¢ Dis3nguish between logical and bitwise operators
¢ What happens in C if you do opera3ons on mixed types (either different size, or signedness?)
Floa3ng Point (IEEE Format)
¢ Sign, Exponent, Man0ssa § (−1)𝑠×𝑀×2𝐸
§ s – sign bit
§ M – Man0ssa/Frac0on bits
§ E – Determined by (but not equal to) exponent bits
¢ Bias (2𝑘−1 − 1)
¢ Three main categories of floats
§ Normalized: Large values, not near zero § Denormalized: Small values close to zero § Special Values: Infinity/NaN
Floa3ng Point (IEEE Format)
¢ Floa0ng Point Rounding
§ Round-up – if the spilled bits are greater than half
§ Round-down – if the spilled bits are less than half
§ Round to even – if the spilled bits are exactly equal to half
Assembly Loops
¢ Recognize common assembly instruc0ons
¢ Know the uses of all registers in 64 bit systems
¢ Understand how different control flow is turned into assembly
§ For, while, do, if-else, switch, etc
¢ Be very comfortable with pointers and dereferencing
§ The use of parens in mov commands. § %rax vs. (%rax)
§ The op0ons for memory addressing modes: § R(Rb, Ri, S)
§ lea vs. mov
Assembly Loop
00000000004004b6
4004b6: mov $0x0,%eax
4004bb: jmp 4004d3
4004bd: movslq %eax,%rdx
4004c0: lea (%rdi,%rdx,4),%rcx
4004c4: mov (%rcx),%edx
4004c6: test $0x1,%dl
4004c9: jne 4004d0
4004cb: add $0x1,%edx
4004ce: mov %edx,(%rcx)
4004d0: add $0x1,%eax
4004d3: cmp %esi,%eax
4004d5: jne 4004bd
4004d7: repz retq
Assembly – Stack
¢ How arguments are passed to a func3on
¢ Return value from a func3on
¢ How these instruc3ons modify stack § call
§ leave § ret
§ pop § push
Array Access
¢ A suggested method for these problems: § Start with the C code
§ Then look at the assembly Work backwards!
§ Understand how in assembly, a logical 2D array is implement as a 1D array, using the width of the array as a mul0plier for access
Caching Concepts
¢ Dimensions: S, E, B
§ S: Number of sets
§ E: Associa0vity – number of lines per set
§ B: Block size – number of bytes per block (1 block per line)
¢ Given Values for S,E,B,m
§ Find which address maps to which set § Is it a Hit/Miss? Is there an evic0on? § Hit rate/Miss rate
¢ Types of misses
§ Which types can be avoided?
§ What cache parameters affect types/number of misses?
Ques3ons/Advice
¢ Work Past exams!
¢ Email us –
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com