Changes

Jump to: navigation, search

CHEOPS

6,075 bytes added, 20:29, 2 June 2018
Created page with "'''Home * Hardware * CHEOPS''' FILE:Kheops-Pyramid.jpg|border|right|thumb|Pyramid of Cheops <ref>[https://en.wikipedia.org/wiki/Great_Pyramid_of_Giza Grea..."
'''[[Main Page|Home]] * [[Hardware]] * CHEOPS'''

[[FILE:Kheops-Pyramid.jpg|border|right|thumb|Pyramid of Cheops <ref>[https://en.wikipedia.org/wiki/Great_Pyramid_of_Giza Great Pyramid of Giza], Photo by [http://no.wikipedia.org/wiki/Bruker:Nina Nina Aldin Thune], March 2005, [https://en.wikipedia.org/wiki/Wikimedia_Commons Wikimedia Commons]</ref> ]]

'''CHEOPS''',<br/>
a '''Che'''ss-'''O'''riented '''P'''rocessing '''S'''ystem with a dedicated chess processor, developed end of the 70s at [[Massachusetts Institute of Technology|MIT]] by [[John Moussouris]], [[Jack Holloway]] and [[Richard Greenblatt]], derived from the original conception and design of a 8x8 hardware chess array instrumented by [[Edward Fredkin]]. CHEOPS was used by [[Alan Baisley|Baisley's]] [[Tech#Tech2|Tech 2]] and a [[Brute-Force|brute force]] version of [[Richard Greenblatt|Greenblatt's]] [[Mac Hack]] <ref>[[John Moussouris]], [[Jack Holloway]], [[Richard Greenblatt]] ('''1979'''). ''[http://portal.acm.org/citation.cfm?id=61701.67028 CHEOPS: A Chess-orientated Processing System]''. [http://www.doc.ic.ac.uk/~shm/MI/mi9.html Machine Intelligence 9], reprinted ('''1988''') in [[Computer Chess Compendium]]</ref>, but unfortunately have never competed in computer chess tournaments with this approach. According to [[Joe Condon]] and [[Ken Thompson]], already working on a chess hardware for [[Belle]], the problem with CHEOPS was the lack of positional [[Evaluation|evaluation]] support <ref>[[Joe Condon]] and [[Ken Thompson]] ('''1982'''). ''Belle Chess Hardware''. [[Advances in Computer Chess 3]], Reprinted ('''1988''') in [[Computer Chess Compendium]]</ref>.

=CHARM=
CHEOPS had all components of a general purpose processor, in addition to a 16-bit [[Combinatorial Logic#ALU|ALU]], it had a powerful '''Ch'''ess '''Ar'''ray '''M'''odule (CHARM), which contains a [[Board Representation|board representation]] and most of the chess specific logic for attack and [[Move Generation|move generation]] including transformation of a [[Piece-Lists|piece-list]] to a hardwired [[Bitboards|bitboard]] and from bitboards to a list of [[Squares|squares]] or [[Move List|moves]]. Like the ALU, CHARM's input is connected via the ABUS with a 1024-word [[Stack|push down list]] (PDL). For example CHARM can accept a record from the PDL of the last move tried from a given [[Chess Position|position]], and generate the next possible move in a specified order. In general, the 8x8 CHARM chess array module is to find a specified subset of [[Legal Move|legal board moves]].

==The Chess arrays==
Each of the 64 squares retains information about the color and type of piece (if any) occupying it. Beside [[Memory|memory]] to keep the board and pieces, the chess array contains the [[Combinatorial Logic|combinatorial logic]] for each square, controlled by various signal lines. It may generate [[Square Attacked By|attacks]] and sets of legal moves to one designated [[Target Square|destination 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 discriminate [[Captures|captures]] from [[Quiet Moves|non-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 a [[Sequential Logic|sequential logic]] to implement the inner loops of typical move generation routines in scanning squares and pieces, in particular it implements the [[Bitboard Serialization|bitboard serialization]] to convert the 64 square output lines from the chess arrays to an internal list of squares. The [[BitScan]] 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 bit [[Memory#RAM|RAM]] control memory. Each micro-instruction consists of four [[Word|16-bit words]]. A cycle time of the machine is about 180 nanoseconds. The remainder of the CHEOPS system consists of a [[PDP-11]] and a time shared [[PDP-10]] which communicate with the special processor through a special bus interface.

=Publications=
* [[John Moussouris]], [[Jack Holloway]], [[Richard Greenblatt]] ('''1979'''). ''[http://portal.acm.org/citation.cfm?id=61701.67028 CHEOPS: A Chess-orientated Processing System]''. [http://www.doc.ic.ac.uk/%7Eshm/MI/mi9.html Machine Intelligence 9], reprinted ('''1988''') in [[Computer Chess Compendium]]

=See also=
* [[Belle]]
* [[Berkeley Chess Microprocessor]]
* [[CXG Sphinx]]
* [[Mac Hack]]
* [[Sfinks]]
* [[Tech#Tech2|Tech 2]]

=Namesakes=
* [[Cheops (Miller)|Cheops]] (CHEss OPponent Simulator) by [[Tristan Miller]] <ref>[http://en.nothingisreal.com/wiki/CHEOPS CHEOPS - nothingisreal.com]</ref>

=External Links=
* [https://en.wikipedia.org/wiki/Khufu Khufu from Wikipedia]
* [https://en.wikipedia.org/wiki/Great_Pyramid_of_Giza Great Pyramid of Giza from Wikipedia]
* [http://www.projekt-cheops.com/plain.aspx?languageId=22&menuId=62&sectionId=230&cmd= Project Cheops]
* [http://home.comcast.net/%7ECheopsGuild/Cheops/Cheops.html Cheops, Pyramid Chess]
* [http://www.chessvariants.com/d.link/pyramid.html Pyramid Chess, a three dimensional chess variant]
* [http://cheops-ng.sourceforge.net/ Cheops-ng]
* [https://en.wikipedia.org/wiki/Jean-Pierre_Houdin Jean-Pierre Houdin] - Cheops Revealed (1 of 4), [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=419GXroRm7Q?rel=0|alignment=left|valignment=top}}

=References=
<references />

'''[[Hardware|Up one Level]]'''

Navigation menu