21
CSC 235 Computer Organization Computer Organization

CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store

Embed Size (px)

Citation preview

Page 1: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store

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

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

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

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

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

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

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

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

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

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

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
Page 13: CSC 235 Computer Organization. Computer Organizaton ä Top_Level Structure ä The von-Neumann Machine ä Stack Machine ä Accumulator Machine ä Load/Store

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

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

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

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

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

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

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

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

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.