# Intro

When starting out, it can be hard to learn all the various terms used in computational redstone. This post is here to clear up as many terms as possible in a clear and concise manner. With this many terms, I don’t plan to go in-depth on all of them (e.g. I’ll explain what a CPU is but not the specifics on how it works) however, many terms will have links to relevant information. So just be aware that many terms have a lot more aspects you can learn about elsewhere.

I encourage any and all criticism, comments, or recommendations since I’d like this to be as complete and useful as possible.

*Note: Each line with a right arrow can be opened by clicking*

# Updates

Updates get older as you go further down.

## 2024 March 19th

Removed square brackets around links

Added **Redstone** category

Added to A-Z:

- Half Adder
- Full Adder
- Redcoder
- Control Unit

## Added Terms

- Branch Misprediction
- Branch Predictor
- Branch
- Cache
- Comparator
- Computational Redstone
- GPU
- Game Tick
- Hard-Powered
- Immediate
- Input
- Jump
- Math Unit
- NOOP
- Octal
- Output
- Pipelining Hazard
- Pipelining
- Read After Write Hazard
- Redstone Dust
- Redstone Tick
- Repeater
- Signal Strength
- Soft-Powered
- Target Block
- Ternary
- Torch
- Write After Read Hazard
- Write After Write Hazard

## 2024 March 18th

I’m not sure this is a complete list of the changes, but you can always check the previous versions if you need the details

Added **Theory** category

Added various descriptions, including many of the new terms

Added links to various terms

## Added to A-Z

**- ALU**

**- Accumulator**

**- Arithmetic Logic Unit**

**- Binary**

**- Bit**

**- Bit Width**

**- Byte**

**- Carry In**

**- Carry Out**

**- Cin**

**- Clock**

**- Cout**

**- D Flip-Flop**

**- Decimal**

**- Dual Read Register**

**- Edge-Triggered**

**- False**

**- Flip-Flop**

**- GB**

**- Gigabyte**

**- Gray Code**

**- Hex**

**- Hexadecimal**

**- Inverter**

**- JK Flip-Flop**

**- KB**

**- Kilobyte**

**- Level-Triggered**

**- MB**

**- Megabyte**

**- Nibble**

**- Off**

**- On**

**- One-Hot**

**- Pulse Extender**

**- Pulse Generator**

**- ROM**

**- Read Only Memory**

**- Register**

**- Ripple-Carry Adder**

**- SR Flip-Flop**

**- Serial Circuit**

**- Signed Number**

**- T Flip-Flop**

**- TB**

**- Terabyte**

**- True**

**- Two’s Complement**

**- Unsigned Binary**

**- Unsigned Number**

## Added Terms

**- Binary**

**- Signed Number**

**- Decimal**

**- Hexadecimal**

**- One-Hot**

**- Gray Code**

**- Two’s Complement**

**- True**

**- False**

**- Bit Width**

**- Bit**

**- Nibble**

**- Byte**

**- Kilobyte**

**- Megabyte**

**- Gigabyte**

**- Terabyte**

**- Carry In**

**- Carry Out**

**- Edge-Triggered**

**- Level-Triggered**

**- Combinational Circuit**

**- Serial Circuit**

**- Read Only Memory**

**- Redcoder**

**- Register**

**- Dual Read Register**

**- Accumulator**

**- Clock**

**- Pulse Generator**

**- Pulse Extender**

## 2024 March 11th

Changed **All Terms A-Z** to a table

Changed **Multiplexer** and **Demultiplexer** to point to **Mux** and **Demux** respectively in **All Terms A-Z**

## 2024 March 10th

Added terms:

**Combinational Circuit****Sequential Circuit**

## 2024 March 9th

Removed headers for updates and descriptions

Added **Adder Types** Subcategory

Added **All Terms A-Z**

Changed descriptions to “click to open” to avoid categories being buried

Added terms:

**Flip Flop****Latch**

Added descriptions for:

**Enable**

## 2024 March 8th

Changed the Update date format from numeric YMD (2024-03-08) to a written month version (2024 March 8th)

Fixed the **NOT Gate** description

Added terms:

**Program Counter****Program ROM****SR Flip Flop****D Flip Flop****T Flip Flop****JK Flip Flop****SR Latch****D Latch****T Latch****JK Latch**

Added descriptions for:

**Program Counter****Program ROM****Multiplier****Divider**

## 2024 February 7th

Initial version

Largely incomplete list, will add more over time

Wrote a lot of terms with “Todo” since I wanna put them in but can’t be bothered to handle it all yet

Most of the existing terms lack links to resources and I’m not sure of the quality of those that do

I encourage any recommendations for links along with any other criticism/comments/etc.

Updates are hidden by default to avoid obscuring the terms below.

# All Terms A-Z

A list of all terms along with which category they fall under.

The descriptions for each term are found in the specified category.

*Note: When there are multiple options for a single A-Z term, they are listed and separated by //*

## All Terms (154)

Term | Category |
---|---|

ALU | See Arithmetic Logic Unit |

AND Gate | Logic Gates |

Accumulator | CPU Components |

Adder | Arithmetic Circuits |

Adder-Subtractor | Arithmetic Circuits |

Address | Memory Circuits |

Arithmetic Logic Unit | CPU Components |

BCS | See Borrow Carry Subtractor |

Binary | Theory |

Bit | Theory |

Bit Length | See Bit Width |

Bit Width | Theory |

Borrow Carry Subtractor | Arithmetic Circuits |

Branch | CPU Components |

Branch Misprediction | CPU Components |

Branch Predictor | CPU Components |

Bus | Miscellaneous |

Bussing | See Bus |

Byte | Theory |

CCA | See Carry Cancel Adder |

CLA | See Carry-Lookahead Adder |

CLE | See Carry Look Everywhere (Adder) |

CPU | See Central Processing Unit |

CSA | See Carry-Save Adder |

Cache | CPU Components |

Carry Cancel Adder | Arithmetic Circuits |

Carry Look Everywhere (Adder) | Arithmetic Circuits |

Carry-Lookahead Adder | Arithmetic Circuits |

Carry-Save Adder | Arithmetic Circuits |

Central Processing Unit | CPU Components |

Clock | CPU Components |

Combinational Circuit | Theory |

Comparator | Redstone |

Computational Redstone | Redstone |

Control Unit | CPU Components |

D Flip-Flop | Memory Circuits |

D Latch | Memory Circuits |

Decimal | Theory |

Decoder | Control Logic |

Demultiplexer | Control Logic |

Demux | See Demultiplexer |

Divider | Arithmetic Circuits |

Dual Read Register | CPU Components |

Edge-Triggered | Theory |

Enable | Memory Circuits |

Encoder | Control Logic |

False | Theory |

False Gate | Logic Gates |

Flip-Flop | Memory Circuits |

Full Adder | Arithmetic Circuits |

GB | See Gigabyte |

GPU | Miscellaneous |

Game Tick | Redstone |

Gigabyte | Theory |

Gray Code | Theory |

Half Adder | Arithmetic Circuits |

Hard-Powered | Redstone |

Hex | See Hexadecimal |

Hexadecimal | Theory |

I/O | See Input // Output |

ICA | See Instant Carry Adder |

IMPLY Gate | Logic Gates |

IO | See Input // Output |

ISA | See Instruction Set Architecture |

Immediate | CPU Components |

Input | Theory |

Instant Carry Adder | Arithmetic Circuits |

Instruction Set Architecture | CPU Components |

Inverter | See Redstone Torch // NOT Gate |

JK Flip-Flop | Memory Circuits |

JK Latch | Memory Circuits |

Jump | CPU Components |

KB | See Kilobyte |

Kilobyte | Theory |

Latch | Memory Circuits |

Level-Triggered | Theory |

Logic Gate | Logic Gates |

MB | See Megabyte |

Math Unit | CPU Components |

Megabyte | Theory |

Multiplexer | Control Logic |

Multiplier | Arithmetic Circuits |

Mux | See Multiplexer |

NAND Gate | Logic Gates |

NIMPLY Gate | Logic Gates |

NOOP | CPU Components |

NOR Gate | Logic Gates |

NOT Gate | Logic Gates |

Nibble | Theory |

OR Gate | Logic Gates |

Octal | Theory |

Off | See False |

On | See True |

One’s Complement | Theory |

One-Hot | Theory |

Output | Theory |

PC | See Program Counter |

PROM | See Program ROM |

Pipelining | CPU Components |

Pipelining Hazard | CPU Components |

Program Counter | CPU Components |

Program ROM | CPU Components |

Pulse Extender | Miscellaneous |

Pulse Generator | Miscellaneous |

RAM | See Random Access Memory |

RAW | See Read After Write Hazard |

RCA | See Ripple-Carry Adder |

ROM | See Read Only Memory |

Random Access Memory | CPU Components |

Read | Memory Circuits |

Read After Write Hazard | CPU Components |

Read Only Memory | Memory Circuits |

Redcoder | Control Logic |

Redstone | See Redstone Dust |

Redstone Comparator | See Comparator |

Redstone Dust | Redstone |

Redstone Repeater | See Repeater |

Redstone Tick | Redstone |

Redstone Torch | See Torch |

Register | CPU Components |

Repeater | Redstone |

Ripple-Carry Adder | Arithmetic Circuits |

SR Flip-Flop | Memory Circuits |

SR Latch | Memory Circuits |

SS | See Signal Strength |

Serial Circuit | Theory |

Signal Strength | Redstone |

Signed Number | Theory |

Soft-Powered | Redstone |

Square Root Extractor | Arithmetic Circuits |

Subtractor | Arithmetic Circuits |

T Flip-Flop | Memory Circuits |

T Latch | Memory Circuits |

TB | See Terabyte |

Target Block | Redstone |

Terabyte | Theory |

Ternary | Theory |

Tick | See Redstone Tick // See Game Tick |

Torch | Redstone |

True | Theory |

True Gate | Logic Gates |

Two’s Complement | Theory |

Unsigned Binary | See Binary |

Unsigned Number | See Binary |

WAR | See Write After Read Hazard |

WAW | See Write After Write Hazard |

Write | Memory Circuits |

Write After Read Hazard | CPU Components |

Write After Write Hazard | CPU Components |

XNOR Gate | Logic Gates |

XOR Gate | Logic Gates |

# Descriptions

## Redstone

**Redstone Dust** - A wire with 16 different signal strengths and 2 on/off states which connects various other components. The signal strength of redstone decays by 1 every block further

**Redstone Torch** - A component which inverts incoming signals

**Redstone Repeater** - A component which extends a binary signal with delay ranging 1-4 redstone ticks. It can also be locked by a powered repeater/comparator at its side

**Comparator** - A component which can perform 2 operations: Compare and Subtract. It has 3 inputs, 2 on the sides and 1 on the back, along with its output. If both sides have a signal the the larger of the 2 is used. Compare mode allows the back signal to pass if it is greater than or equal to the side signal. Subtract mode subtracts the side signal from the back signal. Comparators can also read containers and output a signal proportional to the “fullness”

**Target Block** - A block which redirects redstone towards itself

**Signal Strength** - A signal 0-15 that some redstone components use rather than just on/off

**Soft-Powered** - When a block is powered in a way that a repeater can draw a signal from but redstone dust cannot. This can be achieved by having a powered line of redstone dust connected to a block

**Hard-Powered** - When a block is powered such that both a repeater and redstone dust can draw a signal from it

**Redstone Tick** - A unit of time equal to 2 game ticks which redstone operates with. It is approximately 1/10th of a second

**Game Tick** - A unit of time for Minecraft’s game loop. It is approximately 1/20th of a second

**Computational Redstone** - Redstone circuits in the realm of computer parts

## Theory

**Binary** - A number system where each digit can be either a 0 or 1

**Signed Number** - A binary number system which dedicates around half of all values to negative values

**Ternary** - A number system where each digit can be a number from 0 to 2

**Octal** -A number system where each digit can be a number from 0 to 7

**Decimal** - A number system where each digit can be a number from 0 to 9 (“normal numbers”)

**Hexadecimal** - A number system where each digit can be a number from 0 to 15 (0 to F)

**One-Hot** - A signal where the only valid state is exactly one line being on **Wikipedia**

**Gray Code** - A number system where adjacent numbers (+1 / -1) only differ by 1 bit

**One’s Complement** - I representation of signed numbers where a positive number can be made negative by inverting all bits

**Two’s Complement** - A representation for signed numbers where a positive value can be made negative by inverting all bits, then adding 1. It allows for addition of negative numbers as a method of subtraction without any additional processing

Binary Coded Decimal - An encoding of decimal digits in binary

**True** - The on state of a circuit

**False** - The off state of a circuit

**Input** - A place signals are sent into a circuit

**Output** - A place signals are sent out of a circuit

**Bit Width** - The number of allowed bits in a binary value (a specific value may contain less)

**Bit** - A single binary digit

**Nibble** - 4 binary digits

**Byte** - 8 binary digits

**Kilobyte** - 1,000 bytes

**Megabyte** - 1,000 kilobytes

**Gigabyte** - 1,000 megabytes

**Terabyte** - 1,000 gigabytes

**Edge-Triggered** - A circuit which becomes active as a signal changes from one state to another

**Level-Triggered** - A circuit which becomes active when a signal reaches a predetermined threshold

**Combinational Circuit** - Signals are sent down separate lines

**Serial Circuit** - Signals are sent down a single line, separated sequentially

## Logic Gates

**Logic Gate** - The smallest unit of logic. Typically logic gates have 1 or 2 inputs. Gates aren’t a specific design but rather any design which performs the specified logic mattbatwings YT Video

**True Gate** - A logic gate with a constant on output

**False Gate** - A logic gate with a constant off output

**NOT Gate** - A logic gate where the output is on if the input is off and vice versa

**OR Gate** - A logic gate where the output is on if at least one input is on

**NOR Gate** - A logic gate where the output is on if both inputs are off

**AND Gate** - A logic gate where the output is on if both inputs are on

**NAND Gate** - A logic gate where the output is on if at least one input is off

**XOR Gate** - A logic gate where the output is on if the inputs are different

**XNOR Gate** - A logic gate where the output is on if the inputs are the same

**IMPLY Gate** - A logic gate (A imply B) where the output is off if A is on and B is off

**NIMPLY Gate** - A logic gate (A imply B) where the output is on if A is on and B is off

## Arithmetic Circuits

**Adder** - A circuit which performs addition, typically in Binary mattbatwings YT Video

**Half Adder** - A circuit which adds a pair of 1 bit values

**Full Adder** - A circuit which, if multiple are connected, can add values of any size

**Carry In** - The bit “carried” from the previous bit, similar to carrying when adding on paper

**Carry Out** - The bit “carried” from the next bit, similar to carrying when adding on paper

## Adder Types

**Ripple-Carry Adder** - An adder which is made up of Full Adders such that the Carry Out of one Full Adder leads into the Carry In of the next Full Adder. Named for the way carrying has a propagation delay for each Full Adder Wikipedia

**Instant Carry Adder** - Todo. bennyscube YT Video

**Carry-Lookahead Adder** - An adder which builds on top of RCA by computing each carry separately, avoiding the propagation delay

**Carry Look Everywhere (Adder)** - A Minecraft-optimized version of CLA. bennyscube YT Video

**Carry Cancel Adder** - An adder which uses signal strength and instant diodes to compute all carries at the same time bennyscube YT Video

**Carry-Save Adder** - Todo.

**Subtractor** - A circuit which performs subtraction, typically in Binary

**Borrow Carry Subtractor** - Todo.

**Adder-Subtractor** - A circuit which can switch between addition and subtraction

**Multiplier** - A circuit which performs multiplication, typically in Binary

**Divider** - A circuit which performs division, typically in Binary

**Square Root Extractor** - A circuit which computes the square root of a number, typically in Binary

## Memory Circuits

**Read** - Loading data from memory

**Write** - Saving data to memory

**Address** - A location in memory or a program

**Enable** - If enable is on, then it allows another signal to pass. (i.e. write enable only allows writing to memory if the enable is on)

**Read Only Memory** - Memory which cannot be modified, but can be read

## Flip Flops

**Flip-Flop** - An edge-triggered memory circuit

**SR Flip Flop** - Todo.

**D Flip Flop** - Todo.

**T Flip Flop** - Todo.

**JK Flip Flop** - Todo.

## Latches

**Latch** - A level-triggered memory circuit

**SR Latch** - Todo.

**D Latch** - Todo.

**T Latch** - Todo.

**JK Latch** - Todo.

## Control Logic

**Multiplexer** - A circuit with inputs, an output, and a selection signal. The selection signal chooses which of the inputs reaches the output

**Demultiplexer** - A circuit with an input, outputs, and a selection signal. The selection signal chooses which output receives the input.

**Encoder** - A circuit which turns a one-hot input into a binary output

**Decoder** - A circuit which turns a binary input into a one-hot output

**Redcoder** - A circuit which is similar to a decoder, but the input is signal strength

## CPU Components

**Central Processing Unit** - A turing complete circuit which executes the steps outlined in a program

**Control Unit** - A circuit which decodes the instructions into signals for the various CPU components

**Arithmetic Logic Unit** - A circuit which can perform various arithmetic and logical operations.

**Math Unit** - A dedicated circuit which does various math computations (multiplication, division, square root, etc.)

## Memory

**Register** - Memory directly connected to the ALU’s inputs and outputs

**Dual Read Register** - Registers that allow for 2 to be read at once

**Random Access Memory** - Memory which can be written to/ read from at arbitrary addresses

**Accumulator** - A dedicated register which stores the output of the ALU

**Cache** - Memory which is used to store commonly used data such that when that address is called upon, it can be retrieved from the cache, faster than with RAM

**Pipelining** - When a CPU handles multiple instructions at once, each in a different part of the instruction process

## Pipelining

**Branch Predictor** - A circuit which estimates whether the program will branch to avoid branch hazards

**Pipelining Hazard** - A pitfall which is caused by the pipelining of a CPU

**Read After Write Hazard** - A hazard where two instructions use the same address. A write instruction, but the order is executed in reverse. This means that the read instruction has outdated data that the write instruction was meant to update

**Write After Read Hazard** - A hazard where two instructions use the same address. A write instruction comes after a read instruction, but the order is executed in reverse. This means that the read instruction has newer data instead of the earlier data it needed

**Write After Write Hazard** - A hazard where two write instructions, acting on the same address, are executed in the wrong order

**Branch Misprediction** - When the program chooses to handle a branch differently than what the branch predictor decided

**Instruction Set Architecture** - The set of instructions that can be used when programming the CPU

## Instruction Set

**NOOP** - An instruction that does nothing

**Jump** - An instruction which jumps to another instruction

**Branch** - An instruction which jumps to another instruction if a condition is met

**Immediate** - A value included explicitly in an instruction

**Program ROM** - ROM which holds the program

**Program Counter** - A circuit, including a clock, that keeps track of the current instruction being executed

**Clock** - A circuit which continuously gives signals that are generally evenly spaced

## Miscellaneous

**Bus** - A connection between two components

**Pulse Generator** - A circuit which sends a brief signal when activated

**Pulse Extender** - A circuit which takes in a pulse and outputs a signal that lasts longer

**GPU** - A circuit similar to a CPU which generally has simpler operations and executes instructions on multiple pieces of data at once