Difference between revisions of "CSC103: DT's Notes 1"

From dftwiki3
Jump to: navigation, search
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.  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 www.inkity.com].  Even though it seems that some wires do not go anywhere, they actually connect to tiny holes that go through the motherboard and allow them to continue on the other side, allowing wires to cross without touching.).
+
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.  In order to keep track of where to go next, it keeps the address of the cell it is going to access in a special word it keeps internally called '''Program Counter''', or '''PC''' for shortPC is a special memory word that is inside the processor.  It doesn't have an address.  We call such memory words when they are inside the processor ''registers''.  The processor has three important registers that allow it to work in this machine like fashion: the '''PC''', the '''Accumulator''' (shortened to '''AC'''), and the '''Insruction Register''' ('''IR''' for short).  The PC is used to "point" to which number in memory is to bring next in the processor, for analysis.  When this number enters the processor, it must be stored somewhere so that the processor can figure out what kind of action to take.  This holding place is the '''IR''' register.  The way the '''AC''' register works is best illustrated by the way we use a regular calculator.  Whenever you enter a number into a calculator, it appears in the display of the calculator, indicating that the calculator actually holds this value somewhere internally.  When you type a new number that you want to add to the first one, the first number disappears from the display, but you know it is kept inside because as soon as you press the = key the sum of the first and of the second number appears in the display.  It means that while the calculator was displaying the second number you had typed, it still had the first number stored somewhere internally.  For the processor there is a similar register used to keep intermediate results.  That's the '''AC''' register.
 +
 
 +
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 www.inkity.com].  Even though it seems that some wires do not go anywhere, they actually connect to tiny holes that go through the motherboard and allow them to continue on the other side, allowing wires to cross without touching.).
  
 
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?
 
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?
Line 917: Line 919:
 
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.''
 
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), some numbers represent actions, while others are just regular numbers.  When the processor starts absorbing the contents of memory cells, it assumes that the first number it's going to get is an instruction.  When it analyzes this number internally
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), some numbers represent actions, while others are just regular numbers.  When the processor starts absorbing the contents of memory cells,  
 
  
  

Revision as of 22:52, 3 October 2012

--© D. Thiebaut 08:10, 30 January 2012 (EST)



This section is only visible to computers located at Smith College













.