Saturday, May 8, 2010

16- bit Processor Design

CAPC Processor is a 16 bit processor with main memory (RAM) of size 4,096 words, 16 bits per word. It was designed/built in LogicWorks4 for COMP212 Work (Computer Design and Architecture II) at Capilano College in the Spring2002 term. The CAPC Processor project (design/build the Processor) has been the major part of the work. This is the second version of the CAPC Processor Design Book.
  • CAPC is a sequential processor with main memory (RAM) of size 4,096 words, 16 bits per word. 
  • It is controlled/driven by a clock, generating Fetch (5 subcycles)/Execute cycle (3 subcycles) in 8 subcycles. 
  • There's buses - 16 bit Information Bus for information & addresses (12 bits), & Control Bus. 
  • Each word, when it is used as a machine instruction, contains a five bit OP code (bits 12,13,14, & 15) & an Operand, an address (bits 0 to 11) or a constant. 
  • ALU unit has of input registers, U & V. It can computing ADD (U+V), AND(U^V), OR(U,V), NEG (-U) & SHR(U), shifting right 1 small bit of U. 
  • There's 16 bit registers; instruction register IR, & general purpose register Greg. IR is the main register to decode & execute a machine instruction. 
  • The 12 bit memory address register MAR is used to point the location by & massive memory. The 16 bit register MBR, memory buffer register, is used to interface with the datum into/from the main memory. 
  • There's addressing modes: local addressing is generated by SP+Offset, where SP is the pointer register & offset is the 12 bit address given by bit 0 to 11 of IR register. An address is contained in the memory pointed by SP+Offset. In direct addressing mode, the direct is basically given by the 12 bit, bit 0 to 11, of an operand. 
  • The pointer register SP could be used to simulate a Stack Pointer in programming CAPC. 
  • There's 16 Machine Instructions (OP codes): 

OP code
bit12..15
Instruction Description
0000 HLT Halt the clock signal.
Operand (Bit0..11) is ignored.
0001 LOGC Load Greg 12 bit Operand (from Bit0 to 11).
0010 LOSP Load SP 12 bit operand (from Bit0 to 11).
0011 LOGM Load Greg the 16 bit datum in
the memory pointed by SP+Operand.
0100 SEGM Copy the contents of Greg to the memory
pointed by SP+Operand.

No comments:

Post a Comment