The final full month of class is here. So far I honestly haven't done much outside of the initial programing the first few weeks of class. Hoping to be able to play catch up. Well I spent the vast majority of class on the 4th working on my opus. Choose my first keyword to be “logical gates” as I spent a good bit of time earlier in the year working on a few.
Seemed like more of a study hall than a class today. So I guess I'll try and work on the Opus some.
Working on keywords “Negated Logic Operations” and “Instruction Sets”.
Need to make a table showing a demo of the instruction set we theorized in class.
Also worked on the “Binary and Hexadecimal Number Representation” keyword.
Add “I/O” to the list of keywords worked on.
TBC
TBC
A set of munipulations that are performed on 1 or 2 bits to get a predefined output. Based on the bit/s loaded into the Logic Gate you get a 1 or true reply if they fit the standard set by the gate.
Here is a demonstration of the chosen keyword using an and gate.
#include "and.h" bool AND::getX() { bool tmp = false; if((A == true) && (B == true)) { tmp = true; } return tmp; }
Here is an example of the output.
Lab46:~/src/cpu/example$ ./andtest --------------- TRUE is: 1 FALSE is: 0 --------------- a | b | x ---+---+--- 0 | 0 | 0 0 | 1 | 0 1 | 0 | 0 1 | 1 | 1 ----------- Lab46:~/src/cpu/example$
A set of munipulations that are performed on 1 or 2 bits to get a predefined output. Based on the bit/s loaded into the Logic Gate you get a 1 or true reply if they fit the standard set by the gate, which are the oppisite of your typical Logical Gates.
Here is a demonstration of the chosen keyword using a nand gate.
#include "nand.h" NAND::NAND() { myandgate = new AND(); mynotgate = new NOT(); } bool NAND::getX() { bool tmp = true; myandgate -> setA(A); myandgate -> setB(B); tmp = myandgate -> getX(); mynotgate -> setA(tmp); tmp = mynotgate -> getX(); return(tmp); }
Here is an example of the output.
-------------------- TRUE is: 1 FALSE is: 0 -------------------- a | b | x ---+---+--- 0 | 0 | 1 0 | 1 | 1 1 | 0 | 1 1 | 1 | 0 -----------
These are the commands used by the microprocessor. They determine what kind of process is going to be performed. There are two typical types of sets that are used. RISC is one of these. It's more compact in an attempt to stream line the processes. CISC is the other commonly used format. The set is much longer, but also more robust.
In class earlier in the year we came up with a theoretical instruction set. It is 32 bits and has five basic manipulations and there corresponding instructions. It was going to only address memory and registers. The five manipulations are and, not, or, move and branch(Which would include if).
Put table here.
These are number system just like the base ten system we all now. Except Binary is a base two system and Hexadecimal is a base 16 system. Binary being a base two number system you only need two characters to write out any number. The two most commonly used are '0' and '1'. Hexadecimal however needs 15 characters to represent every number we know. They are '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E'. A would = the number 10 in base ten and so on.
For example the number twenty in the base ten we know would look much different in binary or hexadecimal.
20 in binary = 1010
20 in hex = 14
Also known as input/output. This is the munipulation of data performed by a source outside of the computer.
Here is an example of me inputing data via the keyboard and the result being output to a monitor.
lab46:~/datastr$ ./homework 1. To build the list. 2. To view the list. 3. To clear the list. 4. To insert a number into the list. 5. To append a number into the list. 6. To delete a number. 7. To sort the list. 8. To exit. Please make your selection: 1 Enter a value (-1 to quit): 2 Enter a value (-1 to quit): 4 Enter a value (-1 to quit): 6 Enter a value (-1 to quit): 8 Enter a value (-1 to quit): -1 1. To build the list. 2. To view the list. 3. To clear the list. 4. To insert a number into the list. 5. To append a number into the list. 6. To delete a number. 7. To sort the list. 8. To exit. Please make your selection: 2 LIST(fwd): 2 -> 4 -> 6 -> 8 -> NULL LIST(rev): 8 -> 6 -> 4 -> 2 -> NULL 1. To build the list. 2. To view the list. 3. To clear the list. 4. To insert a number into the list. 5. To append a number into the list. 6. To delete a number. 7. To sort the list. 8. To exit.
Identification of chosen keyword (unless you update the section heading above).
Definition (in your own words) of the chosen keyword.
Demonstration of the chosen keyword.
If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
Identification of chosen keyword (unless you update the section heading above).
Definition (in your own words) of the chosen keyword.
Demonstration of the chosen keyword.
If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
Identification of chosen keyword (unless you update the section heading above).
Definition (in your own words) of the chosen keyword.
Demonstration of the chosen keyword.
If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
State the course objective
In your own words, define what that objective entails.
State the method you will use for measuring successful academic/intellectual achievement of this objective.
Follow your method and obtain a measurement. Document the results here.
Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.
What is the question you'd like to pose for experimentation? State it here.
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.
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.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
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.
What is the question you'd like to pose for experimentation? State it here.
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.
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.
How are you going to test your hypothesis? What is the structure of your experiment?
Perform your experiment, and collect/document the results here.
Based on the data collected:
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.
Perform the following steps:
Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.
Evaluate their resources and commentary. Answer the following questions:
State their experiment's hypothesis. Answer the following questions:
Follow the steps given to recreate the original experiment. Answer the following questions:
Publish the data you have gained from your performing of the experiment here.
Answer the following:
Answer the following: