Blok Forth Architecture

A small modular FORTH compilier called BLOK FORTH will make execellent use of fast cache memory, as small code thrashes any cache less. One could argue that CISC ISAs was introduced to prevent large code. This FORTH will be available in 16 bit wide modular ROM images with 16 bit single integer precision, and big endian doubles on stack :

Primitives All the basic primitive machine code routines
Full Core All Relevant FORTH-83 extra words to be used with primitives
Simple IO Functions Functions for standardized IO and device configuration
Compiler The dictionary entries for compilation, editing and assembler
Waves & Sound Sinusoid and definitions related to sound IO
Character & Graphics Character definitions and standard bitmap graphical words

The ISA has an extreme regularity, allowing for a simple ALU design with no "microcoded" slow down or logic area increase but arithmetic support for multiplication and division is via the modular BLOK FORTH dictionaries. The FORTH is based arround FORTH-83 without the C byte words (16n uses limited UTF-16), and with modification to EMIT and KEY behaviour to handle limited UTF-16 streams.

The ROM images will be compiled indirect threaded code, for compactness, while retaining execution speed by cache efficiency

P - Program or Primitive Dictionary Space (Can Be Partially Read Only)
Q - Data, Dictionary Extension or Variable Space (Indirect Variables for ROM Targeting)
R - Return Stack Space
S - Parameter Stack Space

The indi32 architecture will support all ROM images, with the high 16 bits set to zero implicitly. The extra fetch bandwidth of the extra 16 high bits will be used for coprocessor features which will be synchronized to the ROM execution. The low 16 bits of any size instruction word fetched will always be formatted as per the indi16 architecture. The coprocessor interface will be via the Accumulator, and coprocessors will perform no program sequencing as this is done by the indi16 code. Full UTF-16 support including row-column extensions will supported.

Block Forth Word List (Not yet Complete or Definitive)