[Home] [Lektion 1] [Lektion 2] [Lektion 3] [Lektion 4] [Lektion 5] [Lektion 6] [Lektion 7] [Lektion 8] [Lektion 9] [Lektion 10] [Lektion 11]
Lektion 6
Up ]


Programmable Synchronous State Machine = CPU

 
The Gnome
Introduction
Programmers model
 
 
 
 
Instructions set
 
 
 
Addressing Forms
 
 
 
 
 
 
Memory
 
 
 

 Topics:

Last updated: 14-03-09

  •  Structure of a simple CPU (The Gnome)

    •  Busses = Address, Data and Control

    •  PC = Program Counter

    •  IR  = Instruction Register

    •  ALU = Arithmetic Logic Unit

    •  ACC = Accumulator

    •  Registers

    •  Program memory

    •  Instruction decoder

  •  Instructions Set

    •  Data transfer - LOAD, STORE

    •  Arithmetic - ADD

    •  Logical - XOR, TEST

    •  Branch - JUMP, SKIP_Z, SKIP_C

    •  Internal - CLEAR_C, SET_C

  •  Addressing Forms

    •  Immediate - Data is part of the instruction

    •  Direct - The address part of the instruction

    •  Register indirect - The address can be found in a register (Not used in the Gnome)

    •  Inherent - The data/address inherent part of the instruction

    •  Absolute -  JUMP absolute 

    •  Relative -  SKIP_x (relative)

  •  Memory

    •  ROM - Program memory = 128 Byte

    •  RAM -  Data memory = 16 registers of 4 bits

    •  I/O -  Input/Output space (Redefinition of the registers) 

 

 

  Examples and Problems:
 
  •  Gnome-II - How to add new instructions and hardware to the Gnome

 

   

 

Programmerbare Tilstands Maskiner

 
Normalt kaldes de for CPUer og i lidt større sammenhæng for Computere og PCer.

Enhver digital lærebog med respekt for sig selv har et eksempel på strukturen i en simpel CPU og hvordan den kan beskrives med VHDL. Dette gælder desværre ikke Wakerly ;-)

The Gnome er en meget simpel CPU som var beskrevet i en af de første Xilinx baserede lærebøger. Næste kapitel beskrev The Drawf og denne CPU var fuldt på højde med kommercielle versioner.

The Gnome kan findes beskrevet på hjemmesiden her og vil blive gennemgået udførligt.
Jeg har overvejet at opdatere den til en "brugbar" standard men har hver gang opgivet tanken da den så også vil blive sværere at overskue og forstå.

Desuden kan man på Xilinx hjemmeside hente PicoBlaze som er en ret effektiv processer, optimeret til bruge deres FPGA kredse. Den er til gengæld beskrevet på en måde som gør den "svær" (læs umulig) at forstå.

Der findes også udviklingsværktøjer som kan bruges i forbindelse med PB herunder en C-compiler. Den ene assembler er udviklet af den samme System designer (ved Xilinx) som har udviklet PB, hans navn er Ken Chapman og hans eget navn for PicoBlaze er KCPSM - Ken Chapman Programmable State Machine.

MicroBlaze er XiLinx kommercielle bud på en soft-processor - den kræver mindst 200k gates og kan derfor ikke være i BASYS kittets kreds.

Endelig har de større FPGA kredse af Virtex familien integreret en eller flere CPUer (PowerPC) sammen med den programmerbare logik. 

------------------ Opgave ------------------------------------------------------------------------------------------------------------------------------

Lav en opdateret version af the Gnome - (Gnome II) læs mere her

 

 

   

 

   

 

   

 

   

Hit Counter