Difference between revisions of "CSC103: DT's Notes 1"
Line 911: | Line 911: | ||
[[Image:CSC103MotherBoard.jpg|250px | right]] | [[Image:CSC103MotherBoard.jpg|250px | right]] | ||
− | Before we figure out what kind of number ''code'' the processor can understand, let's talk for an instant about the role of the processor relative to the memory. The processor is a machine that constantly reads numbers from memory. It normally starts with the word stored in the cell with label 0 (we'll say the ''memory cell at Address 0''), reads its contents, then moves on to the next word at ''Address 1'', then the next one at ''Address 2'', and so on. All it gets from these memory cells are numbers. Remember, that's the only thing we can actually create in a computer: groups of bits. So each memory cell's number is read by the processor. How does the number gets there? On metal wires, each wire transferring one bit of the number. If you have ever taken a computer apart and taken a look at the ''motherboard'', you will have seen such wires. They are there for bits to travel back and forth between the different parts of the computer, and in particular between the processor and the memory. | + | Before we figure out what kind of number ''code'' the processor can understand, let's talk for an instant about the role of the processor relative to the memory. The processor is a machine that constantly reads numbers from memory. It normally starts with the word stored in the cell with label 0 (we'll say the ''memory cell at Address 0''), reads its contents, then moves on to the next word at ''Address 1'', then the next one at ''Address 2'', and so on. All it gets from these memory cells are numbers. Remember, that's the only thing we can actually create in a computer: groups of bits. So each memory cell's number is read by the processor. How does the number gets there? On metal wires, each wire transferring one bit of the number. If you have ever taken a computer apart and taken a look at the ''motherboard'', you will have seen such wires. They are there for bits to travel back and forth between the different parts of the computer, and in particular between the processor and the memory. The image to the right shows the wires carrying the bits (photo courtesy of http://www.inkity.com/catalog/product/2/11195/Motherboard-Detail.html). |
+ | |||
+ | In summary, the processor is designed to quickly access all the memory words in series, and absorbs the numbers that they contain. And it does this very fast and automatically. But what does it do with the numbers, and what do the numbers mean to the processor? | ||
+ | |||
+ | These numbers form a code. The same type of code we used in the silly game we introduced earlier. Just as we could have numbers coding sentences of a conversation, different numbers will mean different actions to take for the processor. We are going to refer to these actions as ''instructions''. The collection of instructions as a ''program''. A program implements an ''algorithm'', which is a description of how a result should be computed without specifying the actual nitty gritty details. The set of all the instructions and the rules for how to use them is a called ''assembly language.'' | ||
+ | |||
+ | |||
+ | But there is another subtlety here. Not all numbers are instructions. Just as in our games some numbers corresponded to sentences and others words that needed to be added at end of sentences ("did you like", "homework" for example), | ||
+ | |||
+ | |||
Revision as of 21:57, 3 October 2012
--© D. Thiebaut 08:10, 30 January 2012 (EST)