csc 235 computer organization. computer organizaton ä top_level structure ä the von-neumann...
TRANSCRIPT
![Page 1: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/1.jpg)
CSC 235CSC 235
Computer OrganizationComputer Organization
![Page 2: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/2.jpg)
Computer OrganizatonComputer Organizaton
Top_Level StructureTop_Level Structure The von-Neumann MachineThe von-Neumann Machine Stack MachineStack Machine Accumulator MachineAccumulator Machine Load/Store MachineLoad/Store Machine AssemblersAssemblers
![Page 3: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/3.jpg)
Top Level StructureTop Level Structure
Input/OutputInput/Output Main MemoryMain Memory Central Processing Unit (CPU)Central Processing Unit (CPU) System Interconnection (Bus)System Interconnection (Bus)
![Page 4: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/4.jpg)
Structure - Top Level
Computer
Main Memory
InputOutput
SystemsInterconnection
Peripherals
Communicationlines
CentralProcessing Unit
Computer
![Page 5: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/5.jpg)
Structure - The CPU
Computer Arithmeticand Login Unit
ControlUnit
Internal CPUInterconnection
Registers
CPU
I/O
Memory
SystemBus
CPU
![Page 6: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/6.jpg)
The von Neumann Machine
• Stored Program concept
• Main memory storing programs and data
• ALU operating on binary data
• Control unit interpreting instructions from memory and executing
• Input and output equipment operated by control unit
• Princeton Institute for Advanced Studies
– IAS
• Completed 1952
![Page 7: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/7.jpg)
Structure of von Neumann machine
MainMemory
Arithmetic and Logic Unit
Program Control Unit
InputOutputEquipment
![Page 8: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/8.jpg)
IAS - details
• 1000 x 40 bit words
– Binary number
– 2 x 20 bit instructions
• Set of registers (storage in CPU)
– Memory Buffer Register
– Memory Address Register
– Instruction Register
– Instruction Buffer Register
– Program Counter
– Accumulator
– Multiplier Quotient
![Page 9: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/9.jpg)
Structure of IAS - detail
MainMemory
Arithmetic and Logic Unit
Program Control Unit
InputOutputEquipment
MBR
Arithmetic & Logic Circuits
MQAccumulator
MAR
ControlCircuits
IBR
IR
PC
Address
Instructions& Data
Central Processing Unit
![Page 10: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/10.jpg)
The execution cycleThe execution cycle
PCPC = 0; // program counter initialized = 0; // program counter initialized DoDo {{ INSTRUCTION = MEMORY[PC];INSTRUCTION = MEMORY[PC];
PC++;PC++;DECODE(INSTRUCTION);DECODE(INSTRUCTION);FETCH(OPERANDS);FETCH(OPERANDS);EXECUTE;EXECUTE;STORE(RESULTS);STORE(RESULTS);
} WHILE (INSTRUCTION != HALT)} WHILE (INSTRUCTION != HALT)
![Page 11: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/11.jpg)
The Stack MachineThe Stack Machine
All operations use the top of Stack.All operations use the top of Stack. Operands are on top of stackOperands are on top of stack Operation pops its operands from the top Operation pops its operands from the top
of stack.of stack. Operation is performedOperation is performed The result is pushed back on the top of The result is pushed back on the top of
stackstack See figure 1.3 of text (next slide).See figure 1.3 of text (next slide).
![Page 12: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/12.jpg)
![Page 13: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/13.jpg)
x = a + b;x = a + b;
Push a;Push a; // fetch a from memory and // fetch a from memory and push it onto stack push it onto stack
Push b;Push b; // fetch b from memory and // fetch b from memory and push it onto stack push it onto stack
AddAdd // pop top two values from// pop top two values from top of stack, add them and top of stack, add them and push result onto stackpush result onto stack
Store xStore x // pop top value off stack and // pop top value off stack and put put it in memory location of x it in memory location of x
![Page 14: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/14.jpg)
Accumulator MachinesAccumulator Machines
One operand is in the special register One operand is in the special register called the accumulatorcalled the accumulator
The other operand (if any) is found in The other operand (if any) is found in memorymemory
The operation is performed and the The operation is performed and the result is left in the accumulatorresult is left in the accumulator
![Page 15: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/15.jpg)
x = a + b;
• Load a; // fetch a from memory and put in accumulator
• add b; // fetch b from memory and and add it to the
accumulator leaving the answer in the
accumulator• Store x // copy accumulator to
memory location of x
![Page 16: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/16.jpg)
Load/Store MachinesLoad/Store Machines
Each operand is in a registerEach operand is in a register The operation is performed using the The operation is performed using the
appropriate registersappropriate registers The result is put in a registerThe result is put in a register
![Page 17: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/17.jpg)
Load/Store VariationsLoad/Store Variations
PDP-11PDP-11 VAX 11VAX 11 Motorola 68000Motorola 68000 Intel 80x86Intel 80x86 Sun Microsystems SPARC computersSun Microsystems SPARC computers
![Page 18: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/18.jpg)
PDP, VAX, Motorolax = a + bPDP, VAX, Motorolax = a + b
move a, r0move a, r0// r0 = a// r0 = a move b, r1move b, r1 // r1 = b// r1 = b add r0, r1add r0, r1 // r1 = r0 + r1// r1 = r0 + r1 move r1, xmove r1, x// x = r1// x = r1
![Page 19: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/19.jpg)
AssemblersAssemblers
All code/data is in binaryAll code/data is in binary Hard for humans to understandHard for humans to understand Assemblers allow mnemonics to be usedAssemblers allow mnemonics to be used Assemblers allow names for memory locationsAssemblers allow names for memory locations Assemblers allow labels to used on instructionsAssemblers allow labels to used on instructions Different machines have different assemblersDifferent machines have different assemblers Same machines can have different assemblersSame machines can have different assemblers
![Page 20: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/20.jpg)
Setting Up for saSetting Up for sa
Make the directory Make the directory binbin in your home directory. Use in your home directory. Use emacs to add emacs to add $home/bin$home/bin to your path variable in to your path variable in your .login file.your .login file.
Make sure the directory Make sure the directory /usr/ccs/bin/usr/ccs/bin is in your path is in your path variable in your .login file. If not, put it there, then variable in your .login file. If not, put it there, then save .login. save .login.
Copy the program Copy the program sasa from the public directory from the public directory /export/home/public/spiegel/csc235/export/home/public/spiegel/csc235 to your to your bin bin directory.directory.
Give the command Give the command source .login source .login to make the to make the changes effective.changes effective.
![Page 21: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store](https://reader036.vdocuments.us/reader036/viewer/2022062423/5697bf9c1a28abf838c931e1/html5/thumbnails/21.jpg)
Testing saTesting sa
Make a directory csc235 in your home Make a directory csc235 in your home directory.directory.
Copy the file addxy.m from the public Copy the file addxy.m from the public directory to the csc235 directory.directory to the csc235 directory.
Give the command Give the command sa addxysa addxy to test the setup of to test the setup of sasa. If it does not compile and run correctly, re-. If it does not compile and run correctly, re-check the previous steps. If it still does not check the previous steps. If it still does not work, see a GA or your professor.work, see a GA or your professor.