Winter 2011 - January to April 2011 - Updated 2011-03-26 04:50 EDT

Calculators are not permitted during the first midterm test. You will benefit from knowing the powers of two from 2^(-4) to 2^16 and the decimal and binary values of the hexadecimal digits from zero to fifteen. Of course you can work them out; however, having at least some of them memorized will make things go faster for you on the test. (Remember that hexadecimal “A” = decimal 10 = binary 1010.)

- 080_byte_order_endian.html - Byte Order - Big and Little Endian
- 085_floating_point_tenth.txt - Exploring approximations to “one tenth” in binary floating point
- 090_FloatingPoint.html - Floating Point Encoding
- 120_CharacterEncoding.html - Character Encoding / Line Ends
- 130_big_picture.txt - The Big Picture on Bit Patterns
- 140_attack.txt - Remote Attack Script uses hexadecimal obfuscation
- 145_textbook_secrets.txt - Alcatel-Lucent Traning Manual containing secret messages in hexadecimal
- self_mark.txt - Self-mark of Assignment NN (participation mark)
- In-Lab Assignment #05 -
- Your Week 4 lab has one in-lab demo to be done:
- Assignment #05 - incorrect looping using floating-point numbers

These documents have restricted distribution and cannot be put on the Course Home Page.

- 01.ppt - Introduction (vonNeumann, prefixes, reciprocal)
- converting GHz to nanoseconds

- 02.ppt - Data Representation
- omit “Booth’s algorithm” slides 50-52
- ignore slides 63-70 (the “simplified” model)
- slide 72 is wrong: IEEE 754 +0.0 is equal to -0.0
- ignore slides 75-76 (floating-point multiplication)
- use my web pages and assignments instead for floating-point info

- you do not need to know how to do math with sign-magnitude numbers
- you do need to know how to convert them to/from decimal

- you do not need to know how to do math with one’s complement numbers
- you do need to know how to convert them to/from decimal

- you need to know how to do addition with two’s complement numbers
- you also need to know how to convert them to/from decimal

- you do not have to multiply or divide or subtract any binary numbers
- omit most of the math in 2.8 “Error Detection and Correction”
- omit slides 94-100
- omit slides 103-115

- 05.ppt - instruction set architectures
- just endian-ness slide 7

- 06.ppt - Memory
- just memory speeds slide 7

- http://introcs.cs.princeton.edu/91float/ - Java programs for floating point
- http://www.cs.utah.edu/~zachary/isp/applets/FP/FP.html - Java Floating Point Simulator

No way to look at memory and know what data is stored there.

- you might be able to guess what is
*not*stored there, i.e. not ASCII

- you might be able to guess what is
Conversions between GHz and nanoseconds (01.ppt #12)

Endian-ness (080_byte_order_endian.html, (05.ppt #7)

- e.g. 00000001h (1) becomes 01000000h (= 16^6 = (2
^{4)}6 = 2^24 = 16 million)

- e.g. 00000001h (1) becomes 01000000h (= 16^6 = (2
Dump-reading with attention to endian-ness

Memory latencies (06.ppt #7)

Memory speeds:

- 1ns-2ns - registers
- 3ns-10ns - Level 1 Cache
- 25ns-50ns - Level 2 Cache
- 30ns-90ns - main memory
- 5ms-20ms - fixed hard disk
- Source: [6.ppt] slide 7 (under [Blackboard] Course Content - Slides)

FunnyMath1.java - another program that produces unexpected incorrect results

FunnyMath3.java

FunnyMath4.java