% Week 04 Notes for DAT2343 - Winter 2011
% Ian! D. Allen - idallen@idallen.ca - www.idallen.com
% Winter 2011 - January to April 2011
First Midterm Test
==================
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.)
Lecture Notes for This Week
===========================
From the Class Notes link on the Course Home Page
-------------------------------------------------
* [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
From Blackboard Course Documents
--------------------------------
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
From the Internet
-----------------
- -
Java programs for floating point
- -
Java Floating Point Simulator
From the Classroom Whiteboard/Chalkboard
----------------------------------------
* 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
* 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)
* 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
[Course Outline]: 2010-2011_DAT2343.pdf
[01.ppt]: http://blackboard.algonquincollege.com/
[02.ppt]: http://blackboard.algonquincollege.com/
[03.ppt]: http://blackboard.algonquincollege.com/
[05.ppt]: http://blackboard.algonquincollege.com/
[06.ppt]: http://blackboard.algonquincollege.com/
[Test Instructions]: 000_test_instructions.html
[000_README.txt]: 000_README.txt
[000_Licensing.txt]: 000_Licensing.txt
[005_this_is_your_brain.txt]: 005_this_is_your_brain.txt
[010_arithmetic_terms.txt]: 010_arithmetic_terms.txt
[020_operation_output_size.txt]: 020_operation_output_size.txt
[030_binary_math.txt]: 030_binary_math.txt
[040_overflow.txt]: 040_overflow.txt
[080_byte_order_endian.html]: 080_byte_order_endian.html
[085_floating_point_tenth.txt]: 085_floating_point_tenth.txt
[090_FloatingPoint.html]: 090_FloatingPoint.html
[120_CharacterEncoding.html]: 120_CharacterEncoding.html
[130_big_picture.txt]: 130_big_picture.txt
[140_attack.txt]: 140_attack.txt
[145_textbook_secrets.txt]: 145_textbook_secrets.txt
[self_mark.txt]: self_mark.txt
--
| Ian! D. Allen - idallen@idallen.ca - Ottawa, Ontario, Canada
| Home Page: http://idallen.com/ Contact Improv: http://contactimprov.ca/
| College professor (Free/Libre GNU+Linux) at: http://teaching.idallen.com/
| Defend digital freedom: http://eff.org/ and have fun: http://fools.ca/
[Plain Text] - plain text version of this page in
[Pandoc Markdown](http://johnmacfarlane.net/pandoc/) format