CHEOPS
CHEOPS,
aChess-OrientedProcessingSystem with a dedicated chess processor, developed end of the 70s atMIT byJohn Moussouris,Jack Holloway andRichard Greenblatt, derived from the original conception and design of a 8x8 hardware chess array instrumented byEdward Fredkin. CHEOPS was used byBaisley'sTech 2 and abrute force version ofGreenblatt'sMac Hack[2], but unfortunately have never competed in computer chess tournaments with this approach. According toJoe Condon andKen Thompson, already working on a chess hardware forBelle, the problem with CHEOPS was the lack of positionalevaluation support[3].
Contents
Block Diagrams
CHARM
CHEOPS had all components of a general purpose processor, in addition to a 16-bitALU, it had a powerfulChessArrayModule (CHARM), which contains aboard representation and most of the chess specific logic for attack andmove generation including transformation of apiece-list to a hardwiredbitboard and from bitboards to a list ofsquares ormoves. Like the ALU, CHARM's input is connected via the ABUS with a 1024-wordpush down list (PDL). For example CHARM can accept a record from the PDL of the last move tried from a givenposition, and generate the next possible move in a specified order. In general, the 8x8 CHARM chess array module is to find a specified subset oflegal board moves.
The Chess arrays
Each of the 64 squares retains information about the color and type of piece (if any) occupying it. Besidememory to keep the board and pieces, the chess array contains thecombinatorial logic for each square, controlled by various signal lines. It may generateattacks and sets of legal moves to one designateddestination square, where the output consists of 64 lines which specify which of the 64 squares contain pieces of the moving color which can capture or move to that destination.
Alternatively, a square can be designated as the originating-area, in which case the 64 lines assert possible destinations for moves from this square, a hardwired move target bitboard. Special control bits can cause the array functions to be more specific or general. It can discriminatecaptures fromnon-capturing moves, or pawn from noble capture, or cause the entire board to be designated as originating or destination area, so that general questions as "any capture possible?" can be answered in a single operation.
The Array module
The array module consists of asequential logic to implement the inner loops of typical move generation routines in scanning squares and pieces, in particular it implements thebitboard serialization to convert the 64 square output lines from the chess arrays to an internal list of squares. TheBitScan hardware has the 64 square lines and a "last square number" register as input, to generate the number of the next active square line.
Micro-Controller
The sequence of ALU and CHARM operations in CHEOPS is determined by a 1K by 64 bitRAM control memory. Each micro-instruction consists of four16-bit words. A cycle time of the machine is about 180 nanoseconds. The remainder of the CHEOPS system consists of aPDP-11 and a time sharedPDP-10 which communicate with the special processor through a special bus interface.
Publications
- John Moussouris,Jack Holloway,Richard Greenblatt (1979).CHEOPS: A Chess-orientated Processing System.Machine Intelligence 9, reprinted (1988) inComputer Chess Compendium
See also
Namesakes
- Cheops (CHEss OPponent Simulator) byTristan Miller[4]
External Links
- PDP-10 software for controlling CHEOPS:CHPROG; CCHEOP 484 hosted byLars Brinkhoff
- CHEOPS microcode source:AGB; CHUCOD 83 hosted byLars Brinkhoff
References
- ↑Great Pyramid of Giza, Photo byNina Aldin Thune, March 2005,Wikimedia Commons
- ↑John Moussouris,Jack Holloway,Richard Greenblatt (1979).CHEOPS: A Chess-orientated Processing System.Machine Intelligence 9, reprinted (1988) inComputer Chess Compendium
- ↑Joe Condon,Ken Thompson (1982).Belle Chess Hardware.Advances in Computer Chess 3, Reprinted (1988) inComputer Chess Compendium
- ↑CHEOPS - nothingisreal.com

