Curta Model
Considered as a computer, the Curta has registers, an ALU (arithmetic-logic unit), a barrel shifter, and a clock.
Registers | 3 |
Barrel shifter | 1 |
Instructions | 4 |
Clock | 1 per revolution (reversable) |
Registers
Clock
The clock is the operating handle. Each turn of the operating handle is one clock cycle, executes one instruction.
ALU Controls
There are two ALU control bits for the
There is no clear register instruction, but there is an asynchronous register clear operation for the counting register and result register. The clear operation is executed by moving the clearing lever. Either or both registers may be cleared. Also, the registers may be partially cleared, but from complementary directions. That is, the counting register may be cleared from the least-significant direction and the result register from the most significant, or vice versa. The partial clearing operation to be performed must be decided prior to accumulating results in the registers.
Barrel Shifter
The barrel shifter (S) operates on both datapaths, from the setting register to the counting register and from the handle (clock) to the counting register.
Instructions
Handle | Reversing Lever | Counting Register | Result Register |
down | up | CR <- CR + 1*10S-1 | RR <- RR + SR*10S-1 |
down | down | CR <- CR - 1*10S-1 | RR <- RR + SR*10S-1 |
up | up | CR <- CR + 1*10S-1 | RR <- RR - SR*10S-1 |
up | down | CR <- CR - 1*10S-1 | RR <- RR - SR*10S-1 |
Decimal Points
See the DecimalPoints page.
Overflow and Underflow
See the OverFlowUnderFlow page.
Optimizations
See the CurtaOptimizations page.
Curta Algorithms
See the CurtaAlgorithms page.
Some Notation