It's Friiiiiiiiiiiiiiiiiiiiiiiiiiiiidddddddddddddddddddddaaaaaaaaaaaayyyyyyyyyyyyyyyyyyyyyyyyyyyyy!!!!!
WOOHOO! The best way to start a weekend is by spending that time in the lair. So many magical things happen down here it is incredibal. Today I plan on spending some time doing opus and maybe working on the cpu simulator. Check back later for an update……
Today in Comp Org I think we have begun the process of making real progress on our CPU simulator. We have decided on simulating the 6502.
We were talking today about instruction sets and how they relate to the simulator. We have decided that each of out instructions will be four bytes in size. We also have narrowed down what different instructions we will have. This coming Friday we should be able to actually begin to write down our instructions. Once we get that down I think we should be able to move at a much faster pace!
From this day forward, I declare March 15th……… OPUS DAY!!!!!
Today I will be working on my opus cranking out keywords and such. I just finished up the interrupts keyword and I feel I have a better understanding of them now but not to the point I would like. This will require some more study on my part. I think I will also attempt to do the Address Bus and Data Bus keywords as well.
Welcome to my final dated entry for the month. Today I will be working on my opus. I have 5 more keywords to do and the objective and experiments. I have been reading through my book a little bit about registers and instruction sets. I wasn't here on friday but from the looks of the board we have decided on what our instruction set will be. Now it will be up to us to write it and implement it in our simulator.
Interrupts are changes in the flow of the instruction set. These are not caused by the running program but typically are related to some form of I/O. It is important to note that interrupts are asynchronous, meaning that they do not have to occur at a specific point in time but can executed at various different times.
The following is a paraphrased version of a list of how the interrupt process works at a software level.
In computer science a data bus is a system that transfers data different parts of the computer.
Modern buses can use both parallel and bit serial connections and can be wired in many different ways. Without buses there would be no way for data to be transferred between two different pieces of hardware.
For a more in depth description of this check out this link → http://en.wikipedia.org/wiki/Bus_%28computing%29
An Address Bus is an internal channel from the CPU to memory where addresses are transferred.
The number of wires that this bus contains determines the amount of addressable memory there can be.
for a more detailed description check out this link → http://en.wikipedia.org/wiki/Address_bus
In Computer Science, a word is a unit of data that is used by a particular processor. It usually is a group of bits handled as a unit by the instruction set. The word size will change depending on what processor you have.
In the case of our instruction set, the machine word is 4 bytes. The Motorola 6800 is an 8 bit processor therefore the word size is 8 bits.
There are only two main operation that can be perfromed on a stack. The first one is called push. push allows you to add a piece a data to the top of the stack in memory. The second one is called pop. pop allows you to remove a the topmost piece od data from the stack in memory.
A full demonstation of the operations have been performed by me at this link → http://lab46.corning-cc.edu/opus/fall2011/dschoeff/start#stacks
These type of registers can hold both data and registers and are used for a variety of purposes.
This type of register can hold floating point data values.
This type of register can hold numeric data values, as well as characters, small bit arrays and other data.
The stack pointer is used to manage the runtime stack which keeps track of the of where the current program should return control when the subroutine stops runnning.
The program counter is a special purpose register used to point to the current instruction that is being executed in the instruction sequence.
This regester is a collection of flag bits for the processor. This register contains information about process state. It typically contains at least three flags including zero,carry and overflow.
An index register is a processor register used for changing the operand addresses during the runtime of the program.
The contents of an index register is added to an immediate address to form the effective address of the actual data.
Understand the impact of number systems
This will involve not only knowing about number systems suck as binary and hexadecimal, but also understanding how they play a part in the operation of a computer.
I will achieve this goal by studying how number systems are used in the operation of the computer.
I will measure my success by how well I know how number systems function in the operation of a computer
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: