Open main menu

CDOT Wiki β

Changes

Winter 2020 SPO600 Weekly Schedule

395 bytes added, 11:30, 6 January 2020
Week 1 - Class II
=== Week 1 - Class II ===
* ==== Binary Representation of Data====** Integers*** Integers are the basic building block of binary numbers.*** In an unsigned integer, the bits are numbered from right to left starting at 0, and the value of each bit is <code>2<sup>bit</sup></code>. The value represented is the sum of each bit multiplied by its corresponding bit value. The range of an unsigned integer is <code>0:2<sup>bits</sup>-1</code> where bits is the number of bits in the unsigned integer.*** Signed integers are generally stored in twos-complement format, where the highest bit is used as a sign bit. If that bit is set, the value represented is <code>-(!value)-1</code> where ! is the NOT operation (each bit gets flipped from 0&rarr;1 and 1&rarr;2)** Fixed-point*** A fixed-point value is encoded the same as an integer, except that some of the bits are fractional -- they're considered to be to the right of the "binary point" (binary version of "decimal point" - or more generically, the ''radix point''). For example, binary 000001.00 is decimal 1.0, and 000001.11 is decimal 1.75.*** An alternative to fixed-point values is integer values in a smaller unit of measurement. For example, some accounting software may use integer values representing cents. For input and display purposes, dollar and cent values are converted to/from cent values.** Floating-point*** Floating point numbers have three parts: a ''sign bit'' (0 for positive, 1 for negative), a ''mantissa'' or ''significand'', and an ''exponent''. The value is interpreted as <code>''sign'' mantissa * 2<sup>exponent</sup></code>.*** The most commonly-used floating point formats are defined in the [[IEEE 754]] standard.** Sound*** Sound waves are air pressure vibrations*** Digital sound is most often represented in raw form as a series of time-based measurements of air pressure, called Pulse Coded Modulation (PCM)*** PCM takes a lot of storage, so sound is often compressed in either a lossless (perfectly recoverable) or lossy format (higher compression, but the decompressed data doesn't perfectly match the original data). To permit high compression ratios with minimal impact on quality, psychoacoustic compression is used - sound variations that most people can't perceive are removed.** Graphics*** The human eye perceives luminance (brightness) as well as hue (colour). Our hue receptors are generally sensitive to three wavelengths: red, green, and blue (RGB). We can stimulate the eye to perceive most colours by presenting a combination of light at these three wavelengths.*** Digital displays emit RGB colours, which are mixed together and perceived by the viewer. For printing, cyan/yellow/magenta inks are used, plus black to reduce the amount of colour ink required to represent dark tones; this is known as CYMK colour.*** Images are broken into picture elements (''pixels'') and each pixel is usually represented by a group of values for RGB or CYMK channels, where each channel is represented by an integer or floating-point value. For example, using an 8-bit-per-pixel integer scheme (also known as 24-bit colour), the brightest blue could be represented as R=0,G=0,B=255; the brightest yellow would be R=255,G=255,B=0; black would be R=0,G=0,B=0; and white would be R=255,G=255,B=255. With this scheme, the number of unique colours available is 256^3 ~= 16 million.*** As with sound, the raw storage of sampled data requires a lot of storage space, so various lossy and lossless compression schemes are used. Highest compression is achieved with psychovisual compression (e.g., JPEG).*** Moving pictures (video, animations) are stored as sequential images, often compressed by encoding only the differences between frames to save storage space.** Compression techniques*** Huffman encoding / Adaptive arithmetic encoding*** Repeated sequence encoding (1D, 2D, 3D)*** Decomposition*** Pallettization*** Psychoacoustic and psychovisual compression ==== Computer Architecture Overview ====* [[Computer Architecture]] ==== Introduction to Assembly Language ====* Resources** [https://skilldrick.github.io/easy6502/ Easy 6502]** [http://www.6502.org/tutorials/6502opcodes.html 6502 Opcodes with Register Definitions]** [https://www.masswerk.at/6502/6502_instruction_set.html 6502 Opcodes with Detailed Operation Information]* 6502 Emulator for this course
=== Week 1 Deliverables ===