User Tools

Site Tools


opus:spring2012:dschoeff:asmpart3

asm Keywords

Boolean Arithmetic Operations(Addition, Subtraction, Multiplication, Divide)

Definition

In Boolean algebra, there are only two possible values for any quantity or operation that you may be able to perform on them, a 1 and a 0.

Demonstration

Boolean addition works practically the same way that addition with integers works. Consider the following sums.

0 + 1 + 1 = 1
1 + 1 + 1 = 1
0 + 1 + 1 + 1 = 1
1 + 0 + 1 + 1 = 1

Since you can only represent a quantity by either a one or a zero, the answer for these four equations is 1.

The following pictures show how boolean addition is related to an “or” gate.

There is also Boolean multiplication. This follows the same rules as integer multiplcation. Anything multplied by zero is zero and 1 times 1 is 1. The follwing pictures show the relationship between boolean multiplication and the AND gate.

From my understanding both subtraction and division are invalid boolean operations.

Instruction Sets (CISC, RISC)

Definition

An instruction set is a group of commands that allow a computer to do specific things. These may include instructions to add two registers or branch to another location and perform the instructions there. CISC stands for complex instruction set computing. This means a single instruction can execute several different low-level operations. Risc stands for reduced instruction set computing. This strategy is different than a CISC design because there are fewer, more optimized set of instructions.

Demonstration

Examples of CISC architectures are PDP-11, VAX, and the Motorola 68000.

Examples of RISC architectures areDEC Alpha, AMD 29k and ARM processors.

Data Representation (Big Endian, Little Endian, Size, Integer, Floating Point, ASCII)

Definition

Computers are only able to represent data as one's and zero's. The way those 1's and 0's are grouped or ordered determines the way they are interpreted by the computer.

Demonstration

Big Endian

Big Endian means that the given data unit is ordered from left to right as most significant to least significant.

Little Endian

Little Endian means that the given data unit is ordered from left to right as least significant to most significant.

Size
Integer

Integer data representation can vary between computer architectures. In C, an integer represents a grouping of 4 bytes. This means it can represent the values of −2,147,483,648 to 2,147,483,647 signed and 0 to 4,294,967,295 unsigned.

Floating Point

Floating point is a method of representing real numbers that can support a wide variety of values. It can do this because it represents data in the form Significant digits * base^exponent.

ASCII

ASCII is an encoding scheme that is used to represent characters. In ASCII the character 'A' is signified by the binary number 1000001. ASCII can represent a total of 128 different things.

Control/Data Flow

Definition

Wikipedia says “In computer science, control flow (or alternatively, flow of control) refers to the order in which the individual statements, instructions or function calls of an imperative or a declarative program are executed or evaluated.” It is basically they order that stuff is run by the computer.

Demonstration

By default, the flow of a program is linear. Like sequential statements. This however is not the case in a in an if statement because depending on a certain condition the program can branch to different places.

Linking, Object and Machine Code

Definition

A linker takes a bunch of object files and converts them into a single executable file.

Demonstration

The following diagram shows how this happens.

Data Representation(Sign Representation, One's Complement, Two's Complement

Definition

When computers represent positive and negative numbers, it is different than we represent them by slapping a - in front of it. Computers have different ways of doing this. Two of these ways are One's Compliment and Two's Compliment.

Demonstration

One's Compliment

One's compliment form of a negative binary number is simply the bitwise NOT operation. 00000000 represent 0 and 11111111 represents -0. The decimal number 15 is 00001111 and -15 is 11110000.

Two's Compliment

In two's compliment, there is only one 0 and it is represented by 00000000. The negative of a number is found by negating all the bits then adding 1. 15 is 00001111 and -15 is 11110000 + 1 = 11110001.

Processor & Memory Organization

Definition

A CPU has many different parts: Registers, control unit, ALU, etc…

Demonstration

The control unit has the task of fetching, decoding and managing execution and then storing those results.

Registers allow data to be stored in a convenient place for the processor to handle it.

The ALU performs all the arithmetic operations required.

Data Instructions( Data Movement, Address Movement, Data Conversion, Bit Manipulation)

Definition

Data conversion is simply converting data of one format to another format. This is like when using the static_cast operator to convert a variable of type int to type double or converting an .mp3 to a .wmv file.

The smallest form a data computers can manipulate is a bit. They do this by performing logical operations on them such as AND, OR, NOT and so on.

asm Objective

asm Objective

familiarity with the role of the C library

Definition

I believe this objective entails not only knowing what the C library has to offer but implementing that efficiently in a program

Method

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

I will become familiar with the C library by using it frequently and reading more about it.

Measurement

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

By using the C library of functions frequently, I think I have gained a good understanding of most of the basic functions.

Analysis

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

  • How did you do? Coming into this course I thought I had a fairly good understanding of how to use the C library. I gained even more knowledge through the time in this course.
  • Is there room for improvement? By far. I know I have only scratched the surface of what is possible to do with it.
  • Could the measurement process be enhanced to be more effective?I'm not sure.
  • 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?Possibly be more specific in the objective. What part of the C library should become more familiar with?
opus/spring2012/dschoeff/asmpart3.txt · Last modified: 2012/05/01 23:01 by dschoeff