Table of Contents

Part 3

Entries

Entry 9: April 5, 2012

Entry 10: April Day 18, 2012

Entry 11: April 18 (later), 2012

Entry 12: May 6, 2012

Entry 12: May 8, 2012

Keywords

asm Keywords

asm Keyword 17: Data Instructions(Data Movement, Address Movement, Data Conversion, Bit Manipulation)

  • Data Movement:just as one would guess this instruction moves data from one location to another. Source and destination can be registers or memory and will be determined by addressing. The destination contents before the move are destroyed. Data movement instructions typically set or clear processor flags.
  • Address Movement: much like Data Movement except with addresses. This instructions moves an address from one location to another another. Source and destination can be registers or memory and will be determined by addressing. The destination contents before the move are destroyed. unlike movement instructions, address movement instructions typically do not modify processor flags.
  • Data Conversion: an instruction that changes data from one format to another. All data is stored as binary information but there are various storage formats as well as sizes. Data conversion can take a small value and and extend it to a larger format or just simply change a value as in a character value into an integer value.
  • Bit manipulation: instructions that manipulate a specific bit of a bit string. Bit clear changes the specified bit to zero. Bit set changes the specified bit to one. Bit change modifies a specified bit, clearing a one bit to zero and setting a zero bit to one.

asm Keyword 18: Control and Data Flow

  • Control and Data Flow: is accomplished by instructions to modify the flow of a program. This is commonly done with Branches or more specifically conditional branches and unconditional branches. An unconditional branch is going to modify the flow of the program once executed, whereas a conditional branch may or may not change the flow depending on the condition.

asm Keyword 19: Subroutines(Calling, Return Address)

  • Subroutines are a group of instructions that come from the pool of processor instructions. Subroutines are used to when it is often need for a task to be completed on data. Since this “sub-task” is not needed every time these instructions that are included in the subroutine could be included in the processors main program but would waste resources and be unnecessary.
  • To access a subroutine the processor will use its Call instruction to access the first instruction of the subroutine.
  • The last instruction of the subroutine will be a Return instruction which will an address. This address will either be the next instruction address of the program that called it or if some condition was met will be a new instruction address.

asm Keyword 20: Storage

  • Storage is the retention of data for future use. It can be short term(volatile) or long term(non-volatile), but for this topic we are dealing with registers and memory which are both volatile.
  • Registers offer the best access speed but the least amount of storage space.
  • Memory offers a slower access speed than registers but has the greatest amount of storage space.

asm Keyword 21: Stack Operations

  • At this stage of the game everyone should know what a stack is, but to be safe Ill reiterate; a Stack is a “lifo” data structure, the last data stored to the stack is now the top of the stack and the first data to be removed. Stack operations include push which stores data to the top of the stack, pop removes the data from the top of the stack and the moves the stack thus moving the top of the stack down one. There can also be a an operation to simply view the top of the stack but I would venture a guess most processors don't have one(they certainly wouldn't need it).
  • Stacks and their operations are useful in cpus for many reasons, a great example is when you call a subroutine. When you call a subroutine you are going to a different instruction in memory completing each instruction in the subroutine until you get to the last instruction which is a return. The return will take you back to the next address before you called the subroutine. Well how do we know how to do this? When you call the subroutine you push the next address onto the stack, when you return from the subroutine you pop it and know where to return to!

asm Keyword 22: Data Representation (Big Endian, Little Endian, Size, Integer, Floating Point, ASCII)

  • Data Representation is is just what you would guess, how data is represented which can be done in several ways
  • Size: a bit is the is the basic building block of a system but there isn't much you can do with a bit, in fact there is only two things. However once we combine bits together we can do much much more. A byte is the basic grouping and in virtually all modern processors is 8 bits. A word is the default data size for the processor which is chosen by the designer, most are between 16 and 32 bits though. It is important to know this information when dealing with a processor. On a side note a Nibble is half a byte.
  • Integer and floating point are data types. If it is an integer type, then the binary value will be treated as a whole number. If it is floating point it will be treated as a real number, aka fraction.
  • ASCII is a character code that will take an integer value and convert it to some character. For example the integer 64 equates to 'A'.
    • Big Endian stores values in a natural order with the most significant byte in the lowest numerical byte address. In simpler terms it is the way most of us are used to, lets say you use 4 bytes to represent values and broke that up into 32 bits going from left to right the most significant bit would be the left most with the right most being the least significant.
    • Little Endian is the oppositing of Big endian in which the least significant byte is in the lowest numerical bye address. 4 bytes represented as 32 bits the most significant bit would be the right most with the least being the right most.
AddressBig-Endian representation of 1025 Little-Endian representation of 1025
1 00000000 00000001
2 00000000 00000100
3 00000100 00000000
4 00000001 00000000

asm Keyword 23: Data Representation(Sign Representation, One's Complement, Two's Complement)

  • Sign representation is a way to determine if number is positive or negative. Usually the most significant bit will be used to determine positive or negative, but there can be issues with “0”
  • One's Complement is another way to deal with negative values. each bit in the binary value is swapped with its counter parts, 0's become 1's and vice versa.This “complement” of the number then behaves like the negative of the original number in most arithmetic operations. This will still have issues with “0”.
  • Two's Complement is currently the most common method to represent sign. Each binary value is swapped with its counter part just like the ones complement but when finished 1 is added. By doing this you take away any issues with “0”.

asm Keyword 24: Linker, Object and Machine code

  • A Linker is a program that will take one more more object file's and turn them into executable machine code.
  • Object code is generated by a language translator like a compiler or assembler when run on source code. (we compile our c/c++ code). This is the middle step between source code and machine code. It is much closer to machine code but still might have some debugging tokens and other information the processor would not recognize.
  • Machine Code is the output of the linker on one ore more object files and is pure machine code ready to execute on the processor it was designed for.

asm Objective

asm Objective: Understanding the concepts of Assembly

  • The key concept of Assembly is unlike other programming languages, assembly is not a single language. It is actually many languages(although usually similar). Each processor family and sometimes even individual processors in a family will have their own assembly language.
  • Another key concept is that data structures and program structures are created by implementing them right on the hardware, this is not done in high level languages.

hpc0 Keywords

hpc0 Keyword 17: Data Storage

  • Data Storage is a fundamental aspect of computing involving components and media that can hold digital data. It is often called storage or memory. Storage is typically non-volatile memory such as hard drives or optical discs. Memory is typically volatile memory like RAM.

hpc0 Keyword 18: Primary Storage

  • Primary Storage, often called memory, is the only one that can be directly access by the cpu. Primary storage loses its data when there is now power, aka it's volatile. Memory as we are used to it is our RAM, but registers are also a part of primary storage.

hpc0 Keyword 19: Secondary Storage.

  • Secondary Storage cannot be directly accessed by the cpu. This is known as external memory. It is slower than primary storage, but cheaper and it does not lose its data when powered down, aka non-volatile.

hpc0 Keyword 20: Tertiary Storage

  • Tertiary Storage is a third level of storage that consists of anywhere from one to several storage drives. It is usually very slow, so it is usually used to archive data that is not accessed frequently. These are usually run by some form of automated mechanism and used for extremely large data stores that are accessed without human operators. Tape Libraries and Optical jukeboxes are examples of Tertiary storage.

hpc0 Keyword 21: Offline Storage

  • Offline Storage is storage on a medium that is not under the control of the CPU. The data is stored on the medium then the medium is removed. Unlike Tertiary Storage, Offline Storage needs a human operator and is not always kept close to the computer. Flash memory and optical drives are examples of offline storage. Offline storage increase Information Security since the data can be stored offsite and is not constantly connected to the computer.

hpc0 Keyword 22: Tape Library

  • A Tape Library is a storage device that contains a collection of magnetic tape cartridges and tape drives used for reading and writing data. It has access ports for entering and removing tapes and a robotic device for mounting and dismounting the tape cartridges without human intervention. A tape library is an example of tertiary storage, and can be used to store immense about of data currently ranging from 20 terabytes to 366 petabytes.

hpc0 Keyword 23: Optical Jukebox

  • An Optical Jukebox is another example of tertiary storage and very similar to a tape library. It is a storage device that can load and unload optical discs. They can provide anywhere from terabytes to petabytes of data.

hpc0 Keyword 24: Information Security

  • *Information Security** is protecting data from unauthorized access, use, disclosure, disruption, modification, perusal, inspection, recording or destruction. I mentioned this concept when talking about offline storage and felt it was worth going into more detail. Offline Storage increases information security because the data is stored offsite(in theory) and is not directly accessible. Lets say I copy all of my research work from my home PC to a flash drive then store that flash drive in a safety deposit box. Now lets say I have a house fire and it destroys my pc, I have a backup stored offsite that was not damaged. Lets alternatively say that a hacker accessed my laptop and destroyed or altered my data somehow, I again have a backup offsite that the hacker had no way to access. There are more aspects to Information security than just offline storage, firewalls, and virus protection are examples.

Resource

hpc0 Objective

hpc0 Objective

State the course objective

Definition

In your own words, define what that objective entails.

Method

State the method you will use for measuring successful academic/intellectual achievement of this objective.

Measurement

Follow your method and obtain a measurement. Document the results here.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

  • How did you do?
  • Is there room for improvement?
  • Could the measurement process be enhanced to be more effective?
  • Do you think this enhancement would be efficient to employ?
  • Could the course objective be altered to be more applicable? How would you alter it?

hpc2 Keywords

hpc2 Keyword 17: RAID

  • RAID stands for redundant array of independent disks and is a storage technology that will combine multiple disk drives into one logical unit. Once the drives are combined into a logical unit any data is stored across the drives in various different ways know as “RAID levels” and will depend on the level of redundancy and/or performance the user wants.

hpc2 Keyword 18" RAID 0

  • RAID 0 is used for performance and combing all disks into one logical drive with the storage capacity of all disks combined but has no redundancy. It requires a minimum of two disks and the disks will be striped. By striping your data you can can write X amount of times faster, where X is the amount of drives. If you have one drive and want to write two blocks of data you have to write the first block then the next. If you have two striped drives and want to write two blocks of data, you can write the first block to the first drive and the second block to the second drive thus doubling your performance.

resource

hpc2 Keyword 19:RAID 1

  • RAID 1 Gives redundancy but does not increase performance nor gives you a larger logical drive. RAID 0 stripes but RAID 1 mirrors. It requires a minimum of 2 disks and everything that is written to one disk is mirror on all other disks.

resource

hpc2 Keyword 20: RAID 5

  • RAID 5 gives good performance as blocks are striped and good redundancy by using parity. Parity is not as efficient as mirroring. You need a minimum of 3 disks. In a 3 disk system with all disks of equal size, your logical drive would be double the size of your drives as the the third portion would be used for parity data. This gives you the most cost effective way to increase performance and have redundancy with the least amount of drives.

resource

hpc2 Keyword 21: RAID 10

  • RAID 10 is a combination of RAID 0 and RAID 1. It is a stripe of mirrors and requires a minimum of 4 disks. In a four disk system where all disks are the same size, you will double your size. This gives you the greatest performance and redundancy. If you have two blocks of data, the first block and second block are written simultaneously to multiple drives, increasing performance and giving you a backup copy.

resource

hpc2 Keyword 22: Semiconductor Memory

  • Semiconductor memory uses semiconductor-based integrated circuits to store information. Both volatile and non-volatile forms of semiconductor memory exist. Most computers today use dynamic volatile semiconductor memory or dynamic random access memory(DRAM) as their primary storage. Flash memory is an example of non-volatile semiconductor memory as well as offline storage. Solid state drives are also non-volatile semiconductor memory but secondary storage.

Resource

hpc2 Keyword 23: Magnetic Storage

  • Magnetic storage is non volatile and uses different patterns of magnetization on a magnetically coated surface to store information . Floppy disks and hard drives are examples of Magnetic storage. Floppy disks are still used, albeit rarely, and are a form of offline storage. Hard disks are an example of secondary storage.

Resource

hpc2 Keyword 24

  • Optical storage is non volatile and stores information in deformities on the surface of a circular disc and reads this information by illuminating the surface with a lasers. The deformities may be permanent (read only media ), formed once (write once media) or reversible (recordable or read/write media). CD and DVD's are examples of read only optical storage, CD-R, DVD-R are examples of write once optical storage, and CD-RW, DVD-RW are examples or read/write optical storage.

Resource

hpc2 Objective

hpc2 Objective

State the course objective

Definition

In your own words, define what that objective entails.

Method

State the method you will use for measuring successful academic/intellectual achievement of this objective.

Measurement

Follow your method and obtain a measurement. Document the results here.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

  • How did you do?
  • Is there room for improvement?
  • Could the measurement process be enhanced to be more effective?
  • Do you think this enhancement would be efficient to employ?
  • Could the course objective be altered to be more applicable? How would you alter it?

Experiments

Experiment 7

Experiment 8

Question

What is the question you'd like to pose for experimentation? State it here.

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Retest 3

Perform the following steps:

State Experiment

Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.

Resources

Evaluate their resources and commentary. Answer the following questions:

Hypothesis

State their experiment's hypothesis. Answer the following questions:

Experiment

Follow the steps given to recreate the original experiment. Answer the following questions:

Data

Publish the data you have gained from your performing of the experiment here.

Analysis

Answer the following:

Conclusions

Answer the following: