XSC – eXtremely Simple Computer

ClusoXSC2 Comments

[cs_section parallax=”false” style=”margin: 0px;padding: 45px 0px;”][cs_row inner_container=”true” marginless_columns=”false” style=”margin: 0px auto;padding: 0px;”][cs_column fade=”false” fade_animation=”in” fade_animation_offset=”45px” fade_duration=”750″ type=”1/1″ style=”padding: 0px;”][cs_text]This is my take on an “eXtremely Simple Computer design.

The design will start out in what I consider to be the most “minimalistic” designs possible.

As the project continues, it will evolve into a more complete implementation, while still maintaining the “simple” design mantra.

Every computer design has a few basic building blocks. They are…

[/cs_text][x_feature_list][x_feature_box title=”Control Sequencer / State Machine” title_color=”” text_color=”” graphic=”icon” graphic_size=”60px” graphic_shape=”circle” graphic_color=”#ffffff” graphic_bg_color=”#2ecc71″ align_h=”left” align_v=”top” side_graphic_spacing=”20px” max_width=”none” child=”true” connector_width=”1px” connector_style=”dashed” connector_color=”#272727″ graphic_icon=”diamond”]This steps the computer through its sequences for each instruction to be executed. This is commonly referred to as a “state machine sequencer”.[/x_feature_box][x_feature_box title=”Program Counter” title_color=”” text_color=”” graphic=”icon” graphic_size=”60px” graphic_shape=”circle” graphic_color=”#ffffff” graphic_bg_color=”#2ecc71″ align_h=”left” align_v=”top” side_graphic_spacing=”20px” max_width=”none” child=”true” connector_width=”1px” connector_style=”dashed” connector_color=”#272727″ graphic_icon=”bicycle”]This is the block that supplies the Memory Address for fetching the next Instruction. After each instruction fetch, the Program Counter will increment to the next address. Sometimes, the instruction fetched will modify the Program Counter directly by loading a new value into the Program Counter. This is commonly referred to as a Jump Instruction and may take a number of forms.[/x_feature_box][x_feature_box title=”ALU – Arithmetic Logic Unit” title_color=”” text_color=”” graphic=”icon” graphic_size=”60px” graphic_shape=”circle” graphic_color=”#ffffff” graphic_bg_color=”#2ecc71″ align_h=”left” align_v=”top” side_graphic_spacing=”20px” max_width=”none” child=”true” connector_width=”1px” connector_style=”dashed” connector_color=”#272727″ graphic_icon=”envelope-o”]All computers have an ALU. This is where an instruction will modify Data according to the Instruction Type. Simple Arithmetic Operations such as ADD and SUBTRACT, and Logical Operations such as AND, OR and XOR will be performed on Data supplied to the ALU according to the Instruction Type being executed.[/x_feature_box][x_feature_box title=”Memory – ROM and/or RAM” title_color=”” text_color=”” graphic=”icon” graphic_size=”60px” graphic_shape=”square” graphic_color=”#ffffff” graphic_bg_color=”#2ecc71″ align_h=”left” align_v=”top” side_graphic_spacing=”20px” max_width=”none” child=”true” connector_width=”1px” connector_style=”dashed” connector_color=”#272727″ graphic_icon=”ship”]This is the computers’ local memory storage. ROM contains fixed Read-Only-Memory and RAM contains read/write Random-Access-Memory. ROM can be though of as the hardware Bootstrap or BIOS Program, and RAM will be loaded with the User Program(s), and possibly the Operating System program(s) too.[/x_feature_box][x_feature_box title=”Input & Output” title_color=”” text_color=”” graphic=”icon” graphic_size=”60px” graphic_shape=”square” graphic_color=”#ffffff” graphic_bg_color=”#2ecc71″ align_h=”left” align_v=”top” side_graphic_spacing=”20px” max_width=”none” child=”true” connector_width=”1px” connector_style=”dashed” connector_color=”#272727″ graphic_icon=”ship”]Every computer must communicate with the outside world. This is done by Inputing (reading) and/or Outputting (writing) Information/Data.[/x_feature_box][/x_feature_list][/cs_column][/cs_row][/cs_section]

2 Comments on “XSC – eXtremely Simple Computer”

  1. There’s a group of simple computer architectures made more valuable by having software available. I’m thinking of the DEC PDP-5 or PDP-8, the Mostek 6502. These have the advantage of having few instructions and being usable with small memories.

  2. Implementation
    Initially I will implement the entire design using a single microprocessor with 8 cores, namely the Parallax P8X32A, and an LCD to simulate a Front Panel to display the values of registers etc.

Leave a Reply

Your email address will not be published. Required fields are marked *