%!PS-Adobe-3.0
%%BoundingBox: (atend)
%%Pages: (atend)
%%PageOrder: (atend)
%%DocumentFonts: (atend)
%%Creator: Frame 4.0
%%DocumentData: Clean7Bit
%%EndComments
%%BeginProlog
%
% Frame ps_prolog 4.0, for use with Frame 4.0 products
% This ps_prolog file is Copyright (c) 1986-1993 Frame Technology
% Corporation. All rights reserved. This ps_prolog file may be
% freely copied and distributed in conjunction with documents created
% using FrameMaker, FrameBuilder and FrameViewer as long as this
% copyright notice is preserved.
%
% Frame products normally print colors as their true color on a color printer
% or as shades of gray, based on luminance, on a black-and white printer. The
% following flag, if set to True, forces all non-white colors to print as pure
% black. This has no effect on bitmap images.
/FMPrintAllColorsAsBlack false def
%
% Frame products can either set their own line screens or use a printer's
% default settings. Three flags below control this separately for no
% separations, spot separations and process separations. If a flag
% is true, then the default printer settings will not be changed. If it is
% false, Frame products will use their own settings from a table based on
% the printer's resolution.
/FMUseDefaultNoSeparationScreen true def
/FMUseDefaultSpotSeparationScreen true def
/FMUseDefaultProcessSeparationScreen false def
%
% For any given PostScript printer resolution, Frame products have two sets of
% screen angles and frequencies for printing process separations, which are
% recomended by Adobe. The following variable chooses the higher frequencies
% when set to true or the lower frequencies when set to false. This is only
% effective if the appropriate FMUseDefault...SeparationScreen flag is false.
/FMUseHighFrequencyScreens true def
%
% PostScript Level 2 printers contain an "Accurate Screens" feature which can
% improve process separation rendering at the expense of compute time. This
% flag is ignored by PostScript Level 1 printers.
/FMUseAcccurateScreens true def
%
% The following PostScript procedure defines the spot function that Frame
% products will use for process separations. You may un-comment-out one of
% the alternative functions below, or use your own.
%
% Dot function
/FMSpotFunction {abs exch abs 2 copy add 1 gt
{1 sub dup mul exch 1 sub dup mul add 1 sub }
{dup mul exch dup mul add 1 exch sub }ifelse } def
%
% Line function
% /FMSpotFunction { pop } def
%
% Elipse function
% /FMSpotFunction { dup 5 mul 8 div mul exch dup mul exch add
% sqrt 1 exch sub } def
%
%
/FMversion (4.0) def
/FMLevel1 /languagelevel where {pop languagelevel} {1} ifelse 2 lt def
/FMPColor
FMLevel1 {
false
/colorimage where {pop pop true} if
} {
true
} ifelse
def
/FrameDict 400 dict def
systemdict /errordict known not {/errordict 10 dict def
errordict /rangecheck {stop} put} if
% The readline in PS 23.0 doesn't recognize cr's as nl's on AppleTalk
FrameDict /tmprangecheck errordict /rangecheck get put
errordict /rangecheck {FrameDict /bug true put} put
FrameDict /bug false put
mark
% Some PS machines read past the CR, so keep the following 3 lines together!
currentfile 5 string readline
00
0000000000
cleartomark
errordict /rangecheck FrameDict /tmprangecheck get put
FrameDict /bug get {
/readline {
/gstring exch def
/gfile exch def
/gindex 0 def
{
gfile read pop
dup 10 eq {exit} if
dup 13 eq {exit} if
gstring exch gindex exch put
/gindex gindex 1 add def
} loop
pop
gstring 0 gindex getinterval true
} bind def
} if
/FMshowpage /showpage load def
/FMquit /quit load def
/FMFAILURE {
dup = flush
FMshowpage
/Helvetica findfont 12 scalefont setfont
72 200 moveto
show FMshowpage
FMquit
} def
/FMVERSION {
FMversion ne {
(Frame product version does not match ps_prolog!) FMFAILURE
} if
} def
/FMBADEPSF {
(PostScript Lang. Ref. Man., 2nd Ed., H.2.4 says EPS must not call X )
dup dup (X) search pop exch pop exch pop length
4 -1 roll
putinterval
FMFAILURE
} def
/FMLOCAL {
FrameDict begin
0 def
end
} def
/concatprocs
{
/proc2 exch cvlit def/proc1 exch cvlit def/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval newproc cvx
}def
FrameDict begin
/FMnone 0 def
/FMcyan 1 def
/FMmagenta 2 def
/FMyellow 3 def
/FMblack 4 def
/FMcustom 5 def
/FrameNegative false def
/FrameSepIs FMnone def
/FrameSepBlack 0 def
/FrameSepYellow 0 def
/FrameSepMagenta 0 def
/FrameSepCyan 0 def
/FrameSepRed 1 def
/FrameSepGreen 1 def
/FrameSepBlue 1 def
/FrameCurGray 1 def
/FrameCurPat null def
/FrameCurColors [ 0 0 0 1 0 0 0 ] def
/FrameColorEpsilon .001 def
/eqepsilon {
sub dup 0 lt {neg} if
FrameColorEpsilon le
} bind def
/FrameCmpColorsCMYK {
2 copy 0 get exch 0 get eqepsilon {
2 copy 1 get exch 1 get eqepsilon {
2 copy 2 get exch 2 get eqepsilon {
3 get exch 3 get eqepsilon
} {pop pop false} ifelse
}{pop pop false} ifelse
} {pop pop false} ifelse
} bind def
/FrameCmpColorsRGB {
2 copy 4 get exch 0 get eqepsilon {
2 copy 5 get exch 1 get eqepsilon {
6 get exch 2 get eqepsilon
}{pop pop false} ifelse
} {pop pop false} ifelse
} bind def
/RGBtoCMYK {
1 exch sub
3 1 roll
1 exch sub
3 1 roll
1 exch sub
3 1 roll
3 copy
2 copy
le { pop } { exch pop } ifelse
2 copy
le { pop } { exch pop } ifelse
dup dup dup
6 1 roll
4 1 roll
7 1 roll
sub
6 1 roll
sub
5 1 roll
sub
4 1 roll
} bind def
/CMYKtoRGB {
dup dup 4 -1 roll add
5 1 roll 3 -1 roll add
4 1 roll add
1 exch sub dup 0 lt {pop 0} if 3 1 roll
1 exch sub dup 0 lt {pop 0} if exch
1 exch sub dup 0 lt {pop 0} if exch
} bind def
/FrameSepInit {
1.0 RealSetgray
} bind def
/FrameSetSepColor {
/FrameSepBlue exch def
/FrameSepGreen exch def
/FrameSepRed exch def
/FrameSepBlack exch def
/FrameSepYellow exch def
/FrameSepMagenta exch def
/FrameSepCyan exch def
/FrameSepIs FMcustom def
setCurrentScreen
} bind def
/FrameSetCyan {
/FrameSepBlue 1.0 def
/FrameSepGreen 1.0 def
/FrameSepRed 0.0 def
/FrameSepBlack 0.0 def
/FrameSepYellow 0.0 def
/FrameSepMagenta 0.0 def
/FrameSepCyan 1.0 def
/FrameSepIs FMcyan def
setCurrentScreen
} bind def
/FrameSetMagenta {
/FrameSepBlue 1.0 def
/FrameSepGreen 0.0 def
/FrameSepRed 1.0 def
/FrameSepBlack 0.0 def
/FrameSepYellow 0.0 def
/FrameSepMagenta 1.0 def
/FrameSepCyan 0.0 def
/FrameSepIs FMmagenta def
setCurrentScreen
} bind def
/FrameSetYellow {
/FrameSepBlue 0.0 def
/FrameSepGreen 1.0 def
/FrameSepRed 1.0 def
/FrameSepBlack 0.0 def
/FrameSepYellow 1.0 def
/FrameSepMagenta 0.0 def
/FrameSepCyan 0.0 def
/FrameSepIs FMyellow def
setCurrentScreen
} bind def
/FrameSetBlack {
/FrameSepBlue 0.0 def
/FrameSepGreen 0.0 def
/FrameSepRed 0.0 def
/FrameSepBlack 1.0 def
/FrameSepYellow 0.0 def
/FrameSepMagenta 0.0 def
/FrameSepCyan 0.0 def
/FrameSepIs FMblack def
setCurrentScreen
} bind def
/FrameNoSep {
/FrameSepIs FMnone def
setCurrentScreen
} bind def
/FrameSetSepColors {
FrameDict begin
[ exch 1 add 1 roll ]
/FrameSepColors
exch def end
} bind def
/FrameColorInSepListCMYK {
FrameSepColors {
exch dup 3 -1 roll
FrameCmpColorsCMYK
{ pop true exit } if
} forall
dup true ne {pop false} if
} bind def
/FrameColorInSepListRGB {
FrameSepColors {
exch dup 3 -1 roll
FrameCmpColorsRGB
{ pop true exit } if
} forall
dup true ne {pop false} if
} bind def
/RealSetgray /setgray load def
/RealSetrgbcolor /setrgbcolor load def
/RealSethsbcolor /sethsbcolor load def
end
/setgray {
FrameDict begin
FrameSepIs FMnone eq
{ RealSetgray }
{
FrameSepIs FMblack eq
{ RealSetgray }
{ FrameSepIs FMcustom eq
FrameSepRed 0 eq and
FrameSepGreen 0 eq and
FrameSepBlue 0 eq and {
RealSetgray
} {
1 RealSetgray pop
} ifelse
} ifelse
} ifelse
end
} bind def
/setrgbcolor {
FrameDict begin
FrameSepIs FMnone eq
{ RealSetrgbcolor }
{
3 copy [ 4 1 roll ]
FrameColorInSepListRGB
{
FrameSepBlue eq exch
FrameSepGreen eq and exch
FrameSepRed eq and
{ 0 } { 1 } ifelse
}
{
FMPColor {
RealSetrgbcolor
currentcmykcolor
} {
RGBtoCMYK
} ifelse
FrameSepIs FMblack eq
{1.0 exch sub 4 1 roll pop pop pop} {
FrameSepIs FMyellow eq
{pop 1.0 exch sub 3 1 roll pop pop} {
FrameSepIs FMmagenta eq
{pop pop 1.0 exch sub exch pop } {
FrameSepIs FMcyan eq
{pop pop pop 1.0 exch sub }
{pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
} ifelse
RealSetgray
}
ifelse
end
} bind def
/sethsbcolor {
FrameDict begin
FrameSepIs FMnone eq
{ RealSethsbcolor }
{
RealSethsbcolor
currentrgbcolor
setrgbcolor
}
ifelse
end
} bind def
FrameDict begin
/setcmykcolor where {
pop /RealSetcmykcolor /setcmykcolor load def
} {
/RealSetcmykcolor {
4 1 roll
3 { 3 index add 0 max 1 min 1 exch sub 3 1 roll} repeat
setrgbcolor pop
} bind def
} ifelse
userdict /setcmykcolor {
FrameDict begin
FrameSepIs FMnone eq
{ RealSetcmykcolor }
{
4 copy [ 5 1 roll ]
FrameColorInSepListCMYK
{
FrameSepBlack eq exch
FrameSepYellow eq and exch
FrameSepMagenta eq and exch
FrameSepCyan eq and
{ 0 } { 1 } ifelse
}
{
FrameSepIs FMblack eq
{1.0 exch sub 4 1 roll pop pop pop} {
FrameSepIs FMyellow eq
{pop 1.0 exch sub 3 1 roll pop pop} {
FrameSepIs FMmagenta eq
{pop pop 1.0 exch sub exch pop } {
FrameSepIs FMcyan eq
{pop pop pop 1.0 exch sub }
{pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
} ifelse
RealSetgray
}
ifelse
end
} bind put
FMLevel1 not {
/patProcDict 5 dict dup begin
<0f1e3c78f0e1c387> { 3 setlinewidth -1 -1 moveto 9 9 lineto stroke
4 -4 moveto 12 4 lineto stroke
-4 4 moveto 4 12 lineto stroke} bind def
<0f87c3e1f0783c1e> { 3 setlinewidth -1 9 moveto 9 -1 lineto stroke
-4 4 moveto 4 -4 lineto stroke
4 12 moveto 12 4 lineto stroke} bind def
<8142241818244281> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
-1 -1 moveto 9 9 lineto stroke } bind def
<03060c183060c081> { 1 setlinewidth -1 -1 moveto 9 9 lineto stroke
4 -4 moveto 12 4 lineto stroke
-4 4 moveto 4 12 lineto stroke} bind def
<8040201008040201> { 1 setlinewidth -1 9 moveto 9 -1 lineto stroke
-4 4 moveto 4 -4 lineto stroke
4 12 moveto 12 4 lineto stroke} bind def
end def
/patDict 15 dict dup begin
/PatternType 1 def
/PaintType 2 def
/TilingType 3 def
/BBox [ 0 0 8 8 ] def
/XStep 8 def
/YStep 8 def
/PaintProc {
begin
patProcDict bstring known {
patProcDict bstring get exec
} {
8 8 true [1 0 0 -1 0 8] bstring imagemask
} ifelse
end
} bind def
end def
} if
/combineColor {
FrameSepIs FMnone eq
{
graymode FMLevel1 or not {
[/Pattern [/DeviceCMYK]] setcolorspace
FrameCurColors 0 4 getinterval aload pop FrameCurPat setcolor
} {
FrameCurColors 3 get 1.0 ge {
FrameCurGray RealSetgray
} {
FMPColor graymode and {
0 1 3 {
FrameCurColors exch get
1 FrameCurGray sub mul
} for
RealSetcmykcolor
} {
4 1 6 {
FrameCurColors exch get
graymode {
1 exch sub 1 FrameCurGray sub mul 1 exch sub
} {
1.0 lt {FrameCurGray} {1} ifelse
} ifelse
} for
RealSetrgbcolor
} ifelse
} ifelse
} ifelse
} {
FrameCurColors 0 4 getinterval aload
FrameColorInSepListCMYK {
FrameSepBlack eq exch
FrameSepYellow eq and exch
FrameSepMagenta eq and exch
FrameSepCyan eq and
FrameSepIs FMcustom eq and
{ FrameCurGray } { 1 } ifelse
} {
FrameSepIs FMblack eq
{FrameCurGray 1.0 exch sub mul 1.0 exch sub 4 1 roll pop pop pop} {
FrameSepIs FMyellow eq
{pop FrameCurGray 1.0 exch sub mul 1.0 exch sub 3 1 roll pop pop} {
FrameSepIs FMmagenta eq
{pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub exch pop } {
FrameSepIs FMcyan eq
{pop pop pop FrameCurGray 1.0 exch sub mul 1.0 exch sub }
{pop pop pop pop 1} ifelse } ifelse } ifelse } ifelse
} ifelse
graymode FMLevel1 or not {
[/Pattern [/DeviceGray]] setcolorspace
FrameCurPat setcolor
} {
graymode not FMLevel1 and {
dup 1 lt {pop FrameCurGray} if
} if
RealSetgray
} ifelse
} ifelse
} bind def
/savematrix {
orgmatrix currentmatrix pop
} bind def
/restorematrix {
orgmatrix setmatrix
} bind def
/dmatrix matrix def
/dpi 72 0 dmatrix defaultmatrix dtransform
dup mul exch dup mul add sqrt def
/freq dpi dup 72 div round dup 0 eq {pop 1} if 8 mul div def
/sangle 1 0 dmatrix defaultmatrix dtransform exch atan def
/dpiranges [ 2540 2400 1693 1270 1200 635 600 0 ] def
/CMLowFreqs [ 100.402 94.8683 89.2289 100.402 94.8683 66.9349 63.2456 47.4342 ] def
/YLowFreqs [ 95.25 90.0 84.65 95.25 90.0 70.5556 66.6667 50.0 ] def
/KLowFreqs [ 89.8026 84.8528 79.8088 89.8026 84.8528 74.8355 70.7107 53.033 ] def
/CLowAngles [ 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 71.5651 ] def
/MLowAngles [ 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 18.4349 ] def
/YLowTDot [ true true false true true false false false ] def
/CMHighFreqs [ 133.87 126.491 133.843 108.503 102.523 100.402 94.8683 63.2456 ] def
/YHighFreqs [ 127.0 120.0 126.975 115.455 109.091 95.25 90.0 60.0 ] def
/KHighFreqs [ 119.737 113.137 119.713 128.289 121.218 89.8026 84.8528 63.6395 ] def
/CHighAngles [ 71.5651 71.5651 71.5651 70.0169 70.0169 71.5651 71.5651 71.5651 ] def
/MHighAngles [ 18.4349 18.4349 18.4349 19.9831 19.9831 18.4349 18.4349 18.4349 ] def
/YHighTDot [ false false true false false true true false ] def
/PatFreq [ 10.5833 10.0 9.4055 10.5833 10.0 10.5833 10.0 9.375 ] def
/screenIndex {
0 1 dpiranges length 1 sub { dup dpiranges exch get 1 sub dpi le {exit} {pop} ifelse } for
} bind def
/getCyanScreen {
FMUseHighFrequencyScreens { CHighAngles CMHighFreqs} {CLowAngles CMLowFreqs} ifelse
screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
} bind def
/getMagentaScreen {
FMUseHighFrequencyScreens { MHighAngles CMHighFreqs } {MLowAngles CMLowFreqs} ifelse
screenIndex dup 3 1 roll get 3 1 roll get /FMSpotFunction load
} bind def
/getYellowScreen {
FMUseHighFrequencyScreens { YHighTDot YHighFreqs} { YLowTDot YLowFreqs } ifelse
screenIndex dup 3 1 roll get 3 1 roll get { 3 div
{2 { 1 add 2 div 3 mul dup floor sub 2 mul 1 sub exch} repeat
FMSpotFunction } } {/FMSpotFunction load } ifelse
0.0 exch
} bind def
/getBlackScreen {
FMUseHighFrequencyScreens { KHighFreqs } { KLowFreqs } ifelse
screenIndex get 45.0 /FMSpotFunction load
} bind def
/getSpotScreen {
getBlackScreen
} bind def
/getCompositeScreen {
getBlackScreen
} bind def
/FMSetScreen
FMLevel1 { /setscreen load
}{ {
8 dict begin
/HalftoneType 1 def
/SpotFunction exch def
/Angle exch def
/Frequency exch def
/AccurateScreens FMUseAcccurateScreens def
currentdict end sethalftone
} bind } ifelse
def
/setDefaultScreen {
FMPColor {
orgrxfer cvx orggxfer cvx orgbxfer cvx orgxfer cvx setcolortransfer
}
{
orgxfer cvx settransfer
} ifelse
orgfreq organgle orgproc cvx setscreen
} bind def
/setCurrentScreen {
FrameSepIs FMnone eq {
FMUseDefaultNoSeparationScreen {
setDefaultScreen
} {
getCompositeScreen FMSetScreen
} ifelse
} {
FrameSepIs FMcustom eq {
FMUseDefaultSpotSeparationScreen {
setDefaultScreen
} {
getSpotScreen FMSetScreen
} ifelse
} {
FMUseDefaultProcessSeparationScreen {
setDefaultScreen
} {
FrameSepIs FMcyan eq {
getCyanScreen FMSetScreen
} {
FrameSepIs FMmagenta eq {
getMagentaScreen FMSetScreen
} {
FrameSepIs FMyellow eq {
getYellowScreen FMSetScreen
} {
getBlackScreen FMSetScreen
} ifelse
} ifelse
} ifelse
} ifelse
} ifelse
} ifelse
} bind def
end
/gstring FMLOCAL
/gfile FMLOCAL
/gindex FMLOCAL
/orgrxfer FMLOCAL
/orggxfer FMLOCAL
/orgbxfer FMLOCAL
/orgxfer FMLOCAL
/orgproc FMLOCAL
/orgrproc FMLOCAL
/orggproc FMLOCAL
/orgbproc FMLOCAL
/organgle FMLOCAL
/orgrangle FMLOCAL
/orggangle FMLOCAL
/orgbangle FMLOCAL
/orgfreq FMLOCAL
/orgrfreq FMLOCAL
/orggfreq FMLOCAL
/orgbfreq FMLOCAL
/yscale FMLOCAL
/xscale FMLOCAL
/edown FMLOCAL
/manualfeed FMLOCAL
/paperheight FMLOCAL
/paperwidth FMLOCAL
/FMDOCUMENT {
array /FMfonts exch def
/#copies exch def
FrameDict begin
0 ne /manualfeed exch def
/paperheight exch def
/paperwidth exch def
0 ne /FrameNegative exch def
0 ne /edown exch def
/yscale exch def
/xscale exch def
FMLevel1 {
manualfeed {setmanualfeed} if
/FMdicttop countdictstack 1 add def
/FMoptop count def
setpapername
manualfeed {true} {papersize} ifelse
{manualpapersize} {false} ifelse
{desperatepapersize} {false} ifelse
{ (Can't select requested paper size for Frame print job!) FMFAILURE } if
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
}
{{1 dict dup /PageSize [paperwidth paperheight]put setpagedevice}stopped
{ (Can't select requested paper size for Frame print job!) FMFAILURE } if
{1 dict dup /ManualFeed manualfeed put setpagedevice } stopped pop }
ifelse
FMPColor {
currentcolorscreen
cvlit /orgproc exch def
/organgle exch def
/orgfreq exch def
cvlit /orgbproc exch def
/orgbangle exch def
/orgbfreq exch def
cvlit /orggproc exch def
/orggangle exch def
/orggfreq exch def
cvlit /orgrproc exch def
/orgrangle exch def
/orgrfreq exch def
currentcolortransfer
FrameNegative {
1 1 4 {
pop { 1 exch sub } concatprocs 4 1 roll
} for
4 copy
setcolortransfer
} if
cvlit /orgxfer exch def
cvlit /orgbxfer exch def
cvlit /orggxfer exch def
cvlit /orgrxfer exch def
} {
currentscreen
cvlit /orgproc exch def
/organgle exch def
/orgfreq exch def
currenttransfer
FrameNegative {
{ 1 exch sub } concatprocs
dup settransfer
} if
cvlit /orgxfer exch def
} ifelse
end
} def
/pagesave FMLOCAL
/orgmatrix FMLOCAL
/landscape FMLOCAL
/pwid FMLOCAL
/FMBEGINPAGE {
FrameDict begin
/pagesave save def
3.86 setmiterlimit
/landscape exch 0 ne def
landscape {
90 rotate 0 exch dup /pwid exch def neg translate pop
}{
pop /pwid exch def
} ifelse
edown { [-1 0 0 1 pwid 0] concat } if
0 0 moveto paperwidth 0 lineto paperwidth paperheight lineto
0 paperheight lineto 0 0 lineto 1 setgray fill
xscale yscale scale
/orgmatrix matrix def
gsave
} def
/FMENDPAGE {
grestore
pagesave restore
end
showpage
} def
/FMFONTDEFINE {
FrameDict begin
findfont
ReEncode
1 index exch
definefont
FMfonts 3 1 roll
put
end
} def
/FMFILLS {
FrameDict begin dup
array /fillvals exch def
dict /patCache exch def
end
} def
/FMFILL {
FrameDict begin
fillvals 3 1 roll put
end
} def
/FMNORMALIZEGRAPHICS {
newpath
0.0 0.0 moveto
1 setlinewidth
0 setlinecap
0 0 0 sethsbcolor
0 setgray
} bind def
/fx FMLOCAL
/fy FMLOCAL
/fh FMLOCAL
/fw FMLOCAL
/llx FMLOCAL
/lly FMLOCAL
/urx FMLOCAL
/ury FMLOCAL
/FMBEGINEPSF {
end
/FMEPSF save def
/showpage {} def
% See Adobe's "PostScript Language Reference Manual, 2nd Edition", page 714.
% "...the following operators MUST NOT be used in an EPS file:" (emphasis ours)
/banddevice {(banddevice) FMBADEPSF} def
/clear {(clear) FMBADEPSF} def
/cleardictstack {(cleardictstack) FMBADEPSF} def
/copypage {(copypage) FMBADEPSF} def
/erasepage {(erasepage) FMBADEPSF} def
/exitserver {(exitserver) FMBADEPSF} def
/framedevice {(framedevice) FMBADEPSF} def
/grestoreall {(grestoreall) FMBADEPSF} def
/initclip {(initclip) FMBADEPSF} def
/initgraphics {(initgraphics) FMBADEPSF} def
/initmatrix {(initmatrix) FMBADEPSF} def
/quit {(quit) FMBADEPSF} def
/renderbands {(renderbands) FMBADEPSF} def
/setglobal {(setglobal) FMBADEPSF} def
/setpagedevice {(setpagedevice) FMBADEPSF} def
/setshared {(setshared) FMBADEPSF} def
/startjob {(startjob) FMBADEPSF} def
/lettertray {(lettertray) FMBADEPSF} def
/letter {(letter) FMBADEPSF} def
/lettersmall {(lettersmall) FMBADEPSF} def
/11x17tray {(11x17tray) FMBADEPSF} def
/11x17 {(11x17) FMBADEPSF} def
/ledgertray {(ledgertray) FMBADEPSF} def
/ledger {(ledger) FMBADEPSF} def
/legaltray {(legaltray) FMBADEPSF} def
/legal {(legal) FMBADEPSF} def
/statementtray {(statementtray) FMBADEPSF} def
/statement {(statement) FMBADEPSF} def
/executivetray {(executivetray) FMBADEPSF} def
/executive {(executive) FMBADEPSF} def
/a3tray {(a3tray) FMBADEPSF} def
/a3 {(a3) FMBADEPSF} def
/a4tray {(a4tray) FMBADEPSF} def
/a4 {(a4) FMBADEPSF} def
/a4small {(a4small) FMBADEPSF} def
/b4tray {(b4tray) FMBADEPSF} def
/b4 {(b4) FMBADEPSF} def
/b5tray {(b5tray) FMBADEPSF} def
/b5 {(b5) FMBADEPSF} def
FMNORMALIZEGRAPHICS
[/fy /fx /fh /fw /ury /urx /lly /llx] {exch def} forall
fx fw 2 div add fy fh 2 div add translate
rotate
fw 2 div neg fh 2 div neg translate
fw urx llx sub div fh ury lly sub div scale
llx neg lly neg translate
/FMdicttop countdictstack 1 add def
/FMoptop count def
} bind def
/FMENDEPSF {
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
FMEPSF restore
FrameDict begin
} bind def
FrameDict begin
/setmanualfeed {
%%BeginFeature *ManualFeed True
statusdict /manualfeed true put
%%EndFeature
} bind def
/max {2 copy lt {exch} if pop} bind def
/min {2 copy gt {exch} if pop} bind def
/inch {72 mul} def
/pagedimen {
paperheight sub abs 16 lt exch
paperwidth sub abs 16 lt and
{/papername exch def} {pop} ifelse
} bind def
/papersizedict FMLOCAL
/setpapername {
/papersizedict 14 dict def
papersizedict begin
/papername /unknown def
/Letter 8.5 inch 11.0 inch pagedimen
/LetterSmall 7.68 inch 10.16 inch pagedimen
/Tabloid 11.0 inch 17.0 inch pagedimen
/Ledger 17.0 inch 11.0 inch pagedimen
/Legal 8.5 inch 14.0 inch pagedimen
/Statement 5.5 inch 8.5 inch pagedimen
/Executive 7.5 inch 10.0 inch pagedimen
/A3 11.69 inch 16.5 inch pagedimen
/A4 8.26 inch 11.69 inch pagedimen
/A4Small 7.47 inch 10.85 inch pagedimen
/B4 10.125 inch 14.33 inch pagedimen
/B5 7.16 inch 10.125 inch pagedimen
end
} bind def
/papersize {
papersizedict begin
/Letter {lettertray letter} def
/LetterSmall {lettertray lettersmall} def
/Tabloid {11x17tray 11x17} def
/Ledger {ledgertray ledger} def
/Legal {legaltray legal} def
/Statement {statementtray statement} def
/Executive {executivetray executive} def
/A3 {a3tray a3} def
/A4 {a4tray a4} def
/A4Small {a4tray a4small} def
/B4 {b4tray b4} def
/B5 {b5tray b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
statusdict begin stopped end
} bind def
/manualpapersize {
papersizedict begin
/Letter {letter} def
/LetterSmall {lettersmall} def
/Tabloid {11x17} def
/Ledger {ledger} def
/Legal {legal} def
/Statement {statement} def
/Executive {executive} def
/A3 {a3} def
/A4 {a4} def
/A4Small {a4small} def
/B4 {b4} def
/B5 {b5} def
/unknown {unknown} def
papersizedict dup papername known {papername} {/unknown} ifelse get
end
stopped
} bind def
/desperatepapersize {
statusdict /setpageparams known
{
paperwidth paperheight 0 1
statusdict begin
{setpageparams} stopped
end
} {true} ifelse
} bind def
/DiacriticEncoding [
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl
/numbersign /dollar /percent /ampersand /quotesingle /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /grave /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar
/braceright /asciitilde /.notdef /Adieresis /Aring /Ccedilla /Eacute
/Ntilde /Odieresis /Udieresis /aacute /agrave /acircumflex /adieresis
/atilde /aring /ccedilla /eacute /egrave /ecircumflex /edieresis
/iacute /igrave /icircumflex /idieresis /ntilde /oacute /ograve
/ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex
/udieresis /dagger /.notdef /cent /sterling /section /bullet
/paragraph /germandbls /registered /copyright /trademark /acute
/dieresis /.notdef /AE /Oslash /.notdef /.notdef /.notdef /.notdef
/yen /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/ordfeminine /ordmasculine /.notdef /ae /oslash /questiondown
/exclamdown /logicalnot /.notdef /florin /.notdef /.notdef
/guillemotleft /guillemotright /ellipsis /.notdef /Agrave /Atilde
/Otilde /OE /oe /endash /emdash /quotedblleft /quotedblright
/quoteleft /quoteright /.notdef /.notdef /ydieresis /Ydieresis
/fraction /currency /guilsinglleft /guilsinglright /fi /fl /daggerdbl
/periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute /Edieresis /Egrave /Iacute
/Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex /.notdef /Ograve
/Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde /macron
/breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
] def
/ReEncode {
dup
length
dict begin
{
1 index /FID ne
{def}
{pop pop} ifelse
} forall
0 eq {/Encoding DiacriticEncoding def} if
currentdict
end
} bind def
FMPColor
{
/BEGINBITMAPCOLOR {
BITMAPCOLOR} def
/BEGINBITMAPCOLORc {
BITMAPCOLORc} def
/BEGINBITMAPTRUECOLOR {
BITMAPTRUECOLOR } def
/BEGINBITMAPTRUECOLORc {
BITMAPTRUECOLORc } def
}
{
/BEGINBITMAPCOLOR {
BITMAPGRAY} def
/BEGINBITMAPCOLORc {
BITMAPGRAYc} def
/BEGINBITMAPTRUECOLOR {
BITMAPTRUEGRAY } def
/BEGINBITMAPTRUECOLORc {
BITMAPTRUEGRAYc } def
}
ifelse
/K {
FMPrintAllColorsAsBlack {
dup 1 eq 2 index 1 eq and 3 index 1 eq and not
{7 {pop} repeat 0 0 0 1 0 0 0} if
} if
FrameCurColors astore
pop combineColor
} bind def
/graymode true def
/bwidth FMLOCAL
/bpside FMLOCAL
/bstring FMLOCAL
/onbits FMLOCAL
/offbits FMLOCAL
/xindex FMLOCAL
/yindex FMLOCAL
/x FMLOCAL
/y FMLOCAL
/setPatternMode {
FMLevel1 {
/bwidth exch def
/bpside exch def
/bstring exch def
/onbits 0 def /offbits 0 def
freq sangle landscape {90 add} if
{/y exch def
/x exch def
/xindex x 1 add 2 div bpside mul cvi def
/yindex y 1 add 2 div bpside mul cvi def
bstring yindex bwidth mul xindex 8 idiv add get
1 7 xindex 8 mod sub bitshift and 0 ne FrameNegative {not} if
{/onbits onbits 1 add def 1}
{/offbits offbits 1 add def 0}
ifelse
}
setscreen
offbits offbits onbits add div FrameNegative {1.0 exch sub} if
/FrameCurGray exch def
} {
pop pop
dup patCache exch known {
patCache exch get
} {
dup
patDict /bstring 3 -1 roll put
patDict
9 PatFreq screenIndex get div dup matrix scale
makepattern
dup
patCache 4 -1 roll 3 -1 roll put
} ifelse
/FrameCurGray 0 def
/FrameCurPat exch def
} ifelse
/graymode false def
combineColor
} bind def
/setGrayScaleMode {
graymode not {
/graymode true def
FMLevel1 {
setCurrentScreen
} if
} if
/FrameCurGray exch def
combineColor
} bind def
/normalize {
transform round exch round exch itransform
} bind def
/dnormalize {
dtransform round exch round exch idtransform
} bind def
/lnormalize {
0 dtransform exch cvi 2 idiv 2 mul 1 add exch idtransform pop
} bind def
/H {
lnormalize setlinewidth
} bind def
/Z {
setlinecap
} bind def
/PFill {
graymode FMLevel1 or not {
gsave 1 setgray eofill grestore
} if
} bind def
/PStroke {
graymode FMLevel1 or not {
gsave 1 setgray stroke grestore
} if
stroke
} bind def
/fillvals FMLOCAL
/X {
fillvals exch get
dup type /stringtype eq
{8 1 setPatternMode}
{setGrayScaleMode}
ifelse
} bind def
/V {
PFill gsave eofill grestore
} bind def
/Vclip {
clip
} bind def
/Vstrk {
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/N {
PStroke
} bind def
/Nclip {
strokepath clip newpath
} bind def
/Nstrk {
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/M {newpath moveto} bind def
/E {lineto} bind def
/D {curveto} bind def
/O {closepath} bind def
/n FMLOCAL
/L {
/n exch def
newpath
normalize
moveto
2 1 n {pop normalize lineto} for
} bind def
/Y {
L
closepath
} bind def
/x1 FMLOCAL
/x2 FMLOCAL
/y1 FMLOCAL
/y2 FMLOCAL
/R {
/y2 exch def
/x2 exch def
/y1 exch def
/x1 exch def
x1 y1
x2 y1
x2 y2
x1 y2
4 Y
} bind def
/rad FMLOCAL
/rarc
{rad
arcto
} bind def
/RR {
/rad exch def
normalize
/y2 exch def
/x2 exch def
normalize
/y1 exch def
/x1 exch def
mark
newpath
{
x1 y1 rad add moveto
x1 y2 x2 y2 rarc
x2 y2 x2 y1 rarc
x2 y1 x1 y1 rarc
x1 y1 x1 y2 rarc
closepath
} stopped {x1 y1 x2 y2 R} if
cleartomark
} bind def
/RRR {
/rad exch def
normalize /y4 exch def /x4 exch def
normalize /y3 exch def /x3 exch def
normalize /y2 exch def /x2 exch def
normalize /y1 exch def /x1 exch def
newpath
normalize moveto
mark
{
x2 y2 x3 y3 rarc
x3 y3 x4 y4 rarc
x4 y4 x1 y1 rarc
x1 y1 x2 y2 rarc
closepath
} stopped
{x1 y1 x2 y2 x3 y3 x4 y4 newpath moveto lineto lineto lineto closepath} if
cleartomark
} bind def
/C {
grestore
gsave
R
clip
setCurrentScreen
} bind def
/CP {
grestore
gsave
Y
clip
setCurrentScreen
} bind def
/FMpointsize FMLOCAL
/F {
FMfonts exch get
FMpointsize scalefont
setfont
} bind def
/Q {
/FMpointsize exch def
F
} bind def
/T {
moveto show
} bind def
/RF {
rotate
0 ne {-1 1 scale} if
} bind def
/TF {
gsave
moveto
RF
show
grestore
} bind def
/P {
moveto
0 32 3 2 roll widthshow
} bind def
/PF {
gsave
moveto
RF
0 32 3 2 roll widthshow
grestore
} bind def
/S {
moveto
0 exch ashow
} bind def
/SF {
gsave
moveto
RF
0 exch ashow
grestore
} bind def
/B {
moveto
0 32 4 2 roll 0 exch awidthshow
} bind def
/BF {
gsave
moveto
RF
0 32 4 2 roll 0 exch awidthshow
grestore
} bind def
/G {
gsave
newpath
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
PFill fill
grestore
} bind def
/Gstrk {
savematrix
newpath
2 index 2 div add exch 3 index 2 div sub exch
normalize 2 index 2 div sub exch 3 index 2 div add exch
translate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/Gclip {
newpath
savematrix
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
clip newpath
restorematrix
} bind def
/GG {
gsave
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
PFill
fill
grestore
} bind def
/GGclip {
savematrix
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
clip newpath
restorematrix
} bind def
/GGstrk {
savematrix
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
restorematrix
currentlinewidth exch setlinewidth PStroke setlinewidth
} bind def
/A {
gsave
savematrix
newpath
2 index 2 div add exch 3 index 2 div sub exch
normalize 2 index 2 div sub exch 3 index 2 div add exch
translate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
PStroke
grestore
} bind def
/Aclip {
newpath
savematrix
normalize translate 0.0 0.0 moveto
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
strokepath clip newpath
restorematrix
} bind def
/Astrk {
Gstrk
} bind def
/AA {
gsave
savematrix
newpath
3 index 2 div add exch 4 index 2 div sub exch
normalize 3 index 2 div sub exch 4 index 2 div add exch
translate
rotate
scale
0.0 0.0 1.0 5 3 roll arc
restorematrix
PStroke
grestore
} bind def
/AAclip {
savematrix
newpath
normalize translate 0.0 0.0 moveto
rotate
dnormalize scale
0.0 0.0 1.0 5 3 roll arc
closepath
strokepath clip newpath
restorematrix
} bind def
/AAstrk {
GGstrk
} bind def
/x FMLOCAL
/y FMLOCAL
/w FMLOCAL
/h FMLOCAL
/xx FMLOCAL
/yy FMLOCAL
/ww FMLOCAL
/hh FMLOCAL
/FMsaveobject FMLOCAL
/FMoptop FMLOCAL
/FMdicttop FMLOCAL
/BEGINPRINTCODE {
/FMdicttop countdictstack 1 add def
/FMoptop count 7 sub def
/FMsaveobject save def
userdict begin
/showpage {} def
FMNORMALIZEGRAPHICS
3 index neg 3 index neg translate
} bind def
/ENDPRINTCODE {
count -1 FMoptop {pop pop} for
countdictstack -1 FMdicttop {pop end} for
FMsaveobject restore
} bind def
/gn {
0
{ 46 mul
cf read pop
32 sub
dup 46 lt {exit} if
46 sub add
} loop
add
} bind def
/str FMLOCAL
/cfs {
/str sl string def
0 1 sl 1 sub {str exch val put} for
str def
} bind def
/ic [
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0223
0
{0 hx} {1 hx} {2 hx} {3 hx} {4 hx} {5 hx} {6 hx} {7 hx} {8 hx} {9 hx}
{10 hx} {11 hx} {12 hx} {13 hx} {14 hx} {15 hx} {16 hx} {17 hx} {18 hx}
{19 hx} {gn hx} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12}
{13} {14} {15} {16} {17} {18} {19} {gn} {0 wh} {1 wh} {2 wh} {3 wh}
{4 wh} {5 wh} {6 wh} {7 wh} {8 wh} {9 wh} {10 wh} {11 wh} {12 wh}
{13 wh} {14 wh} {gn wh} {0 bl} {1 bl} {2 bl} {3 bl} {4 bl} {5 bl} {6 bl}
{7 bl} {8 bl} {9 bl} {10 bl} {11 bl} {12 bl} {13 bl} {14 bl} {gn bl}
{0 fl} {1 fl} {2 fl} {3 fl} {4 fl} {5 fl} {6 fl} {7 fl} {8 fl} {9 fl}
{10 fl} {11 fl} {12 fl} {13 fl} {14 fl} {gn fl}
] def
/sl FMLOCAL
/val FMLOCAL
/ws FMLOCAL
/im FMLOCAL
/bs FMLOCAL
/cs FMLOCAL
/len FMLOCAL
/pos FMLOCAL
/ms {
/sl exch def
/val 255 def
/ws cfs
/im cfs
/val 0 def
/bs cfs
/cs cfs
} bind def
400 ms
/ip {
is
0
cf cs readline pop
{ ic exch get exec
add
} forall
pop
} bind def
/rip {
bis ris copy pop
is
0
cf cs readline pop
{ ic exch get exec
add
} forall
pop pop
ris gis copy pop
dup is exch
cf cs readline pop
{ ic exch get exec
add
} forall
pop pop
gis bis copy pop
dup add is exch
cf cs readline pop
{ ic exch get exec
add
} forall
pop
} bind def
/wh {
/len exch def
/pos exch def
ws 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/bl {
/len exch def
/pos exch def
bs 0 len getinterval im pos len getinterval copy pop
pos len
} bind def
/s1 1 string def
/fl {
/len exch def
/pos exch def
/val cf s1 readhexstring pop 0 get def
pos 1 pos len add 1 sub {im exch val put} for
pos len
} bind def
/hx {
3 copy getinterval
cf exch readhexstring pop pop
} bind def
/h FMLOCAL
/w FMLOCAL
/d FMLOCAL
/lb FMLOCAL
/bitmapsave FMLOCAL
/is FMLOCAL
/cf FMLOCAL
/wbytes {
dup dup
24 eq { pop pop 3 mul }
{ 8 eq {pop} {1 eq {7 add 8 idiv} {3 add 4 idiv} ifelse} ifelse } ifelse
} bind def
/BEGINBITMAPBWc {
1 {} COMMONBITMAPc
} bind def
/BEGINBITMAPGRAYc {
8 {} COMMONBITMAPc
} bind def
/BEGINBITMAP2BITc {
2 {} COMMONBITMAPc
} bind def
/COMMONBITMAPc {
/r exch def
/d exch def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
r
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} image
bitmapsave restore
grestore
} bind def
/BEGINBITMAPBW {
1 {} COMMONBITMAP
} bind def
/BEGINBITMAPGRAY {
8 {} COMMONBITMAP
} bind def
/BEGINBITMAP2BIT {
2 {} COMMONBITMAP
} bind def
/COMMONBITMAP {
/r exch def
/d exch def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
r
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} image
bitmapsave restore
grestore
} bind def
/ngrayt 256 array def
/nredt 256 array def
/nbluet 256 array def
/ngreent 256 array def
/gryt FMLOCAL
/blut FMLOCAL
/grnt FMLOCAL
/redt FMLOCAL
/indx FMLOCAL
/cynu FMLOCAL
/magu FMLOCAL
/yelu FMLOCAL
/k FMLOCAL
/u FMLOCAL
FMLevel1 {
/colorsetup {
currentcolortransfer
/gryt exch def
/blut exch def
/grnt exch def
/redt exch def
0 1 255 {
/indx exch def
/cynu 1 red indx get 255 div sub def
/magu 1 green indx get 255 div sub def
/yelu 1 blue indx get 255 div sub def
/k cynu magu min yelu min def
/u k currentundercolorremoval exec def
% /u 0 def
nredt indx 1 0 cynu u sub max sub redt exec put
ngreent indx 1 0 magu u sub max sub grnt exec put
nbluet indx 1 0 yelu u sub max sub blut exec put
ngrayt indx 1 k currentblackgeneration exec sub gryt exec put
} for
{255 mul cvi nredt exch get}
{255 mul cvi ngreent exch get}
{255 mul cvi nbluet exch get}
{255 mul cvi ngrayt exch get}
setcolortransfer
{pop 0} setundercolorremoval
{} setblackgeneration
} bind def
}
{
/colorSetup2 {
[ /Indexed /DeviceRGB 255
{dup red exch get 255 div
exch dup green exch get 255 div
exch blue exch get 255 div}
] setcolorspace
} bind def
} ifelse
/tran FMLOCAL
/fakecolorsetup {
/tran 256 string def
0 1 255 {/indx exch def
tran indx
red indx get 77 mul
green indx get 151 mul
blue indx get 28 mul
add add 256 idiv put} for
currenttransfer
{255 mul cvi tran exch get 255.0 div}
exch concatprocs settransfer
} bind def
/BITMAPCOLOR {
/d 8 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
FMLevel1 {
colorsetup
/is w d wbytes string def
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{cf is readhexstring pop} {is} {is} true 3 colorimage
} {
colorSetup2
/is w d wbytes string def
/cf currentfile def
7 dict dup begin
/ImageType 1 def
/Width w def
/Height h def
/ImageMatrix [w 0 0 h neg 0 h] def
/DataSource {cf is readhexstring pop} bind def
/BitsPerComponent d def
/Decode [0 255] def
end image
} ifelse
bitmapsave restore
grestore
} bind def
/BITMAPCOLORc {
/d 8 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
FMLevel1 {
colorsetup
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h d [w 0 0 h neg 0 h]
{ip} {is} {is} true 3 colorimage
} {
colorSetup2
/is im 0 lb getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
7 dict dup begin
/ImageType 1 def
/Width w def
/Height h def
/ImageMatrix [w 0 0 h neg 0 h] def
/DataSource {ip} bind def
/BitsPerComponent d def
/Decode [0 255] def
end image
} ifelse
bitmapsave restore
grestore
} bind def
/BITMAPTRUECOLORc {
/d 24 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
/is im 0 lb getinterval def
/ris im 0 w getinterval def
/gis im w w getinterval def
/bis im w 2 mul w getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{w rip pop ris} {gis} {bis} true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPTRUECOLOR {
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
/is w string def
/gis w string def
/bis w string def
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ cf is readhexstring pop }
{ cf gis readhexstring pop }
{ cf bis readhexstring pop }
true 3 colorimage
bitmapsave restore
grestore
} bind def
/BITMAPTRUEGRAYc {
/d 24 def
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/lb w d wbytes def
sl lb lt {lb ms} if
/bitmapsave save def
/is im 0 lb getinterval def
/ris im 0 w getinterval def
/gis im w w getinterval def
/bis im w 2 mul w getinterval def
ws 0 lb getinterval is copy pop
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{w rip pop ris gis bis w gray} image
bitmapsave restore
grestore
} bind def
/ww FMLOCAL
/r FMLOCAL
/g FMLOCAL
/b FMLOCAL
/i FMLOCAL
/gray {
/ww exch def
/b exch def
/g exch def
/r exch def
0 1 ww 1 sub { /i exch def r i get .299 mul g i get .587 mul
b i get .114 mul add add r i 3 -1 roll floor cvi put } for
r
} bind def
/BITMAPTRUEGRAY {
gsave
3 index 2 div add exch
4 index 2 div add exch
translate
rotate
1 index 2 div neg
1 index 2 div neg
translate
scale
/h exch def /w exch def
/bitmapsave save def
/is w string def
/gis w string def
/bis w string def
/cf currentfile def
w h 8 [w 0 0 h neg 0 h]
{ cf is readhexstring pop
cf gis readhexstring pop
cf bis readhexstring pop w gray} image
bitmapsave restore
grestore
} bind def
/BITMAPGRAY {
8 {fakecolorsetup} COMMONBITMAP
} bind def
/BITMAPGRAYc {
8 {fakecolorsetup} COMMONBITMAPc
} bind def
/ENDBITMAP {
} bind def
end
/ALDsave FMLOCAL
/ALDmatrix matrix def ALDmatrix currentmatrix pop
/StartALD {
/ALDsave save def
savematrix
ALDmatrix setmatrix
} bind def
/InALD {
restorematrix
} bind def
/DoneALD {
ALDsave restore
} bind def
/I { setdash } bind def
/J { [] 0 setdash } bind def
%%EndProlog
%%BeginSetup
(4.0) FMVERSION
1 1 0 0 612 792 0 1 21 FMDOCUMENT
0 0 /Times-Roman FMFONTDEFINE
1 0 /Times-Bold FMFONTDEFINE
2 0 /Times-Italic FMFONTDEFINE
3 1 /Symbol FMFONTDEFINE
32 FMFILLS
0 0 FMFILL
1 0.1 FMFILL
2 0.3 FMFILL
3 0.5 FMFILL
4 0.7 FMFILL
5 0.9 FMFILL
6 0.97 FMFILL
7 1 FMFILL
8 <0f1e3c78f0e1c387> FMFILL
9 <0f87c3e1f0783c1e> FMFILL
10 FMFILL
11 FMFILL
12 <8142241818244281> FMFILL
13 <03060c183060c081> FMFILL
14 <8040201008040201> FMFILL
16 1 FMFILL
17 0.9 FMFILL
18 0.7 FMFILL
19 0.5 FMFILL
20 0.3 FMFILL
21 0.1 FMFILL
22 0.03 FMFILL
23 0 FMFILL
24 FMFILL
25 FMFILL
26 <3333333333333333> FMFILL
27 <0000ffff0000ffff> FMFILL
28 <7ebddbe7e7dbbd7e> FMFILL
29 FMFILL
30 <7fbfdfeff7fbfdfe> FMFILL
%%EndSetup
%%Page: "1" 1
%%BeginPaperSize: Letter
%%EndPaperSize
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
J
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(1) 303 36 T
72 72 540 720 R
7 X
V
1 24 Q
0 X
(Two Types Of Mechanical Reversible Logic) 72 704 T
0 14 Q
(by) 72 670.67 T
0 18 Q
(Ralph C. Merkle) 72 632 T
(Xerox PARC) 72 612 T
(3333 Coyote Hill Road) 72 592 T
(Palo Alto, CA 94304) 72 572 T
(merkle@xerox.com) 72 552 T
(ftp://parcftp.xerox.com/pub/merkle/merklesHomePage.html) 72 532 T
0 12 Q
(Copyright 1990 by Xerox Corporation.) 72 502 T
(All Rights Reserved.) 72 488 T
(This article was published in) 72 474 T
2 F
(Nanotechnology) 212.99 474 T
0 F
(, Volume 4, 1993, pages 114 through 131.) 291.65 474 T
(This version differs in minor respects from the published version.) 72 460 T
2 F
-0.22 (Nanotechnology) 72 432 P
0 F
-0.22 (, published by IOP \050the Institute of Physics\051, is available to individual subscribers) 150.66 432 P
0.11 (in the US for a subscription rate of $111 U.S. dollars; \050or 45 British pounds in the EC, 54 pounds) 72 418 P
3.57 (outside the EC, as of 1994\051. Subscription and other information is available from ftp://) 72 404 P
-0.74 (parcftp.xerox.com/pub/nano/IOP.html, or fax IOP at 516-349-7669 \050Europe: 0272 294318; Tokyo,) 72 390 P
(Japan 278 1937\051.) 72 376 T
1 14 Q
(Abstract) 72 344.67 T
0 12 Q
-0.27 (Molecular mechanical logic devices have been proposed as a method of eventually achieving very) 72 310 P
0.61 (small size \050device volumes of a few cubic nanometers\051 and thus of achieving very high packing) 72 296 P
0.03 (densities. However, the heat generated by mole quantities of molecular mechanical logic devices) 72 282 P
-0.22 (packed into a small volume can be a major problem. Previous mechanical logic devices \050in which) 72 268 P
0.7 (the logic gates in a digital system are implemented using mechanical components\051 required that) 72 254 P
0.03 (some part slide or rotate past another part, resulting in friction and heat generation when the parts) 72 240 P
0.57 (move. This is not an inherent requirement in the operation of mechanical logic. This paper de-) 72 226 P
0.09 (scribes two types of mechanical reversible logic which eliminate sliding contact. In the first type) 72 212 P
0.22 (contact between parts, when it does occur, involves only pressure. In the second, all contact be-) 72 198 P
1.16 (tween parts is eliminated. The entire computation could in principle be performed by a single) 72 184 P
0.49 (block of complexly shaped oscillating elastic material. The state of the computation is stored in) 72 170 P
-0.12 (the elastic deformations of this single block. If the material is perfectly elastic, the resulting com-) 72 156 P
0.5 (puter will dissipate no energy. Real material moving sufficiently slowly can approximate a per-) 72 142 P
1.05 (fectly elastic material as closely as desired. In real materials, energy dissipation occurs during) 72 128 P
0.51 (successive cycles of compression and decompression of the material much as energy dissipation) 72 114 P
1.29 (occurs when a gas is compressed by a piston. However, at sufficiently low temperatures, this) 72 100 P
0.71 (mechanism of energy dissipation might no longer be operative. It is not impossible that energy) 72 86 P
FMENDPAGE
%%EndPage: "1" 1
%%Page: "2" 2
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(2) 303 36 T
72 72 540 720 R
7 X
V
0 X
0.65 (dissipation can be made to fall exponentially as both temperature and speed of operation are re-) 72 712 P
(duced.) 72 698 T
1 14 Q
(Brief Intr) 72 662.67 T
(oduction to Reversible Logic) 129.68 662.67 T
0 12 Q
0.17 (In a conventional computer the logical state of the system at time t \050denoted S) 72 636 P
0 8 Q
0.11 (t) 448.29 633.5 P
0 12 Q
0.17 (\051 will uniquely de-) 450.51 636 P
0.35 (termine the state of the system at time t+1. If the function F maps the system state onto the suc-) 72 620.83 P
0.25 (cessor state, then S) 72 606.83 P
0 8 Q
0.17 (t+1) 164.06 604.33 P
0 12 Q
0.25 ( = F\050S) 174.8 606.83 P
0 8 Q
0.17 (t) 205.4 604.33 P
0 12 Q
0.25 (\051. The requirement that the successor of a state be unique can be ex-) 207.63 606.83 P
-0.28 (pressed as: if F\050S) 72 591.67 P
0 8 Q
-0.19 (t) 156.85 589.17 P
0 12 Q
-0.28 (\051) 159.08 591.67 P
3 F
-0.28 (\271) 163.07 591.67 P
0 F
-0.28 (F\050S\325) 169.66 591.67 P
0 8 Q
-0.19 (t) 191 589.17 P
0 12 Q
-0.28 (\051, then S) 193.22 591.67 P
0 8 Q
-0.19 (t) 232.98 589.17 P
3 12 Q
-0.28 (\271) 237.92 591.67 P
0 F
-0.28 ( S\325) 244.51 591.67 P
0 8 Q
-0.19 (t) 257.89 589.17 P
0 12 Q
-0.28 (. In a logically reversible system, the state of the system at) 260.12 591.67 P
0.71 (time t will uniquely determine the state of the system at both time t-1 and t+1. This can be ex-) 72 576.5 P
0.55 (pressed as: if F\050S) 72 561.17 P
0 8 Q
0.37 (t) 163.74 558.67 P
0 12 Q
0.55 (\051) 165.96 561.17 P
3 F
0.55 (\271) 169.96 561.17 P
0 F
0.55 (F\050S\325) 176.55 561.17 P
0 8 Q
0.37 (t) 197.88 558.67 P
0 12 Q
0.55 (\051, then S) 200.11 561.17 P
0 8 Q
0.37 (t) 241.54 558.67 P
3 12 Q
0.55 (\271) 247.31 561.17 P
0 F
0.55 ( S\325) 253.9 561.17 P
0 8 Q
0.37 (t) 268.12 558.67 P
2 12 Q
0.55 (and) 273.89 561.17 P
0 F
0.55 ( if F) 291.89 561.17 P
0 8 Q
0.37 (-1) 312.99 565.17 P
0 12 Q
0.55 (\050S) 319.66 561.17 P
0 8 Q
0.37 (t) 330.33 558.67 P
0 12 Q
0.55 (\051) 332.55 561.17 P
3 F
0.55 (\271) 336.55 561.17 P
0 F
0.55 (F) 343.13 561.17 P
0 8 Q
0.37 (-1) 349.81 565.17 P
0 12 Q
0.55 (\050S\325) 356.47 561.17 P
0 8 Q
0.37 (t) 371.13 558.67 P
0 12 Q
0.55 (\051, then S) 373.36 561.17 P
0 8 Q
0.37 (t) 414.79 558.67 P
3 12 Q
0.55 (\271) 420.56 561.17 P
0 F
0.55 ( S\325) 427.15 561.17 P
0 8 Q
0.37 (t) 441.37 558.67 P
0 12 Q
0.55 (. By contrast, in an) 443.59 561.17 P
-0 (irreversible system it will sometimes be the case that F) 72 544.67 P
0 8 Q
-0 (-1) 334.96 548.67 P
0 12 Q
-0 (\050S) 341.63 544.67 P
0 8 Q
-0 (t) 352.29 542.17 P
0 12 Q
-0 (\051) 354.52 544.67 P
3 F
-0 (\271) 358.51 544.67 P
0 F
-0 (F) 365.1 544.67 P
0 8 Q
-0 (-1) 371.77 548.67 P
0 12 Q
-0 (\050S\325) 378.44 544.67 P
0 8 Q
-0 (t) 393.1 542.17 P
0 12 Q
-0 (\051 and S) 395.33 544.67 P
0 8 Q
-0 (t) 429.32 542.17 P
3 12 Q
-0 (=) 434.54 544.67 P
0 F
-0 ( S\325) 441.13 544.67 P
0 8 Q
-0 (t) 454.79 542.17 P
0 12 Q
-0 (. That is, a given) 457.02 544.67 P
(state might have two distinct and different predecessor states.) 72 529.5 T
0.11 (The laws of physics are fully reversible at the microscopic scale, and so a physical system imple-) 72 503.5 P
0.72 (menting a logically irreversible system is faced with a problem: when the logically irreversible) 72 489.5 P
0.13 (system maps two logical states onto a single result state, the physical system must somehow map) 72 475.5 P
-0.22 (two physical states onto a single result state, as well. This, of course, is impossible \050for the under-) 72 461.5 P
-0.55 (lying laws of physics are reversible, and hence the physical system is reversible\051, and so something) 72 447.5 P
(has to give.) 72 433.5 T
-0.49 (In today\325s computational systems, a single logical state will be represented not by a single physical) 72 407.5 P
-0.54 (state, but by any one of several possible physical states \050which differ from each other in only trivial) 72 393.5 P
-0.38 (ways\051. We can rephrase this by saying that each logical state of the system is represented by a cer-) 72 379.5 P
-0.07 (tain volume of phase space, e.g., by a certain range of possible physical states. When we perform) 72 365.5 P
0.21 (a logically irreversible operation and merge logical states, we must either compress the represen-) 72 351.5 P
0.25 (tation in phase space or increase the volume of phase space that represents a logical state. If we) 72 337.5 P
1.01 (ban indefinite growth in phase space then we are forced \050at some point\051 to compress the phase) 72 323.5 P
0.57 (space representation of the logical state. Phase space, however, is incompressible \050which corre-) 72 309.5 P
-0.02 (sponds to the statement that merging two physical states is impossible, for the laws of physics are) 72 295.5 P
0.82 (reversible\051. As a consequence, irreversible operations force an increase in the volume of phase) 72 281.5 P
0.25 (space occupied by the system. However, if the allowed computational degrees of freedom in the) 72 267.5 P
-0.66 (system are not allowed to expand, then this increase in phase space must take place in the non-com-) 72 253.5 P
(putational degrees of freedom, e.g., waste heat.) 72 239.5 T
0.34 (Because mapping two logical states onto a single output state effectively erases a bit of informa-) 72 213.5 P
0.45 (tion, the fact that irreversible logic must dissipate heat can also be stated as: erasing information) 72 199.5 P
-0.18 (must dissipate heat. Erasing a single bit of information generates at least ln\0502\051 x) 72 185.5 P
2 F
-0.18 (kT) 457.89 185.5 P
0 F
-0.18 ( joules of heat.) 469.89 185.5 P
-0.57 (By contrast a logically reversible system can be mapped onto the reversible physical world without) 72 159.5 P
0.05 (the mismatch that occurs with logically irreversible systems. There is no need to compress phase) 72 145.5 P
-0.15 (space, and the mapping between logical and physical representations need not perform a basically) 72 131.5 P
-0.33 (non-physical act, e.g., the erasure of information. As a consequence, there is no fundamental need) 72 117.5 P
(to dissipate heat during the course of a computation.) 72 103.5 T
0.12 (This discussion of reversible logic has been given in terms of a computing system, rather than in) 72 77.5 P
FMENDPAGE
%%EndPage: "2" 2
%%Page: "3" 3
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(3) 303 36 T
72 72 540 720 R
7 X
V
0 X
0.36 (terms of individual logic elements. This avoids a problem which can cause confusion: one and) 72 712 P
-0.14 (the same logic element can be viewed as either reversible or as irreversible, depending on the sys-) 72 698 P
0.73 (tem context in which it is used. For example, AND gates are often cited as \322irreversible\323 logic) 72 684 P
-0.15 (devices. As commonly implemented and used, AND gates are indeed irreversible. However, it is) 72 670 P
0.15 (possible to use some types of AND gates in a reversible fashion. All we need to do is insure that) 72 656 P
0.32 (the operation of the AND gate takes place in a system context which does not erase information.) 72 642 P
-0.11 (If the two inputs to an AND gate are erased following computation of the result then we must dis-) 72 628 P
0.46 (sipate heat. If, however, the two inputs are) 72 614 P
2 F
0.46 (not) 286.07 614 P
0 F
0.46 ( erased, then we have) 301.4 614 P
2 F
0.46 (not) 409.65 614 P
0 F
0.46 ( erased any information) 424.99 614 P
(and the computation need not be irreversible nor fundamentally dissipative.) 72 600 T
-0.2 (This is a general principle: any irreversible combinational function F can be embedded in a larger) 72 574 P
-0.68 (reversible function F\325. We might define F\325 as: F\325\050x\051 = . The new function F\325 simply com-) 72 560 P
-0.39 (putes F and then concatenate the input x onto the output, insuring that we have not erased informa-) 72 546 P
0.32 (tion. We could, if convenient, retain even more information. If, during the course of computing) 72 532 P
0.12 (F, we happen to compute various intermediate results i) 72 518 P
0 8 Q
0.08 (0) 335.94 515.5 P
0 12 Q
0.12 (, i) 339.94 518 P
0 8 Q
0.08 (1) 349.4 515.5 P
0 12 Q
0.12 (, ... i) 353.4 518 P
0 8 Q
0.08 (n) 374.98 515.5 P
0 12 Q
0.12 (, then we could retain these inter-) 378.98 518 P
0.08 (mediate results as well. We could define F\323 = . F\323 is also reversible, and by) 362.95 502.83 P
(keeping the additional information its implementation might be simplified.) 72 487.67 T
-0.11 (As a consequence it is possible \050in the proper context\051 to use AND and OR operations in a revers-) 72 461.67 P
0.32 (ible computation. The physical instantiation of such a logical computation can be done in a way) 72 447.67 P
-0.69 (which preserves local reversibility and is asymptotically nondissipative. Later in this paper we will) 72 433.67 P
-0.61 (sometimes compute irreversible functions F in a manner which is logically and thermodynamically) 72 419.67 P
0.03 (reversible. The actual implementation is done by retaining the intermediate values of the compu-) 72 405.67 P
0.04 (tation, as well as the input. This insures logical reversibility. In actual fact, the computation of F) 72 391.67 P
(has been embedded in the computation of F\323, where F\323 is logically reversible.) 72 377.67 T
-0.54 (In summary, reversible computations are consistent with the basic laws of physics at a microscopic) 72 351.67 P
0.51 (scale, while irreversible computations are in some sense fundamentally incompatible. The price) 72 337.67 P
-0.01 (we must pay for this incompatibility is heat. If we don\325t want to pay the price then we must learn) 72 323.67 P
-0.13 (to compute in harmony with the natural laws of physics, e.g., we must learn how to design revers-) 72 309.67 P
(ible computers.) 72 295.67 T
1 14 Q
(Mechanical Computation) 72 268.33 T
0 12 Q
0.39 (The earliest example of a mechanical computer is Babbage\325s Analytical Engine[1, 30]. This de-) 72 241.67 P
-0.08 (vice, had it been built, would have carried out the functions of a rather conventional computer but) 72 227.67 P
0.28 (would have done so mechanically. Remarkably, it was designed in the early 1800\325s. A working) 72 213.67 P
-0.47 (model of the simpler Difference Engine No. 2 was recently built by the British Museum of Science) 72 199.67 P
-0.02 (from Babbage\325s original blueprints using parts that would have been available in the 1800\325s, both) 72 185.67 P
(in terms of the materials used and the precision of the milling[31].) 72 171.67 T
-0.41 (A more recent reason for interest in mechanical logic has been that several proposals for reversible) 72 145.67 P
1.92 (computation were basically mechanical in nature[11]. Two mechanical designs that are well) 72 131.67 P
-0.38 (known in the reversible logic community are Fredkins \322billiard ball\323 model of computation[7] and) 72 117.67 P
0.52 (Bennett\325s \322Brownian Clockwork Turing Machine\323[3, 8]. Drexler\325s \322rod logic\323 also implements) 72 103.67 P
0.69 (combinational logic in a reversible manner[2]. In the billiard ball model, billiard balls are fired) 72 89.67 P
FMENDPAGE
%%EndPage: "3" 3
%%Page: "4" 4
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(4) 303 36 T
72 72 540 720 R
7 X
V
0 X
-0.64 (into the computer and their ballistic trajectory) 72 710.67 P
3 14 Q
-0.75 (-) 290.85 710.67 P
0 12 Q
-0.64 ( they bounce off each other and off fixed \322mirrors\323) 298.53 710.67 P
3 14 Q
0.44 (-) 72 694.67 P
0 12 Q
0.38 ( defines an arbitrary reversible computation. This is an example of a computation which dissi-) 79.69 694.67 P
(pates as little energy as desired while rapidly computing an answer.) 72 680 T
-0.3 (In the clockwork Turing machine, the state of the computation can \322drift\323 either forwards or back-) 72 654 P
-0.16 (wards, subject to a small \322driving force.\323 The energy dissipation can be made arbitrarily small by) 72 640 P
0.98 (making the driving force smaller and smaller, though at the cost of reducing the computational) 72 626 P
(speed.) 72 612 T
-0.28 (More recently there has been interest in mechanical logic devices because \050a\051 it should be possible) 72 586 P
-0.19 (to scale them to the molecular size range, \050b\051 at such sizes the speed of operation becomes reason-) 72 572 P
-0.74 (able \050sub nanosecond switching times\051 and \050c\051 analyzing molecular mechanical logic devices is rel-) 72 558 P
-0.43 (atively simple \050an important point when the devices can\325t yet be built\051[2, 18]. Further, it should be) 72 544 P
0.68 (possible to make molecular mechanical devices that are much smaller than molecular electronic) 72 530 P
0.08 (devices \050though the ultimate speed of operation of molecular mechanical devices will almost cer-) 72 516 P
(tainly be slower than that of molecular electronic devices\051.) 72 502 T
1 14 Q
(Trends in Energy Dissipation) 72 474.67 T
0 12 Q
0.31 (Whether mechanical, electronic, electromechanical, or whatever; the trends in energy dissipation) 72 448 P
0.17 (will drive computer hardware ever more strongly towards the use of reversible computation. For) 72 434 P
-0.24 (the last 50 years the energy dissipation per gate operation has been declining with remarkable reg-) 72 420 P
0.06 (ularity[6]. Extrapolation of this trend shows the energy dissipation per device operation reaching) 72 406 P
2 F
0.25 (kT) 72 392 P
0 F
0.25 ( \050where) 84 392 P
2 F
0.25 (k) 123.8 392 P
0 F
0.25 ( is Boltzmann\325s constant and) 129.13 392 P
2 F
0.25 (T) 272.01 392 P
0 F
0.25 ( is the temperature in Kelvin\051 by the year 2015. \050This) 278.68 392 P
(assumes that) 72 378 T
2 F
(T) 136 378 T
0 F
(is 300 Kelvin) 145.67 378 T
3 F
(-) 213.34 378 T
0 F
( more on this later\051.) 219.92 378 T
0.42 (To gain some perspective on this consider that an \322AND\323 gate which has a power supply of one) 72 352 P
-0.37 (volt and which allows a single electron to go from that one volt supply to ground during the course) 72 338 P
-0.41 (of a switching operation, will dissipate one electron volt. Although one electron volt is about forty) 72 324 P
-0.18 (times) 72 310 P
2 F
-0.18 ( kT) 98 310 P
0 F
-0.18 ( \050and well above the theoretical limit\051, it will be difficult for simple improvements of cur-) 112.82 310 P
-0.42 (rent devices to reach even this level of energy dissipation. Extrapolating present trends, we should) 72 296 P
(reach forty) 72 282 T
2 F
(kT) 127.31 282 T
0 F
( between the year 2000 and 2010, e.g., within ten to twenty years.) 139.31 282 T
-0.5 (As a consequence, we can state quite confidently that one of three things will occur: \050a\051 the historic) 72 256 P
0.1 (rate of decreasing energy dissipation per device operation will slow or halt in the next one or two) 72 242 P
-0.28 (decades or \050b\051 we will operate computers at lower temperatures or \050c\051 we will develop new, novel,) 72 228 P
(reversible computer systems that can beat the) 72 214 T
2 F
(kT) 292.96 214 T
0 F
( barrier.) 304.96 214 T
-0.43 (The first option is quite unattractive. The heroic cooling methods used in the Cray 3 supercomput-) 72 188 P
0.12 (er to remove the heat generated by the computer\325s operation suggest that failure to reduce energy) 72 174 P
0.67 (dissipation per gate operation would be a major limiting factor in future computer performance.) 72 160 P
-0.29 (Further, although the raw cost of electrical power is not yet a major limitation, it would become so) 72 146 P
-0.61 (in the future if reductions in energy dissipation did not keep pace with advances in other areas. The) 72 132 P
-0.16 (Wall Street Journal[37] said \322Computer systems currently account for 5% of commercial electric-) 72 118 P
(ity use in the U.S., with the potential to grow to 10% by the year 2000.\323) 72 104 T
0.49 (The second option will not reduce overall energy dissipation. If we operated future devices at 3) 72 78 P
FMENDPAGE
%%EndPage: "4" 4
%%Page: "5" 5
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(5) 303 36 T
72 72 540 720 R
7 X
V
0 X
-0.77 (Kelvin we could reduce energy dissipation by a factor of 100) 72 712 P
3 F
-0.77 (-) 359.84 712 P
0 F
-0.77 ( but for fundamental thermodynamic) 366.42 712 P
0.3 (reasons the coefficient of performance of the refrigerator for the system can be at best 3K/\050300K) 72 698 P
3 F
0.18 (-) 72 684 P
0 F
0.18 ( 3K) 78.59 684 P
3 F
0.18 (\051 \273) 96.43 684 P
0 F
0.18 ( 0.01[20]. Thus, the lower energy required per gate operation will be balanced by the in-) 110.2 684 P
0.29 (creased energy needed by the refrigerator. Further, in many applications low temperature opera-) 72 670 P
0.02 (tion is not an option. The use of liquid nitrogen in laptop computers or many embedded applica-) 72 656 P
-0.04 (tions is not attractive. However, factors other than net energy savings can make low temperature) 72 642 P
0.37 (operation worthwhile. Some potentially attractive devices don\325t operate at higher temperatures:) 72 628 P
-0.19 (they have to be refrigerated or they don\325t work. A large mainframe computer made from such de-) 72 614 P
-0.11 (vices and operated at a low temperature might be the most economical method of delivering com-) 72 600 P
(putational power in some cases. Refrigeration) 72 586 T
2 F
(per se) 297.96 586 T
0 F
(, however, does not seem too attractive.) 326.95 586 T
0 (Finally, and most attractively, we could develop reversible logic devices. Such devices would, in) 72 560 P
0.7 (theory, allow energy dissipations indefinitely below) 72 546 P
2 F
0.7 (kT) 328.5 546 P
0 F
0.7 ( per logic operation. While) 340.5 546 P
2 F
0.7 (some) 479.66 546 P
0 F
0.7 ( barrier) 504.32 546 P
0.18 (will likely eventually be encountered, the use of reversible logic should allow us to continue cur-) 72 532 P
-0.4 (rent trends in energy dissipation per logic operation for the longest possible time. Further research) 72 518 P
-0.23 (in this area is the most appropriate response to the rather limited range of possibilities that face us.) 72 504 P
1 14 Q
(Reversible Computer Architectures) 72 476.67 T
0 12 Q
-0.25 (One problem is the need to develop novel \322reversible\323 computer architectures. Such architectures) 72 450 P
-0.64 (have been discussed elsewhere[6, 7, 8, 11, 15, 25, 27]. A wide variety of computations can be done) 72 436 P
0.32 (in a reversible manner. Bennett[15] concluded: \322...for any) 72 422 P
3 F
0.32 (e) 361.75 422 P
0 F
0.32 ( > 0, ordinary multitape Turing ma-) 367.02 422 P
-0.06 (chines using time) 72 404.53 P
2 F
-0.06 (T) 158.82 404.53 P
0 F
-0.06 ( and space) 165.5 404.53 P
2 F
-0.06 (S) 218.3 404.53 P
0 F
-0.06 ( can be simulated by reversible ones using time O\050) 224.3 404.53 P
2 F
-0.06 (T) 466.74 404.53 P
0 8 Q
-0.04 (1+) 473.41 408.53 P
3 9.6 Q
-0.05 (e) 481.93 409.33 P
0 12 Q
-0.06 (\051 and space) 486.14 404.53 P
0.17 (O\050) 72 387.07 P
2 F
0.17 (S) 84.66 387.07 P
0 F
0.17 ( log) 90.66 387.07 P
2 F
0.17 (T) 112.33 387.07 P
0 F
0.17 (\051 or in linear time and space O\050) 119 387.07 P
2 F
0.17 (ST) 269.81 387.07 P
3 9.6 Q
0.14 (e) 282.48 391.87 P
0 12 Q
0.17 (\051.\323 Even if we do not adopt new and novel computer) 286.7 387.07 P
0.13 (architectures, simple applications of reversible computation could be made within the framework) 72 373.07 P
-0.61 (of existing architectures. A typical computer executes a sequence of instructions, and each instruc-) 72 359.07 P
-0.31 (tion will typically change the contents of a single register or memory operation. Although loading) 72 345.07 P
0.74 (the result of the instruction into a register will normally be irreversible \050it destroys the previous) 72 331.07 P
-0.17 (contents of the register\051 it is still the case that all) 72 317.07 P
2 F
-0.17 (other) 305.75 317.07 P
0 F
-0.17 ( operations performed by the computer dur-) 331.08 317.07 P
-0.11 (ing instruction execution could in principle be made reversible. Thus, although we would have to) 72 303.07 P
0.58 (dissipate roughly) 72 289.07 P
2 F
0.58 (kT) 158.5 289.07 P
0 F
0.58 ( energy for each bit in the output register for each instruction execution, we) 170.5 289.07 P
(need not use energy-dissipative logic devices throughout the computer.) 72 275.07 T
0 (W) 72 249.07 P
0 (e can go one step further without making any changes in computer architecture: the simple reg-) 82.37 249.07 P
-0.25 (ister) 72 235.07 P
-0.25 (-register add instruction R1 = R1 + R2 is logically reversible. W) 92.42 235.07 P
-0.25 (ith proper hardware, this par-) 400.73 235.07 P
0.95 (ticular instruction could in principle be made to dissipate as little ener) 72 221.07 P
0.95 (gy as we desired. While) 417.25 221.07 P
-0.3 (irreversible instructions \050e.g., R1 = 0\051 would still dissipate greater ener) 72 207.07 P
-0.3 (gy) 408.54 207.07 P
-0.3 (, the overall ener) 419.76 207.07 P
-0.3 (gy dissi-) 499.29 207.07 P
0.53 (pation of the computer could be reduced signi\336cantly if a reversible system were developed and) 72 193.07 P
-0.05 (used to implement the reversible instructions. Of course, once the ener) 72 179.07 P
-0.05 (gy-wasting irreversible in-) 412.8 179.07 P
-0.02 (structions were identi\336ed, compilers would learn to avoid using them. This would provide an en-) 72 165.07 P
0.45 (tirely evolutionary path from the current irreversible designs to computer architectures that were) 72 151.07 P
-0.24 (as reversible as was practically feasible. While there is debate about how far this trend can go it is) 72 137.07 P
0.35 (clear that a signi\336cant percentage of computer operations can be made reversible) 72 123.07 P
3 F
0.35 (-) 467.4 123.07 P
0 F
0.35 ( perhaps a re-) 473.99 123.07 P
(markably high percentage.) 72 109.07 T
1 14 Q
(Some Other Pr) 72 81.73 T
(oposals) 161.95 81.73 T
FMENDPAGE
%%EndPage: "5" 5
%%Page: "6" 6
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(6) 303 36 T
72 72 540 720 R
7 X
V
0 X
-0.56 (To be successful, we must develop appropriate fully reversible switching devices that are physical-) 72 712 P
-0.08 (ly realizable. We shall use the term \322physically realizable\323 to mean \322implementable by an appro-) 72 698 P
0.23 (priate configuration of atoms.\323 Many of the earlier proposals do not appear to be physically real-) 72 684 P
-0.39 (izable, although recent reversible proposals, particularly those based on conventional technologies) 72 670 P
(such as CMOS or CCD\325s, are very clearly physically realizable[38].) 72 656 T
0.84 (An early electronic proposal by Likharev based on Josephson junctions[9, 10] \322...is particularly) 72 630 P
-0.25 (significant, because it is a genuine example ... of a system that has frictional forces proportional to) 72 616 P
-0.41 (velocity\323 according to Landauer[6]. Likharev\325s \322parametric quantron\323 is directly analogous to the) 72 602 P
-0.57 (second proposal made later in this paper. The parametric quantron is based on Josephson junctions) 72 588 P
0.2 (and operates at low temperatures. Modern \322high temperature\323 superconductors should allow op-) 72 574 P
0.73 (eration at liquid nitrogen temperatures \050although Josephson junctions have not yet been demon-) 72 560 P
0.15 (strated to work at that temperature\051, but the low temperature of operation is still a significant dis-) 72 546 P
0.42 (advantage. The parametric quantron uses magnetic fields to transmit logic information from de-) 72 532 P
1.07 (vice to device. It cannot be scaled to the size range considered here for molecular mechanical) 72 518 P
-0.4 (devices, and the speed-power trade-off in the parametric quantron might not be significantly better) 72 504 P
(than the speed-power trade-off in molecular mechanical devices.) 72 490 T
0.14 (The first proposal discussed here is derived from the work of Drexler[2], who has argued persua-) 72 464 P
0.32 (sively that mechanical logic devices can be scaled to the molecular level. The scaling properties) 72 450 P
-0.15 (of current electronic devices are unlikely to be as good. Drexler\325s proposed \322rod logic\323 is also re-) 72 436 P
0.7 (versible. Drexler concluded that rod logic, when scaled to molecular size, should eventually be) 72 422 P
-0.68 (able to achieve an energy dissipation of somewhat less than) 72 408 P
2 F
-0.68 (kT) 354.46 408 P
0 F
-0.68 ( at 300 Kelvins with gate delay times) 366.46 408 P
1.52 (of 50 picoseconds. Reducing the speed of operation would further reduce energy dissipation.) 72 394 P
0.68 (Drexler, however, also argues that electronic devices will very likely prove superior in speed of) 72 380 P
(operation, a conclusion supported by recent work by Merkle and Drexler[40].) 72 366 T
0 (The primary reason for pessimism about the speed of mechanical logic is its slow speed. The nu-) 72 340 P
-0.06 (clei of atoms have greater mass than electrons, and so any device which depends on movement of) 72 326 P
-0.42 (the nuclei seems doomed to be slower than a device that uses the motions of electrons. The carbon) 72 312 P
-0.75 (nucleus is over 20,000 times as massive as an electron, and will normally accelerate roughly 20,000) 72 298 P
0.13 (times more slowly. An alternative view is that the speed of sound in solids is roughly 10) 72 282.67 P
0 8 Q
0.09 (4) 500.88 286.67 P
0 12 Q
0.13 ( meters) 504.88 282.67 P
(per second, whereas the speed of electronic signals is roughly 10) 72 267.33 T
0 8 Q
(8) 382.93 271.33 T
0 12 Q
( meters per second.) 386.93 267.33 T
-0.15 (Speed is not the only important criterion for evaluating logic devices. If small size is the deciding) 72 241.33 P
0.22 (criterion then molecular mechanical reversible logic is more attractive. Small size might make it) 72 227.33 P
0.67 (competitive for some applications \050high density memory, for example\051 where speed is not para-) 72 213.33 P
-0.49 (mount. While the greater mass of nuclei as compared with electrons results in slower speed, it also) 72 199.33 P
0.15 (greatly reduces the distance through which the nuclei can tunnel. One of the major limitations in) 72 185.33 P
-0.37 (scaling electronic devices to the smallest possible size is the ability of electrons to tunnel distances) 72 171.33 P
0.38 (of a few nanometers. By contrast, devices whose function depends on the position of nuclei can) 72 157.33 P
0.08 (be scaled to linear dimensions of two nanometers or less[2]. It might be that an electronic device) 72 143.33 P
-0.37 (only two nanometers across will be forever infeasible because a single electron can tunnel this dis-) 72 129.33 P
0.77 (tance \050though such a claim must be viewed with caution\051. Thus, molecular mechanical devices) 72 115.33 P
(might enjoy a fundamental advantage in terms of small size.) 72 101.33 T
FMENDPAGE
%%EndPage: "6" 6
%%Page: "7" 7
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(7) 303 36 T
72 72 540 720 R
7 X
V
0 X
0.05 (Another limitation of mechanical devices is the sliding motion of one surface upon another. This) 72 712 P
0.56 (is not a significant problem if atomically perfect surfaces can be used as Drexler assumes[2, 18,) 72 698 P
0.47 (19], but current manufacturing techniques are not able to achieve this level of perfection. Drex-) 72 684 P
-0.2 (ler[12, 18] and others[13, 14] have argued that we will eventually be able to build most physically) 72 670 P
0.88 (realizable structures, including complex molecular logic elements which are atomically precise.) 72 656 P
0.03 (While electromechanical logic devices employing sliding silicon parts have been built and are ra-) 72 642 P
0.47 (diation resistant[4], the friction and wear caused when imperfect silicon surfaces slide over each) 72 628 P
(other is a major drawback.) 72 614 T
-0.68 (As we will demonstrate, a mechanical logic device need not involve a sliding motion of one surface) 72 588 P
0.44 (past another. Elimination of the sliding motion results in several advantages. First, it simplifies) 72 574 P
0.68 (the analysis of molecular-scale mechanical logic devices. Because such devices cannot be built) 72 560 P
-0.19 (with current technology, any claims about their performance must rest on theoretical analysis. By) 72 546 P
(eliminating the sliding motion the analysis becomes simpler and more fool proof.) 72 532 T
-0.46 (A second more practical advantage is the elimination of the sliding motion when larger devices are) 72 506 P
-0.23 (built with current technology. The use of non-sliding logic in silicon eliminates the wear and fric-) 72 492 P
-0.01 (tion that the sliding action creates. The energy dissipation of the device can therefore be substan-) 72 478 P
(tially reduced, and the operational lifetime extended.) 72 464 T
1 14 Q
(Basic Idea) 72 428.67 T
0 12 Q
0.42 (Drexler\325s rod logic is based on the observation that two objects cannot occupy the same place at) 72 402 P
0.8 (the same time. If two objects both have parts that can occupy the same place when the objects) 72 388 P
0.08 (move, then the motion of one object can be used to limit the motion of the other. In rod logic the) 72 374 P
-0.51 (interacting objects are rods and the parts that interact are called \322knobs.\323 \050see Figure 1\051. Normally,) 72 360 P
-0.14 (a rod has one degree of mechanical freedom: it can move back and forth along its own axis. Two) 72 346 P
-0.4 (rods that are set at right angles to each other can interact if they can be moved so that their \322knobs\323) 72 332 P
-0.62 (can occupy the same position. This common region of space that both knobs can attempt to occupy) 72 318 P
0.74 (is called the \322lock.\323 One rod can be moved so that its knob occupies the lock, but when this is) 72 304 P
0.98 (attempted with the second rod, the knobs will collide and the motion of the second rod will be) 72 290 P
-0.2 (blocked \050see Figure 2\051. The first knob to reach the lock is the \322gate knob,\323 and the second knob is) 72 276 P
0.55 (the \322probe knob.\323 Using this terminology, if the gate knob occupies the lock, the probe knob is) 72 262 P
(blocked and thus the motion of the second rod is also blocked.) 72 248 T
-0.2 (The rods must be constrained in their motions so that they cannot move except along the specified) 72 222 P
0 (axis, nor rotate and change the location of the knob. Either of these illegal motions would let one) 72 208 P
(rod slip past the other and cause a logic failure.) 72 194 T
1.38 (Drexler constrained the rods by embedding them in a \322matrix,\323 a solid block of material with) 72 168 P
-0.47 (\322channels\323 in which the rods are obliged to slide. We eliminate the matrix by the simple expedient) 72 154 P
-0.07 (of mounting the rods on flexible supports, which hold the rods in position \050see Figure 3\051. When a) 72 140 P
-0.37 (rod is pulled, the supports are elastically deformed \050which allows rod motion\051. If the supports pre-) 72 126 P
0.22 (vent lateral motion of the second rod then the collision of the probe knob with the gate knob will) 72 112 P
-0.04 (block the further motion of the probe knob. If the supports do not sufficiently prevent lateral mo-) 72 98 P
0.55 (tion of the second rod during the collision, then a fixed \322lock support\323 can be placed behind the) 72 84 P
FMENDPAGE
%%EndPage: "7" 7
%%Page: "8" 8
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(8) 303 36 T
72 72 540 720 R
7 X
V
0 X
0.62 (lock to prevent the gate knob from being pushed out of position by the force of the probe knob.) 72 712 P
-0.23 (The probe knob would then force the gate knob against the lock support, and the further motion of) 72 698 P
(the probe knob would be prevented.) 72 684 T
0.02 (The elastic supports are illustrated only in figure 3. For the sake of clarity, further illustrations of) 72 658 P
-0.55 (non-sliding logic will not show the elastic supports. However, the reader should presume that each) 72 644 P
(rod is held in position by an appropriate set of supports, even though they are not shown.) 72 630 T
0.04 (The length of the rods must also be controlled. Stretching of the rods would change the positions) 72 604 P
0.77 (of the gate knobs. Should the gate knobs move a sufficient distance from their correct location) 72 590 P
0.21 (from this cause, even though they continued to move only in the channel, the probe knobs would) 72 576 P
0.25 (slip past them. While stretching is usually insignificant at the macroscopic scale, it is significant) 72 562 P
-0.31 (and must be taken into account on the molecular scale. Drexler reduced this source of error by ap-) 72 548 P
0.35 (plying tension to the ends of the rods. When this is done the material from which the \322rods\323 are) 72 534 P
0.84 (made can be both flexible and compressible, and might be better described as string. The term) 72 520 P
-0.13 (\322rod\323 should thus be viewed with some caution, as many rather un-rod-like structures can be used) 72 506 P
(quite effectively.) 72 492 T
0.43 (Rod logic is somewhat different from many popular logic systems. In most current systems, the) 72 466 P
0.04 (output signal from a typical gate is available shortly after the input signals are applied. This does) 72 452 P
-0.27 (not occur in rod logic, which is fundamentally a clocked system. Rods do not move unless pulled,) 72 438 P
0.51 (and only when a rod is pulled can we tell if it is blocked or unblocked. The output signal is not) 72 424 P
0.08 (available until after the input signals are applied and the output rod is pulled. For this reason, the) 72 410 P
-0.24 (temporal pattern used to pull the rods \050the clocking sequence\051 is of critical importance in the oper-) 72 396 P
0.29 (ation of a rod-logic circuit. At each point in time a given rod can be \050a\051 pulled or \050b\051 released or) 72 382 P
0.14 (\050c\051 left unchanged. If it is pulled, it either moves or does not move, depending on whether or not) 72 368 P
0.47 (the locks associated with the rod are blocked or unblocked. Because the rod might or might not) 72 354 P
-0.61 (move when it is pulled, it is convenient to put a spring between the rod and the source of the motion) 72 340 P
0.4 (used to pull the rod. This spring is called the \322drive spring.\323 The source of motion is called the) 72 326 P
-0.53 (\322driver.\323 If the rod does not move when the driver moves, then the drive spring extends. Although) 72 312 P
-0.64 (we refer to \322releasing\323 the rod, a better description might be \322unpulling\323 the rod. The force applied) 72 298 P
-0.41 (to the rod should be gradually relaxed and the rod gradually allowed to resume its original position) 72 284 P
(to minimize energy dissipation.) 72 270 T
0.06 (We now give an example of a complete cycle of operation for a simple logic function \050see Figure) 72 244 P
0.07 (4\051. Three inputs, A, B, and C, enter from the left along the three horizontal rods. The first driver) 72 230 P
-0.19 (is on the right, and three drive springs connect rods A, B, and C to the driver. Two outputs, X and) 72 216 P
0.02 (Y, exit downwards along the two vertical rods. Two drive springs connect the bottoms of the rod) 72 202 P
0.41 (to the top of the second driver. At the intersection of each horizontal rod with each vertical rod,) 72 188 P
-0.34 (there can be a lock. Note that each lock can initially be either blocked \050occupied by the gate knob\051) 72 174 P
(or unblocked \050not occupied by the gate knob\051.) 72 160 T
-0.31 (The cycle of operations proceeds as follows. First, the first driver moves to the right. This applies) 72 134 P
-0.36 (force to the three rods A, B, and C through the three drive springs. Rods B and C are free to move,) 72 120 P
-0.13 (while rod A is blocked \050by a lock not shown on the diagram\051. The drive spring for rod A extends,) 72 106 P
-0.01 (while the drive springs for rods B and C do not. The motion of rods B and C unblocks the gate at) 72 92 P
-0.17 (the intersection of B and X, but blocks the gate at the intersection of C and Y. The two locks con-) 72 78 P
FMENDPAGE
%%EndPage: "8" 8
%%Page: "9" 9
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(9) 303 36 T
72 72 540 720 R
7 X
V
0 X
-0.74 (trolled by rod A continue to be unblocked. This is illustrated in Figure 5. Second, the second driver) 72 712 P
-0.44 (moves downwards. This applies force to the two output rods X and Y. X is free to move, and does) 72 698 P
0 (so, while Y is blocked. The drive spring for Y extends. This is illustrated in Figure 7. Third, the) 72 684 P
-0.17 (second driver is released and rods X and Y resume their original positions. Fourth, the first driver) 72 670 P
(is released and rods A, B and C resume their original positions.) 72 656 T
0.1 (Note that cycles 1 and 2 compute an output, while cycles 3 and 4 reverse the motions involved in) 72 630 P
0.29 (cycles 1 and 2, thereby \322uncomputing\323 the output. Therefore this clocked sequence of actions is) 72 616 P
-0.24 (entirely reversible. The energy dissipation per operation could, in principle, be made less than) 72 602 P
2 F
-0.24 (kT) 525 602 P
0 F
-0.24 (.) 537 602 P
0.13 (If we attempted to change this sequence, e.g., we interchanged cycles 3 and 4 and released driver) 72 588 P
0.36 (1 before releasing driver 2, then the probe knob and gate knob would slide past each other at the) 72 574 P
0 (lock at the intersection of C and Y. That is, the wrong sequence of clock signals would introduce) 72 560 P
-0.31 (sliding motion. The clock sequence in rod logic must be carefully specified to prevent this kind of) 72 546 P
(problem.) 72 532 T
0.2 (In general, if we have an N level logic circuit, then we will need to divide the rods into N groups) 72 506 P
0.27 (numbered from 1 to N. Each rod in a group will be connected to the corresponding driver. The) 72 492 P
-0.05 (drivers will be moved in sequence, starting with driver 1 and terminating with driver N. The rods) 72 478 P
0.85 (in group i will control the motion of the rods in group i+1. After the Nth level rods have been) 72 464 P
-0.46 (pulled, the drivers will be released in reverse sequence, starting with driver N and terminating with) 72 450 P
(driver 1.) 72 436 T
-0.02 (What has been described so far will allow the construction of an N level reversible combinational) 72 410 P
0.16 (logic circuit. To be useful, we must also specify a latch which can store the output of the combi-) 72 396 P
0.86 (national circuit. This can be done relatively easily by modifying the basic rod logic design de-) 72 382 P
0.44 (scribed so far. We define a set of \322latch rods\323 which, in essence, are the N+1st logic level rods.) 72 368 P
0.14 (For pedagogical purposes we will refer to the Nth level rods as either \322Nth level rods\323 or \322output) 72 354 P
-0.03 (rods,\323 whichever seems clearer. In essence, the latch rods are used to \322latch up\323 or remember the) 72 340 P
0.5 (state of the output rods. The proper latch rods will be moved when the output rods move. The) 72 326 P
0.59 (latch rods will then be locked into position. This arrangement is described in more detail in the) 72 312 P
(next few paragraphs.) 72 298 T
-0.22 ( Each output rod will be lengthened and a new \322drive knob\323 will be added near the end away from) 72 272 P
0.2 (the drive spring. A \322drive knob\323 is a knob whose purpose is to pull a \322driven knob,\323 and in con-) 72 258 P
0.15 (sequence to move the rod to which the driven knob is attached, also called the \322driven rod.\323 The) 72 244 P
-0.15 (driven rod, like all rods, will move along its axis. As a consequence, the driver rod and the driven) 72 230 P
0.23 (rod must be parallel, for the motion of the drive rod will be transferred directly to the driven rod.) 72 216 P
-0.03 (The action of the driver knob is unlike the action of either a \322probe knob,\323 which is used to deter-) 72 202 P
-0.41 (mine whether or not a lock is blocked, or a \322gate knob,\323 which is used to block and unblock a lock.) 72 188 P
0.23 (The drive knob on the output rod will be used to pull on the driven knob which is attached to the) 72 174 P
-0.37 (latch rod. In this case, the output rod is the driver rod and the latch rod is the driven rod. The latch) 72 160 P
-0.16 (rod is parallel to the output rod, not at right angles. If the output rod is pulled and moves, then the) 72 146 P
0.22 (driver knob on the output rod will pull on the driven knob on the latch rod, and the latch rod will) 72 132 P
(also be pulled. Because the latch rod will not be blocked, it will also move. \050See figure 8\051.) 72 118 T
1.14 (Once the latch rods have been moved into their proper positions, they are held in place by the) 72 92 P
-0.28 (\322holding rod.\323 The holding rod is at right angles to the latch rods, and is always free to move. The) 72 78 P
FMENDPAGE
%%EndPage: "9" 9
%%Page: "10" 10
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(10) 300 36 T
72 72 540 720 R
7 X
V
0 X
0.39 (holding rod has gate knobs at all positions. All the locks between the latch rods and the holding) 72 712 P
-0.45 (rod are initially unblocked. After the latch rods are in their correct position, the holding rod moves) 72 698 P
0.42 (and all the gate knobs on the holding rod block all the gates. In those latch rods which have not) 72 684 P
-0.36 (moved, the probe knob on the latch rod is clear of the lock and has not moved through it. On those) 72 670 P
-0.31 (latch rods which have moved, the probe knob has been moved through the lock and is also clear of) 72 656 P
0.07 (it. Thus, in either case, the holding rod is free to move and the gate knobs on the holding rod can) 72 642 P
-0.31 (occupy all the corresponding locks. Once the locks are blocked, the output driver is released. The) 72 628 P
-0.11 (output rods move back to their original positions. Those latch rods that were moved are now held) 72 614 P
0.73 (in place by the gate knobs on the holding rod and cannot return to their original positions. The) 72 600 P
1.02 (output rods are free to move at this point in the cycle, whether or not the latch rods have been) 72 586 P
0.4 (blocked, because the motion of the driver knobs on the output rods is now away from the driven) 72 572 P
(knobs. \050See figure 8\051.) 72 558 T
0.31 (Although this method will correctly latch up the output, it now presents the problem of releasing) 72 532 P
0.35 (the holding rod driver and restoring the holding rod to its original position. If we simply release) 72 518 P
0.21 (the holding rod driver, then the probe knobs on the latch rods which bear upon the gate knobs on) 72 504 P
0.04 (the holding rod will cause friction when the holding rod moves. This will work, but will result in) 72 490 P
-0.55 (greater energy dissipation both because of the friction between the probe knobs and gate knobs and) 72 476 P
0.55 (because the energy stored in the latch rod supports will be dissipated when the latch rods spring) 72 462 P
0.14 (free. The latch rod supports are, in effect, springs that attempt to restore the latch rod to its \322nor-) 72 448 P
-0.23 (mal\323 position. When the latch rod probe knobs are unblocked as the holding rod gate knobs move) 72 434 P
-0.12 (out of the locks, the latch rod will snap back to this position and oscillate, thus dissipating energy.) 72 420 P
0.41 (This is in keeping with the irreversible nature of the operation: the information held in the latch) 72 406 P
(rods will be destroyed, which requires dissipation of about) 72 392 T
2 F
(kT) 355.97 392 T
0 F
( per latch rod.) 367.97 392 T
0.28 (A more clever method would be to \322unwrite\323 the information held in the latch rods. This differs) 72 366 P
0.57 (fundamentally from erasing the information. In this technique, the information held in the latch) 72 352 P
-0.16 (rods is recomputed \050by any method we might find convenient\051 and the output rods are driven with) 72 338 P
0.31 (this freshly recomputed information. This recomputed information is identical to the actual con-) 72 324 P
-0.15 (tents of the latch. In this way, the pressure on the holding rod gate knobs will be released, and the) 72 310 P
-0.47 (holding rod will again be free to move. The holding rod driver can then be released, and the output) 72 296 P
-0.61 (driver \050and all preceding drivers\051 can be released as usual. The information in the latch rods is \322un-) 72 282 P
-0.28 (written\323 in a reversible manner \050no step in the unwriting process destroys information\051 and the en-) 72 268 P
(ergy dissipated per latch rod operation can in principle be less than) 72 254 T
2 F
(kT) 395.94 254 T
0 F
( during this process.) 407.94 254 T
-0.43 (This allows us to remember the value computed by a combinational logic circuit in a set of latches.) 72 228 P
0.34 (With some additional mechanism, we can compute an iterated reversible computation. This will) 72 214 P
-0.64 (allow us to perform the more or less normal sequence of operations in a computer. That is, the state) 72 200 P
-0.16 (of a computation in a normal CPU is held in a series of latches \050flip-flops\051 and that state is used as) 72 186 P
0.83 (the input to a combinational logic circuit which computes the next state. The next state is then) 72 172 P
0.32 (clocked into the flip-flops while the previous state is destroyed. This sequence allows a conven-) 72 158 P
-0.19 (tional computer to execute a series of instructions by repeatedly computing the next state from the) 72 144 P
-0.07 (current state, and repeatedly replacing the current state with the next state. Of course, in a revers-) 72 130 P
0.06 (ible computation, we not only need to compute the next state from the current state, we must also) 72 116 P
0.34 (be able to uniquely determine the current state from the next state, e.g., the computation must be) 72 102 P
-0.27 (reversible. There are many ways of designing such a reversible computer[7, 8, 11, 15]. In the fol-) 72 88 P
FMENDPAGE
%%EndPage: "10" 10
%%Page: "11" 11
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(11) 300 36 T
72 72 540 720 R
7 X
V
0 X
(lowing paragraphs we describe a simple architecture for carrying out a reversible computation.) 72 712 T
0.15 (We assume that we have a reversible combinational function whose iteration we feel is computa-) 72 686 P
0.17 (tionally useful \050e.g., the function implements a single instruction or step of a reversible computa-) 72 672 P
0.34 (tion\051. We shall call this function F. We start with the initial state of the computation stored in a) 72 658 P
-0.35 (set of initial latch rods which are held in position by a driven holding rod. We then compute F\050ini-) 72 644 P
0.2 (tial latch rods\051, and store the result in a set of output latch rods, which are assumed to be initially) 72 630 P
(empty.) 72 616 T
0.63 (Having once computed the next state and stored it in the output latch rods, we must unwrite the) 72 590 P
0.24 (initial latch rods. To do this, we compute F) 72 574.67 P
0 8 Q
0.16 (-1) 283.8 578.67 P
0 12 Q
0.24 (\050output latch rods\051, which should be identical to the) 290.46 574.67 P
0.73 (state already stored in the initial latch rods. Thus, not only do we have combinational logic for) 72 560.67 P
0.24 (computing F, we have combinational logic for computing F) 72 545.33 P
0 8 Q
0.16 (-1) 360.23 549.33 P
0 12 Q
0.24 (. This additional logic is absolutely) 366.89 545.33 P
-0.12 (necessary. If we did not have a method of computing F) 72 530 P
0 8 Q
-0.08 (-1) 337.99 534 P
0 12 Q
-0.12 (, we would not be able to re-compute the) 344.65 530 P
-0.62 (contents of the input latches. If we could not re-compute the contents of the input latches, we could) 72 516 P
0.19 (not unwrite them \050which can be done in an asymptotically non-dissipative fashion\051 but would in-) 72 502 P
-0.26 (stead be forced to erase the input latches \050which is an inherently dissipative operation\051. Only after) 72 488 P
-0.16 (we have unwritten the input latches can we reversible transfer the contents of the output latches to) 72 474 P
-0.1 (the input latches. Once this final transfer has been done, we are ready to perform another cycle in) 72 460 P
(the computation of F.) 72 446 T
0.62 (The summary of one full cycle of computation is illustrated in figure 6. In step 1, we compute) 72 420 P
-0.37 (output latch rods = F\050initial latch rods\051. The output latch rods are left holding the output, while we) 72 91 P
-0.59 (uncompute the intermediate stages in the computation of F. This leaves the input in the initial latch) 72 77 P
72 72 540 720 C
114.75 101 497.25 416 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
231.75 105.33 384.75 159.33 R
7 X
0 0 0 1 0 0 0 K
V
0 12 Q
0 X
(Figure 6.) 286.58 151.33 T
(Flow of information) 259.58 137.33 T
(while iterating a) 269.26 123.33 T
(reversible function F) 258.26 109.33 T
191.25 195.33 236.25 339.33 R
7 X
V
0.5 H
2 Z
0 X
N
(Initial) 200.25 303.33 T
(Latch) 200.25 291.33 T
(Rods) 200.25 279.33 T
1 36 Q
(F) 249.75 261.22 T
297.06 273.12 317.25 267.33 297.06 261.54 297.06 267.33 4 Y
V
281.25 267.33 297.06 267.33 2 L
3 H
N
326.25 195.33 371.25 339.33 R
7 X
V
0.5 H
0 X
N
0 12 Q
(Output) 335.25 303.33 T
(Latch) 335.25 291.33 T
(Rods) 335.25 279.33 T
1 36 Q
(F) 385.26 261.22 T
1 24 Q
(-1) 407.25 273.22 T
3 H
0 90 36 36 434.25 231.33 A
270 360 36 36 434.25 213.33 A
470.25 231.33 470.25 213.33 2 L
N
434.25 177.33 177.75 177.33 2 L
N
180 270 36 36 177.75 213.33 A
141.75 231.33 141.75 213.33 2 L
N
156.33 267.1 177.75 267.33 159.71 255.79 158.02 261.45 4 Y
V
123.23 180 36 36 177.75 231.33 A
1 36 Q
(1) 276.75 216.56 T
(2) 438.75 213.33 T
(3) 276.75 389 T
240.24 365.65 222.75 353 230.88 372.99 235.56 369.32 4 Y
V
90 142.81 63 27 285.75 353 A
340.62 372.99 348.75 353 331.26 365.65 335.94 369.32 4 Y
V
37.19 90 63 27 285.75 353 A
72 72 540 720 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "11" 11
%%Page: "12" 12
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(12) 300 36 T
72 72 540 720 R
7 X
V
0 X
0.16 (rods, and the output in the output latch rods. In step 2 we compute F) 72 710.67 P
0 8 Q
0.11 (-1) 404.71 714.67 P
0 12 Q
0.16 (\050output latch rods\051 and use) 411.38 710.67 P
-0.14 (this information to unwrite the initial latch rods. After unwriting the initial latch rods they hold 0.) 72 696.67 P
1.22 (We then uncompute the intermediate stages in the computation of F) 72 681.33 P
0 8 Q
0.81 (-1) 409.47 685.33 P
0 12 Q
1.22 (\050output latch rods\051. This) 416.14 681.33 P
-0.24 (leaves us in a state in which the output latch rods hold the next stage of the computation, while the) 72 667.33 P
0.19 (input latch rods hold 0. In step 3 we exchange the contents of the output latch rods and the input) 72 653.33 P
-0.01 (latch rods. This exchange is actually done in two steps: first, we write the initial latch rods using) 72 639.33 P
0.07 (the output latch rods as the source of information. This operation can be done reversibly because) 72 625.33 P
0.52 (we know the initial latch rods hold 0. Second, we unwrite the output latch rods using the initial) 72 611.33 P
(latch rods as the source of information for the unwriting operation.) 72 597.33 T
-0.72 (After completion of these operations, we are right back where we started except that the initial latch) 72 571.33 P
0.36 (rods hold F\050contents of initial latch rods from start of previous cycle\051. All operations were done) 72 557.33 P
(reversibly, and so can be carried out in an asymptotically nondissipative fashion.) 72 543.33 T
1 14 Q
(Err) 72 508 T
(ors) 93.52 508 T
0 12 Q
0.03 (Molecular mechanical systems can suffer failures because of thermal noise. These are not signif-) 72 481.33 P
1.2 (icant at the macroscopic level because larger structures are less affected by thermal noise than) 72 467.33 P
0.71 (smaller structures. If a molecular mechanical system has too high a thermal error rate, then the) 72 453.33 P
-0.15 (system can be increased in size until the problem is effectively controlled. Alternatively, the tem-) 72 439.33 P
0.36 (perature can be reduced until thermal noise is insufficient to cause problems. Even in molecular) 72 425.33 P
-0.02 (mechanical systems, however, thermal noise at room temperature can be effectively dealt with by) 72 411.33 P
(appropriate design.) 72 397.33 T
-0.76 (In general, the parts in a molecular mechanical system will be held in place by some restoring force.) 72 371.33 P
-0.25 (This restoring force will act like a spring and will tend to prevent the part from moving away from) 72 357.33 P
-0.2 (its assigned position. If the restoring force is linear in the displacement \050which is often a good ap-) 72 343.33 P
(proximation\051 then we have:) 72 329.33 T
-0.27 (where k) 72 278.33 P
0 8 Q
-0.18 (s) 110.05 275.83 P
0 12 Q
-0.27 ( is the spring constant, x is the displacement, and f is the restoring force. It requires a cer-) 113.16 278.33 P
(tain amount of energy to displace the part, so we also have:) 72 263.17 T
-0.28 (where E\050x\051 is the energy of the system when the part is displaced by a distance x. In thermal equi-) 72 201.17 P
-0.54 (librium the probability of being displaced by an amount x falls off exponentially as the energy E\050x\051) 72 187.17 P
(increases. The probability of being in error falls off even more rapidly in the displacement[18]:) 72 173.17 T
(where P\050x\051 is the probability of being displaced by a distance x from the correct position.) 72 89.33 T
72 72 540 720 C
228.75 300.33 383.25 325.33 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2 12 Q
0 X
0 0 0 1 0 0 0 K
(f) 284.12 312.83 T
(k) 303.09 312.83 T
(s) 308.8 306.48 T
(x) 314.05 312.83 T
0 10 Q
(=) 292.45 312.83 T
72 72 540 720 C
0 0 612 792 C
72 72 540 720 C
78 223.17 534 259.17 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2 12 Q
0 X
0 0 0 1 0 0 0 K
(E) 271.97 239 T
(x) 285.19 239 T
3 9 Q
(\050) 281.33 239 T
(\051) 290.93 239 T
0 12 Q
(1) 309.67 244.96 T
(2) 309.67 230.93 T
0 9 Q
(-) 309.67 239.21 T
(-) 311.17 239.21 T
(-) 312.67 239.21 T
(-) 312.68 239.21 T
2 12 Q
(k) 316.39 239 T
(s) 322.05 232.65 T
(x) 327.25 239 T
0 F
(2) 333.03 243.35 T
0 9 Q
(=) 299.93 239 T
72 72 540 720 C
0 0 612 792 C
72 72 540 720 C
78 111.33 534 169.17 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2 12 Q
0 X
0 0 0 1 0 0 0 K
(P) 235.74 135 T
(x) 248.96 135 T
3 9 Q
(\050) 245.1 135 T
(\051) 254.7 135 T
2 12 Q
(k) 293.02 147.1 T
(s) 298.68 140.75 T
0 F
(2) 285.09 126.72 T
3 F
(p) 291.62 126.72 T
2 F
(k) 298.74 126.72 T
(T) 304.6 126.72 T
0 9 Q
(-) 285.09 135 T
(-) 286.59 135 T
(-) 288.09 135 T
(-) 289.59 135 T
(-) 291.09 135 T
(-) 292.59 135 T
(-) 294.08 135 T
(-) 295.58 135 T
(-) 297.08 135 T
(-) 298.58 135 T
(-) 300.08 135 T
(-) 301.58 135 T
(-) 303.08 135 T
(-) 304.58 135 T
(-) 306.07 135 T
(-) 307.57 135 T
(-) 308.28 135 T
3 F
(\350) 273.26 125.45 T
(\370) 311.87 125.45 T
(\347) 273.26 133.16 T
(\367) 311.87 133.16 T
(\347) 273.26 140.88 T
(\367) 311.87 140.88 T
(\346) 273.26 148.59 T
(\366) 311.87 148.59 T
2 12 Q
(E) 316.89 135 T
(x) 324.76 135 T
(p) 330.61 135 T
(x) 347.53 147.3 T
0 9 Q
(\320) 342.69 147.3 T
0 12 Q
(2) 353.3 151.66 T
2 F
(k) 359.83 147.3 T
(s) 365.51 140.96 T
0 F
(2) 346.9 126.93 T
2 F
(k) 353.43 126.93 T
(T) 359.29 126.93 T
0 9 Q
(-) 342.69 135.21 T
(-) 344.18 135.21 T
(-) 345.68 135.21 T
(-) 347.18 135.21 T
(-) 348.68 135.21 T
(-) 350.18 135.21 T
(-) 351.68 135.21 T
(-) 353.17 135.21 T
(-) 354.67 135.21 T
(-) 356.17 135.21 T
(-) 357.67 135.21 T
(-) 359.17 135.21 T
(-) 360.67 135.21 T
(-) 362.17 135.21 T
(-) 363.67 135.21 T
(-) 365.16 135.21 T
(-) 366.66 135.21 T
(-) 367.18 135.21 T
3 F
(\350) 337.14 121.59 T
(\370) 370.77 121.59 T
(\347) 337.14 129.31 T
(\367) 370.77 129.31 T
(\347) 337.14 137.02 T
(\367) 370.77 137.02 T
(\347) 337.14 144.74 T
(\367) 370.77 144.74 T
(\346) 337.14 152.45 T
(\366) 370.77 152.45 T
0 F
(=) 263.69 135 T
310.55 157.4 284.91 157.4 282.22 125.03 3 L
0.41 H
2 Z
N
282.22 125.03 280.42 133.45 279.52 129.24 3 L
N
72 72 540 720 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "12" 12
%%Page: "13" 13
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(13) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.15 (The spring constant for a single carbon-carbon bond is approximately 440 newtons/meter[18]. At) 72 712 P
0.46 (room temperature a spring constant of this value implies that a displacement of 0.05 nanometers) 72 698 P
0.26 (has a probability of about 10) 72 682.67 P
0 8 Q
0.17 (-47) 210.95 686.67 P
0 12 Q
0.26 (. Even for a spring constant of 1 newton/meter, the probability of) 221.61 682.67 P
-0.3 (being displaced by a nanometer is about 10) 72 667.33 P
0 8 Q
-0.2 (-43) 277.51 671.33 P
0 12 Q
-0.3 (. Molecular mechanical systems designed to tolerate) 288.17 667.33 P
-0.09 (positional errors on the order of several tenths of a nanometer can have very high reliability in the) 72 653.33 P
(face of thermal noise at room temperature.) 72 639.33 T
1 14 Q
(Energy losses at the contact surfaces) 72 604 T
0 12 Q
-0.48 (When two parts contact each other, there will presumably be some loss of energy. If actual contact) 72 577.33 P
-0.5 (between two surfaces occurs, then a number of surface effects might take place. Bond-making and) 72 563.33 P
-0.38 (bond-breaking are likely to occur when the parts are large and the contact pressure is too high. As) 72 549.33 P
0.89 (the size and speed of the parts is reduced the contact pressure will at some point become small) 72 535.33 P
0.06 (enough that it doesn\325t break individual bonds. When contact surfaces are deliberately designed to) 72 521.33 P
-0.75 (be stable during contact and the design deliberately keeps contact pressure low, bond breakage will) 72 507.33 P
-0.74 (not be a significant factor. In this case, intermolecular forces between the two surfaces will become) 72 493.33 P
0.14 (the dominant factor in any energy loss mechanism. Intermolecular forces can be described by an) 72 479.33 P
0.14 (appropriate potential energy function[5] and arise from the electric forces between the nuclei and) 72 465.33 P
-0.44 (the electrons \050other forces are small enough that they can be neglected\051. \322Long range\323 intermolec-) 72 451.33 P
0.44 (ular forces \050acting over distances measured in angstroms to nanometers\051 can be conveniently di-) 72 437.33 P
-0.3 (vided into three categories: electrostatic, induction, and dispersion. The electrostatic contribution) 72 423.33 P
0.18 (arises from the uneven distribution of charge on a molecule. Two molecules with uneven charge) 72 409.33 P
0.89 (distribution \050e.g., two dipoles\051 will experience a force caused by the attraction and repulsion of) 72 395.33 P
-0.18 (their charged regions. Induction forces arise when a molecule with a dipole moment induces a di-) 72 381.33 P
-0.11 (pole in an otherwise non-polar molecule. Dispersion forces arise because fluctuations in the elec-) 72 367.33 P
-0.3 (tron cloud around one molecule create an instantaneous dipole, which can then induce an instanta-) 72 353.33 P
0.59 (neous dipole in an adjacent molecule. This creates a net attractive force between two otherwise) 72 339.33 P
0.65 (neutral molecules. The interaction energy in the latter two cases falls off as the sixth power of) 72 325.33 P
(distance, while the dipole-dipole interaction energy falls off as the third power of distance.) 72 311.33 T
-0.15 (Appropriate selection of materials and speed of operation can be used to minimize the energy loss) 72 285.33 P
0.18 (during surface-surface contacts. Drexler showed that energy losses from this source can be quite) 72 271.33 P
(small \050less than) 72 257.33 T
2 F
(kT) 149.66 257.33 T
0 F
(\051 even when switching speeds are 50 picoseconds[2].) 161.66 257.33 T
0 (As an aside, even sliding motion need not cause problems. Provided that two sliding surfaces are) 72 231.33 P
0.15 (structurally stable \050so that the formation and breaking of chemical bonds is not an issue\051, the sur-) 72 217.33 P
0.49 (face-surface interaction in this case will also be described by a potential energy function. In the) 72 203.33 P
0.16 (case of two surfaces that are constrained to move past each other in one dimension, the potential) 72 189.33 P
-0.61 (energy function is a simple function of a single variable. If the two surfaces are periodic \050the atoms) 72 175.33 P
0.12 (on the surfaces are regularly spaced\051 and if the periods for the two surfaces are the same \050the two) 72 161.33 P
-0.64 (surfaces are made of the same material\051 then the potential energy as a function of position will have) 72 147.33 P
-0.09 (high peaks and low valleys: the two surfaces will resist sliding past one another. If, however, the) 72 133.33 P
-0.52 (two surfaces are selected to have) 72 119.33 P
2 F
-0.52 (different) 229.46 119.33 P
0 F
-0.52 ( periodicities \050they are made of different materials, or the) 270.13 119.33 P
0.09 (surfaces are skewed with respect to each other along the line of motion\051 then the potential energy) 72 105.33 P
0.34 (as a function of position can be essentially flat[18, 19, 39]. In this case, there will be little resis-) 72 91.33 P
-0.58 (tance to motion. If the motion of one surface past another is relatively slow then energy dissipation) 72 77.33 P
FMENDPAGE
%%EndPage: "13" 13
%%Page: "14" 14
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(14) 300 36 T
72 72 540 720 R
7 X
V
0 X
0.16 (can be quite small[2, 18]. Thus, while sliding motion introduces an additional design problem, it) 72 712 P
(is a problem that can be overcome if the surfaces can be built to atomic specifications.) 72 698 T
1 14 Q
(Eliminating the Contact Surfaces) 72 662.67 T
0 12 Q
0.3 (It is possible to define a kind of logic in which there is only a single large \322part\323 with a complex) 72 636 P
0.16 (shape. The state of the computation is encoded in the deformations of this single elastic block of) 72 622 P
0.88 (material. The computation moves forwards as this block goes through periodic oscillatory mo-) 72 608 P
(tions. This eliminates not only sliding motions, but any contact at all between surfaces.) 72 594 T
-0.26 (To illustrate the principle underlying this kind of logic, consider the behavior of an isolated elastic) 72 568 P
0.4 (vertical beam when a compressive force is applied from the top. Imagine, for example, that you) 72 554 P
0.17 (hold a business card vertically in your hand by its edges, forefinger on top and thumb on the bot-) 72 540 P
-0.26 (tom. When you squeeze the card it will buckle in either of two directions. If the card was initially) 72 526 P
-0.51 (straight, then the direction of buckling will be very sensitive to any lateral force applied to the mid-) 72 512 P
0.05 (dle of the card. If you push gently to the left on the middle of the card and then squeeze it, it will) 72 498 P
-0.44 (buckle to the left. If you push gently to the right and then squeeze, it will buckle to the right. Once) 72 484 P
-0.55 (the card has begun to buckle in one direction it is difficult to force it in the other direction. In short,) 72 470 P
0.34 (a small lateral force applied to the card as an \322input signal\323 can control the direction of the large) 72 456 P
0.61 (lateral displacement produced as an \322output signal\323 when the card is buckled by a force applied) 72 442 P
(from the top as a \322clock signal\323 \050see figure 9\051.) 72 428 T
-0.07 (This buckling arrangement can be used to define logic operations. If one or more input forces are) 72 402 P
-0.31 (applied laterally to the midsection of the card, then the midsection will be pushed either somewhat) 72 388 P
0.34 (to the left or somewhat to the right, depending on the sum of the applied forces. When the large) 72 374 P
0.53 (clocking force is applied, the initial direction of deformation will be continued, and with greater) 72 360 P
-0.36 (force. This can be viewed as a threshold device, for the output state is controlled by the sum of the) 72 346 P
-0.19 (input forces. Once buckled in one direction or the other, the card will remain in that state and will) 72 332 P
-0.56 (be resistant to a change to the other stable state \050in which it is buckled in the other direction\051. Thus,) 72 318 P
(the device can also be viewed as a \322flip-flop\323 or memory element, as well as a threshold device.) 72 304 T
-0.15 (This provides a simple mechanical example of a device which, under clock control, can be shifted) 72 278 P
3.1 (from a monostable state to a bistable state and back again \050e.g., buckled and unbuckled\051.) 72 264 P
0.24 (Likharev\325s \322parametric quantron\323 [9, 10] provides an electronic method of doing the same thing.) 72 250 P
-0.42 (The lateral force applied to the card is analogous to the external magnetic flux) 72 236 P
3 F
-0.42 (F) 444.08 236 P
3 9.6 Q
-0.33 (e) 453.24 233 P
0 12 Q
-0.42 (in the parametric) 459.52 236 P
0.17 (quantron, the buckling force \050or clock force\051 is analogous to the control current I) 72 219.67 P
0 9.6 Q
0.13 (c) 461.41 216.67 P
0 12 Q
0.17 ( which controls) 465.67 219.67 P
-0.34 (the critical current I) 72 203.33 P
0 9.6 Q
-0.27 (M) 165.95 200.33 P
0 12 Q
-0.34 ( of the Josephson junction, and the lateral position of the card is analogous to) 174.48 203.33 P
-0.5 (the net magnetic flux) 72 187 P
3 F
-0.5 (F) 174.67 187 P
0 F
-0.5 ( in the ring. Likharev said \322In fact, the only role of the parametric quantron) 183.83 187 P
-0.6 (in our discussion has been to demonstrate how a flexible bistable potential well could be physically) 72 173 P
-0.48 (realized\323[9]. The mechanical implementation given here is another way of making such a flexible) 72 159 P
-0.09 (bistable potential well which provides a simpler and more accessible illustration of the basic prin-) 72 145 P
(ciples.) 72 131 T
-0.06 (Landauer[26] has previously proposed the use of a bistable spring as an element in a transmission) 72 105 P
0.31 (line, and suggested that such a bistable spring could be implemented using a buckled metal plate) 72 91 P
0.58 (or card. This proposal was made in the context of signal transmission, rather than computation,) 72 77 P
FMENDPAGE
%%EndPage: "14" 14
%%Page: "15" 15
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(15) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.15 (and did not consider the need to modulate the spring \050e.g., buckle and unbuckle it\051 for the purpose) 72 712 P
0.81 (of computation. The more general discussion by Landauer[27] of reversible computation using) 72 698 P
0.1 (\322time modulated potential wells\323 suggests that the wells could be implemented by the motions of) 72 684 P
0.93 (charged particles. The use of buckling cards to implement flexible bistable potential wells and) 72 670 P
0.01 (thereby create a reversible mechanical logic system which eliminates surface contact between the) 72 656 P
(parts of the system has not previously been considered.) 72 642 T
0.41 (The use of bistable mechanical elements for memory has been proposed by Halg[35]. \322It essen-) 72 616 P
-0.59 (tially consists of a surface-micromachined bridge which is longitudinally stressed so that it buckles) 72 602 P
-0.07 (and becomes mechanically bistable. This bistable bridge performs the memory functions.\323 Their) 72 588 P
-0.31 (proposal did not go beyond memory, nor consider the concept of buckling and unbuckling the me-) 72 574 P
0.32 (chanical element to provide a flexible bistable potential well. The \322read\323 and \322write\323 operations) 72 560 P
0.16 (involved a dissipative \322snapping\323 of the buckled element from one stable state to the other stable) 72 546 P
(state.) 72 532 T
-0.04 (Notationally, the term \322well\323 will be used to refer generically to any flexible potential well which) 72 506 P
-0.05 (can be shifted from the monostable to the bistable state and back again in a controlled fashion. In) 72 492 P
0.26 (the context of the current paper, \322well\323 usually refers to a mechanical well. Whether we are dis-) 72 478 P
0.03 (cussing a generic well or a mechanical well should be clear from context. We will use the phrase) 72 464 P
0.23 (\322squeeze a well\323 or \322clock a well\323 to indicate that the well is shifted from its monostable state to) 72 450 P
0.24 (its bistable state. The shift from the bistable to the monostable state will be called \322releasing\323 or) 72 436 P
(\322unclocking.\323) 72 422 T
0.48 (Some methods for using wells to build reversible logic have been discussed by Landauer[6, 27],) 72 396 P
0.31 (who described the use of a three-input one-output \322voter\323 circuit. A mechanical implementation) 72 382 P
-0.35 (of such a device is shown in figure 10. The three \322input\323 wells are coupled to the \322output\323 well by) 72 368 P
0.53 (springs. The springs connect the midsections of the cards in the wells. The springs are bidirec-) 72 354 P
-0.39 (tional, and so the distinction between an \322input\323 well and an \322output\323 well is based on which wells) 72 340 P
0.01 (have been clocked and which wells have yet to be clocked. Wells that have already been clocked) 72 326 P
0.65 (are \322inputs,\323 while wells that are about to be clocked are \322outputs.\323 The three input wells have) 72 312 P
1.24 (already been clocked, and the output \322voter\323 well is about to be clocked. Given that all three) 72 298 P
-0.02 (springs have the same spring constant and have been moved the same distance by the input wells,) 72 284 P
-0.46 (but that the direction of motion is either to the right or to the left depending on the state of the input) 72 270 P
-0.09 (wells, then the actual force applied to the midsection of the card of the output well can be approx-) 72 256 P
0.33 (imated by one of the following simple sums:) 72 242 P
3 F
0.33 (-) 291.99 242 P
0 F
0.33 (3,) 298.58 242 P
3 F
0.33 (-) 310.91 242 P
0 F
0.33 (1, +1, or +3. The card will move to the left if) 317.5 242 P
0.23 (either 2 or 3 of the input cards have buckled to the left, and will move to the right if either 2 or 3) 72 228 P
0.42 (of the input cards have buckled to the right. The input wells are said to \322drive\323 the output wells) 72 214 P
0.8 (either left or right through the springs, while the output well is driven either left or right by the) 72 200 P
-0.18 (springs. \322AND\323 and \322OR\323 gates can be implemented from such voters by leaving one input fixed) 72 186 P
(at logical 0 or 1, respectively.) 72 172 T
-0.49 (Landauer presumed the absence of a negation operation and so proposed the use of \322two rail\323 logic) 72 146 P
0.19 (in which a variable and its complement are available at all times. Negation is then accomplished) 72 132 P
0.27 (by exchanging the two variables. It is relatively simple, however, to make a mechanical inverter) 72 118 P
0.54 (\050see figure 12\051 and so the current mechanical proposal can be more conventional in this respect.) 72 104 P
-0.2 (The ability to use an inverter can be thought of as allowing \322springs\323 with a spring constant of) 72 90 P
3 F
-0.2 (-) 524.41 90 P
0 F
-0.2 (1.) 531 90 P
-0.35 (More generally, springs with relatively arbitrary strengths can be used. Presumably, the details of) 72 76 P
FMENDPAGE
%%EndPage: "15" 15
%%Page: "16" 16
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(16) 300 36 T
72 72 540 720 R
7 X
V
0 X
0.47 (the particular implementation will limit the range of values for the spring constants in any given) 72 712 P
(system.) 72 698 T
0.54 (The next step is to implement combinational logic using wells. We might, for example, assume) 72 672 P
-0.41 (that there are N \322clock signals\323 applied to N sets of wells. We assume that the first set of wells has) 72 658 P
-0.42 (already been clocked, and holds the correct \322initial state.\323 The second set of wells, which are driv-) 72 644 P
0.65 (en by the first set of wells, would then be clocked. The state of the computation would then be) 72 630 P
-0.6 (encoded in the buckled cards in the first and second set of wells. The clock for the third set of wells) 72 616 P
0.56 (would be applied. The second set of wells would drive the third set of wells, and determine the) 72 602 P
0.43 (direction in which the cards in the third set of wells would be driven. This would continue until) 72 588 P
-0.06 (the Nth clock signal was applied to the Nth set of wells. At this point, the output of the Nth set of) 72 574 P
0.36 (wells would be available for use. Once the outputs from the circuit had been used \050possibly in a) 72 560 P
-0.75 (dissipative non-reversible fashion\051 the clock signals could be removed in the reverse order in which) 72 546 P
-0.52 (they had been applied. In this way, any arbitrary function F\050input wells\051 can be computed and then) 72 532 P
(uncomputed.) 72 518 T
-0.71 (Note that this sequence of operations, regardless of the nature of the combinational function F com-) 72 492 P
-0.05 (puted, is fully reversible \050excluding the possibly non-reversible use of the actual output following) 72 478 P
0.34 (application of the Nth clock\051. That is, we could compute the value of a non-reversible combina-) 72 464 P
-0.75 (tional function F, and then un-compute it in a reversible manner. In essence, we can do this because) 72 450 P
0.07 (intermediate values in the computation are stored in the intermediate logic levels. In some sense,) 72 436 P
-0.55 (the actual \322output\323 is really the state of all the wells in the system, not simply the state of the output) 72 422 P
-0.42 (wells. Although we\325re only interested in the state of the output wells and don\325t care about the state) 72 408 P
0.21 (of the other wells, they are available. In the process of reversing the computation, we use the in-) 72 394 P
0.71 (formation stored in the wells in all the logic levels, not just the information stored in the output) 72 380 P
-0.53 (wells. Put another way, we have embedded the \050possibly\051 irreversible combinational function F\050x\051) 72 366 P
-0.39 (into a fully reversible function F\325, where the output of F\325 includes F\050x\051, x, and all intermediate val-) 72 352 P
(ues used to compute F\050x\051 from x.) 72 338 T
0.47 (We will require N \322clock signals\323 to compress the corresponding wells in the proper phase rela-) 72 312 P
-0.49 (tionship. The simplest way to provide periodic compressive motion is to use oscillators each made) 72 298 P
-0.33 (from a mass and a spring. The spring of each oscillator would be connected to a clock driver. The) 72 284 P
-0.23 (clock driver would simply be a rigid body connected to all the wells associated with the oscillator.) 72 270 P
-0.75 (The mass would move up and down, compressing and uncompressing the spring. The spring, when) 72 256 P
(compressed, would push the driver down upon the wells, clocking and unclocking them.) 72 242 T
-0.66 (Unfortunately, such a simple oscillator suffers from two defects. First, the range of motion through) 72 216 P
0.14 (which the clock driver moves might exceed what we desire. Second, the duty cycle might not be) 72 202 P
(what we desire.) 72 188 T
0.56 (In order to achieve good control over the onset and removal of the clocking force, we add some) 72 162 P
-0.68 (additional components. In particular, we add \322limit springs\323 both above and below the clock driver) 72 148 P
0.69 (\050see figure 11\051. These springs are highly non-linear. When they are pulled and achieve a large) 72 134 P
0.18 (extension they flatten out, sharply increasing the force that they apply. Completely straightening) 72 120 P
0.48 (the limit springs would require an extremely large force. This non-linearity can be used to limit) 72 106 P
-0.55 (the motion of the clock driver to the desired range, e.g., the clock driver will neither crush the cards) 72 92 P
0.38 (nor rip off their tops during its normal cycle of operations. Instead, any excess force is taken up) 72 78 P
FMENDPAGE
%%EndPage: "16" 16
%%Page: "17" 17
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(17) 300 36 T
72 72 540 720 R
7 X
V
0 X
0.23 (by the limit springs. The limit springs have a significantly smaller spring constant than the other) 72 712 P
-0.28 (springs in the mechanism, and so in most cases either the upper or lower limit springs will be fully) 72 698 P
0.77 (extended \050e.g., the wells will normally be either \322clocked\323 or \322unclocked,\323 and will not occupy) 72 684 P
-0.64 (some intermediate state\051. During the onset and removal of the clock signal, the strength of the limit) 72 670 P
0.41 (springs will \322soften\323 the rising and falling edges. If the limit springs had no strength \050e.g., were) 72 656 P
-0.08 (replaced by fixed-length pieces of string\051 then the clock driver would tend to \322snap\323 from one ex-) 72 642 P
0.14 (treme of its range of motion to the other. This could result in dissipation of energy. If the spring) 72 628 P
0.05 (constant of the limit springs in their linear \050non-extended\051 range of operation were too large, then) 72 614 P
0.11 (the clock driver would oscillate gently between its upper and lower limits of motion. This would) 72 600 P
-0.74 (mean the onset of the clock signals would be too slow: the wells at stage 3 would start to be clocked) 72 586 P
-0.14 (before the clock signal had been fully applied to the wells at stage 2. By selecting limit springs of) 72 572 P
(appropriate strength, reasonable rise and fall times for the clock signal can be achieved.) 72 558 T
-0.11 (In order to adjust the duty cycle of the oscillator \050so that the wells are clocked and then unclocked) 72 532 P
-0.62 (for the correct periods of time\051 we add additional \322duty cycle springs\323 beneath the clock driver \050see) 72 518 P
-0.09 (figure 11\051. If the duty cycle springs have greater strength than the main oscillator spring, then the) 72 504 P
0.18 (driver will spend most of its time in the up or \322unclocked\323 position. If the duty cycle springs are) 72 490 P
0.21 (weaker than the main oscillator spring, then the driver will spend more of its time in the down or) 72 476 P
-0.14 (\322clocked\323 position. In the limit, if the duty cycle springs had infinite strength \050e.g., were replaced) 72 462 P
0.62 (by solid rods\051 then the driver would always be in the up \050unclocked\051 position. If the duty cycle) 72 448 P
0.16 (springs had no strength, the driver would spend half its time in the up \050clocked\051 position and half) 72 434 P
1.02 (its time in the down \050unclocked\051 position. By selecting duty cycle springs with an appropriate) 72 420 P
(strength, the percentage of time spent in the clocked versus unclocked position can be controlled.) 72 406 T
-0.53 (These clocking mechanisms involve nothing but simple mechanical motion with no contact points.) 72 380 P
-0.44 (By adjusting the duty cycle and the phase relationship of the different oscillators, the proper clock-) 72 366 P
0.15 (ing signals can be generated to drive the wells. Once started, the oscillators will tend to drift and) 72 352 P
0.85 (would have to be kept in the proper phase relationship with each other. Ideally, they would be) 72 338 P
0.44 (phase locked. If, for example, N clock oscillators were operating at some frequency f and small) 72 324 P
-0.16 (multiples of f, then we might have a single master oscillator at a frequency that is a small multiple) 72 310 P
0.23 (of Nf. The clock oscillators would all be phase locked to the master oscillator, and so the proper) 72 296 P
-0.73 (phase relationship would be preserved. Because each clock oscillator can control an arbitrary num-) 72 282 P
-0.25 (ber of wells, and because the oscillators should drift out of phase rather slowly, the energy \050if any\051) 72 268 P
0.7 (dissipated in maintaining the proper phase relationship can be amortized over many well opera-) 72 254 P
(tions. The energy dissipation per well operation from this source can be made arbitrarily small.) 72 240 T
0.01 (If we were to erase information, we would expect to find an energy dissipation mechanism which) 72 214 P
-0.51 (dissipated ln\0502\051) 72 200 P
2 F
-0.51 (kT) 145.82 200 P
0 F
-0.51 ( or more per bit erased. We would not be disappointed. If, for example, we were) 157.82 200 P
0.27 (to unclock logic level 1 then it would be necessary for the input to that logic level to be identical) 72 186 P
-0.05 (to the actual information already stored in the logic level if we are to avoid energy dissipation. In) 72 172 P
0.11 (other words, each well in logic level 1 will be driven either left or right by its input. If some par-) 72 158 P
0.22 (ticular well in logic level 1 is buckled left but is being driven to the right by its input signal, then) 72 144 P
0.55 (unclocking logic level 1 will be a non-reversible operation. Once we release the clock, the well) 72 130 P
-0.11 (will forget its original state. Should we at this point reapply the first clock, the card would buckle) 72 116 P
-0.56 (to the right in response to its input and not to the left: we have forgotten the original state and hence) 72 102 P
(performed an irreversible act. We must pay for this forgetfulness with energy.) 72 88 T
FMENDPAGE
%%EndPage: "17" 17
%%Page: "18" 18
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(18) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.12 (The energy loss in this particular system occurs as we remove the clock signal. A well buckled to) 72 712 P
0.09 (the left but driven to the right will, at some point during removal of the clock, \322snap\323 from left to) 72 698 P
0.47 (right. This \322snap\323 will occur when thermal noise is sufficient to allow the card to overcome the) 72 684 P
0.6 (shrinking energy barrier that separates the leftward position from the rightward position. It will) 72 670 P
-0.73 (indeed dissipate an amount of energy which is several times) 72 656 P
2 F
-0.73 (kT) 356.04 656 P
0 F
-0.73 (. To prevent such dissipative \322snap\323) 368.04 656 P
-0.41 (losses, we must never drive a buckled well in the wrong direction and unclock it. If we do, we will) 72 642 P
-0.55 (suffer energy losses which are several times) 72 628 P
2 F
-0.55 (kT) 282.42 628 P
0 F
-0.55 (. Even more strongly, if we wish to unclock a buck-) 294.42 628 P
-0.04 (led well the buckled well must be driven in the) 72 614 P
2 F
-0.04 (correct) 299.57 614 P
0 F
-0.04 ( direction during the unbuckling operation.) 334.22 614 P
0.2 (In this discussion, we assume that a well is always driven in one direction or the other. The only) 72 600 P
0.49 (time that a well would not be driven in either direction would be during the very brief transition) 72 586 P
-0.01 (when the direction it was being driven was changing from left to right or from right to left. Thus,) 72 572 P
(all unbuckling operations will take place with the well driven either left or right.) 72 558 T
-0.25 (While our objective is to design a reversible logic system in which energy dissipation can be com-) 72 532 P
-0.1 (pletely avoided, we might find it convenient on occasion to erase a bit. In this case, we know that) 72 518 P
0.06 (the least energy dissipation we can hope to achieve is ln\0502\051) 72 504 P
2 F
0.06 (kT) 355.21 504 P
0 F
0.06 (. We can approach this limit by un-) 367.21 504 P
0.09 (clocking the well when the driving force is 0, e.g., the well is driven neither left nor right. In this) 72 490 P
0.28 (way there will be no \322snap\323 as the well is unclocked. This zero driving force can be approached) 72 476 P
0.45 (by connecting a well that we wish to erase \050the \322erasee\323\051 to an otherwise unused \322erasure well.\323) 72 462 P
-0.5 (The information held in the erasee can be moved into the erasure well by clocking the erasure well.) 72 448 P
0.23 (Then we can "unwrite" the erasee without dissipating energy. Of course, this still leaves the era-) 72 434 P
0.84 (sure well holding the information that we wish to erase. Erasing the erasure well is simplified,) 72 420 P
-0.05 (however, because it has only a single input \050that from the erasee\051. After erasing the erasee, it will) 72 406 P
-0.26 (be applying very close to zero driving force to the erasure well. Hence, when we unclock the era-) 72 392 P
-0.55 (sure well, the driving force on it will favor neither the left nor the right position, as desired. There-) 72 378 P
0.29 (fore, in those \050presumably infrequent\051 cases where we do decide to use an irreversible operation,) 72 364 P
-0.13 (it can be made to dissipate close to the minimum amount of energy possible. As mentioned in the) 72 350 P
-0.26 (previous paragraph, in this discussion we are focusing on reversible logic which does not erase in-) 72 336 P
(formation, and so will not consider unbuckling a well when the driving force is 0.) 72 322 T
-0.31 (Given a method of computing combinational logic, we must still build a computer. Again, as with) 72 296 P
-0.45 (non-sliding logic, we assume that there is a reversible function F whose iteration is useful. We can) 72 282 P
-0.39 (use exactly the same general method as described before. We add an additional logic stage to hold) 72 268 P
0.52 (the output of the Nth logic level. Again, we refer to the Nth logic level as the \322output,\323 and the) 72 254 P
0.52 (N+1st level as the \322latch\323 stage. In this case, the latch stage will be identical with all preceding) 72 240 P
-0.07 (stages. It is distinguished only in that each \322latch\323 has a single input from the output stage, rather) 72 226 P
-0.66 (than the three inputs that are common in the earlier logic levels. In this way, the wells in the \322latch\323) 72 212 P
0.54 (stage will be buckled in exactly the same direction as the wells in the output stage. The springs) 72 198 P
0.18 (that carry force between the output stage and the latch stage will always drive the output wells in) 72 184 P
0.09 (the correct direction \050thus eliminating the possibility of a \322snap\323 mechanism of energy loss\051. We) 72 170 P
0.42 (can then safely unclock the output logic level and all preceding logic levels back to the 1st logic) 72 156 P
0.32 (level) 72 142 P
3 F
0.32 (-) 98.65 142 P
0 F
0.32 ( which must remain clocked until it can be \322unwritten.\323 The rest of the construction used) 105.24 142 P
0.19 (with non-sliding logic is now used for buckling logic, and results in a device which is asymptoti-) 72 128 P
(cally nondissipative.) 72 114 T
0.32 (In general, the states of an individual well can be described as follows: the well is either clocked) 72 88 P
FMENDPAGE
%%EndPage: "18" 18
%%Page: "19" 19
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(19) 300 36 T
72 72 540 720 R
7 X
V
0 X
0.58 (and buckled left, clocked and buckled right, or unclocked \050and unbuckled\051. Further, the driving) 72 712 P
0.2 (force applied to the card of the well can be either left or right \050we ban the application of 0 force,) 72 698 P
0.51 (as achieving exactly 0 force might be difficult in practice. This is certainly a pragmatic issue in) 72 684 P
-0.38 (many systems, but it is unclear if it is fundamental\051. The well can therefore be in one of six states.) 72 670 P
0.4 (If buckled left, buckled right, and unbuckled are abbreviated \322\050\323, \322\051\323, and \322|\323; and if driven right) 72 656 P
-0.47 (and driven left are abbreviated \322>\323 and \322<\323, then the six states are: \322>\050\323, \322>|\323, \322>\051\323, \322\050<\323, \322|<\323, and) 72 642 P
-0.15 (\322\051<\323. The symbols \322>\050<\323, \322>|<\323, and \322>\051<\323 will represent the three sets of two states in which the) 72 628 P
-0.36 (drive force is either left or right, e.g., \322>\050<\323 is the set of two states {\322>\050\323, \322\050<\323}. The allowed tran-) 72 614 P
0.35 (sitions are: \050< to |<; |< to \050<; >\051 to >|; >| to >\051; >\050< to >\050<; >\051< to >\051<; and >|< to >|<. Any) 72 600 P
-0.14 (transition which is not allowed is forbidden. Among the banned transitions: a card that is buckled) 72 586 P
-0.67 (left cannot suddenly shift to buckled right, so >\050< cannot become >\051<, and >\051< cannot become >\050<.) 72 572 P
0.75 (Also, to prevent undesired energy loss, we cannot unclock a well that is buckled left but driven) 72 558 P
0.34 (right, nor one that is buckled right but driven left: we ban the transitions >\050 to >| and \051< to |<. A) 72 544 P
(few other unreasonable transitions are also forbidden.) 72 530 T
(This is shown in the following table:) 72 504 T
0.46 (An unclocked well can actually transmit the drive force through itself. That is, some fraction of) 72 240 P
-0.6 (the drive force from the preceding well\050s\051 can be transmitted through to the following wells. These) 72 226 P
0.49 (wells will, in their turn, transmit the \050now much reduced\051 forces on to other wells. In general, a) 72 212 P
0.46 (complex web of diminishing forces will be transmitted through the unclocked wells in a system.) 72 198 P
0.1 (However, if the unclocked wells have a vertical upwards force applied through their drivers, then) 72 184 P
-0.35 (the lateral force transmission will be substantially damped on passage through each well. Because) 72 170 P
0.14 (the \322legitimate\323 forces are significantly larger and take on only a few nominal values, small vari-) 72 156 P
-0.61 (ations in the actual force applied to a particular well will not cause it to buckle the wrong way when) 72 142 P
0.03 (clocked. The course of the computation is not affected by small variations or perturbations in the) 72 128 P
0.13 (system. It is clear, however, that a significant figure of merit is the extent to which an unclocked) 72 114 P
-0.26 (well will prevent through-transmission of an applied driving force. The less force that is transmit-) 72 100 P
-0.43 (ted, the lower the \322noise\323 forces in the system. Reduced noise will allow larger fan-in and fan-out.) 72 86 P
72 72 540 720 C
91.19 288 520.8 474 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
91.19 288 520.8 474 R
7 X
0 0 0 1 0 0 0 K
V
206.37 312 494.37 444 R
V
3 14 Q
0 X
(>\050) 260.37 434.67 T
(\050<) 287.37 434.67 T
(>|) 314.37 434.67 T
(|<) 341.37 434.67 T
(>\051) 368.37 434.67 T
(\051<) 395.37 434.67 T
(>\050) 226.37 402.67 T
(+) 260.37 402.67 T
(+) 287.37 402.67 T
(-) 314.37 402.67 T
(-) 341.37 402.67 T
(-) 368.37 402.67 T
(-) 395.37 402.67 T
(\050<) 226.37 386.67 T
(+) 260.37 386.67 T
(+) 287.37 386.67 T
(-) 314.37 386.67 T
(+) 341.37 386.67 T
(-) 368.37 386.67 T
(-) 395.37 386.67 T
(>|) 226.37 370.67 T
(-) 260.37 370.67 T
(-) 287.37 370.67 T
(+) 314.37 370.67 T
(+) 341.37 370.67 T
(+) 368.37 370.67 T
(-) 395.37 370.67 T
(|<) 226.37 354.67 T
(-) 260.37 354.67 T
(+) 287.37 354.67 T
(+) 314.37 354.67 T
(+) 341.37 354.67 T
(-) 368.37 354.67 T
(-) 395.37 354.67 T
(>\051) 226.37 338.67 T
(-) 260.37 338.67 T
(-) 287.37 338.67 T
(+) 314.37 338.67 T
(-) 341.37 338.67 T
(+) 368.37 338.67 T
(+) 395.37 338.67 T
(\051<) 226.37 322.67 T
(-) 260.37 322.67 T
(-) 287.37 322.67 T
(-) 314.37 322.67 T
(-) 341.37 322.67 T
(+) 368.37 322.67 T
(+) 395.37 322.67 T
127.19 330 199.2 375 R
7 X
V
1 F
0 X
(Initial State) 127.19 365.67 T
(Final State) 289.2 455.67 T
172.2 285 442.2 303 R
7 X
V
0 X
(Allowed \050) 192.2 293.67 T
3 F
(+) 249.36 293.67 T
1 F
(\051 and forbidden \050) 257.04 293.67 T
3 F
(-) 358.56 293.67 T
1 F
(\051 transitions) 366.24 293.67 T
244.2 438 244.2 321 2 L
7 X
V
0.5 H
2 Z
0 X
N
217.2 420 415.2 420 2 L
7 X
V
0 X
N
72 72 540 720 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "19" 19
%%Page: "20" 20
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(20) 300 36 T
72 72 540 720 R
7 X
V
0 X
0.14 (\050Interestingly, these \322noise\323 forces can be usefully employed in a different logic mode, described) 72 712 P
(later, and the \322figure of merit\323 would become a \322figure of demerit.\323\051) 72 698 T
-0.55 (Once the clock oscillators are adjusted so that the oscillations have the correct amplitude and phase) 72 672 P
-0.16 (relationships, the computation will proceed. By reducing the speed of operation, the energy dissi-) 72 658 P
-0.26 (pation per well operation can be made arbitrarily small. A perfectly elastic material would exhibit) 72 644 P
-0.46 (no losses. Real materials approach this ideal as they move more slowly, so energy dissipation from) 72 630 P
0.08 (this source can be reduced indefinitely. The method of maintaining the proper phase relationship) 72 616 P
-0.66 (between the oscillators might possibly require energy, but the energy dissipation per well operation) 72 602 P
-0.29 (\050if any\051 from this source can be made arbitrarily small by increasing the number of wells per clock) 72 588 P
0.12 (phase \050only a small, finite number of clock phases are required even when the number of wells is) 72 574 P
-0.38 (increased indefinitely\051; and by increasing the stability of the oscillators so that adjustments in their) 72 560 P
-0.32 (frequency are infrequent. Other sources of energy dissipation \050e.g., electromagnetic radiation\051 ap-) 72 546 P
(pear to be insignificant by comparison.) 72 532 T
-0.12 (It is instructive to consider the system from the point of view of a single atom within it. The local) 72 506 P
0.48 (neighborhood around the atom would change very little during each cycle: only small perturba-) 72 492 P
-0.55 (tions in the local geometry would take place. While large macroscopic motions would occur, these) 72 478 P
-0.19 (would never involve large changes in local structures, e.g., they would never involve the close ap-) 72 464 P
-0.39 (proach of two atoms that were initially far apart, nor the separation of two atoms that were initially) 72 450 P
-0.35 (close. The local potential energy function describing the energy of the local arrangement of atoms) 72 436 P
0.13 (as a function of the positions of their nuclei would be in a local minima. The small perturbations) 72 422 P
0.67 (in position caused by the elastic deformations of the overall structure would dissipate very little) 72 408 P
-0.35 (energy if they were not too rapid. The energy loss that must inherently take place in such a system) 72 394 P
(can be made arbitrarily small by reducing the speed of operation.) 72 380 T
0.45 (A possible candidate for a very small card would be a sheet that was one or two atoms thick. A) 72 354 P
-0.57 (sheet that was 10 nanometers high by 1 nanometer wide would have a few hundred atoms. We will) 72 340 P
-0.15 (use a very much larger size \05010,000 atoms\051 in the calculations below simply to provide a large de-) 72 326 P
0.52 (sign margin. That is, it seems virtually certain that some arrangement of 10,000 or fewer atoms) 72 312 P
-0.56 (will correctly implement a card and related connecting springs. If we reduced the number of atoms) 72 298 P
0.2 (available to build the device, then we would need to specify the device design in greater detail to) 72 284 P
-0.39 (insure that the construction was still feasible. \050As an example of what should be possible in purely) 72 270 P
0.25 (mechanical systems, a single \322lock\323 in Drexler\325s rod logic has a volume of 4.1 cubic nanometers) 72 256 P
(and somewhat fewer than 500 atoms[2]\051.) 72 242 T
-0.39 (From a mechanical point of view, a card will become increasingly sensitive to lateral force applied) 72 216 P
(to its midsection as it becomes thinner and longer. Quantitatively, we have) 72 202 T
-0.57 (where) 72 127 P
2 F
-0.57 (f) 103.74 127 P
0 F
-0.57 ( is the lateral force applied to the middle of the card,) 107.08 127 P
2 F
-0.57 (h) 354.5 127 P
0 F
-0.57 ( is the height of the card,) 360.5 127 P
2 F
-0.57 (E) 478.48 127 P
0 F
-0.57 ( is Young\325s) 485.81 127 P
-0.38 (Modulus,) 72 113 P
2 F
-0.38 (t) 120.3 113 P
0 F
-0.38 ( is the thickness of the card,) 123.63 113 P
2 F
-0.38 (w) 257.64 113 P
0 F
-0.38 ( is width of the card, and) 265.65 113 P
2 F
-0.38 (d) 385 113 P
0 F
-0.38 ( is the distance the center of the) 391 113 P
-0.75 (card moves under the applied force[22]. The continuum approximation will break down as the card) 72 99 P
-0.43 (becomes sufficiently small and atomic structure becomes significant. In this case, molecular mod-) 72 85 P
72 72 540 720 C
78 149 534 198 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2 12 Q
0 X
0 0 0 1 0 0 0 K
(d) 280.93 168.92 T
(f) 308.62 174.66 T
(h) 312.49 174.66 T
0 7 Q
(3) 318.94 178.41 T
0 9 Q
(4) 301.18 160.64 T
2 12 Q
(E) 306.21 160.64 T
(t) 314.07 160.64 T
0 7 Q
(3) 317.85 164.39 T
2 12 Q
(w) 321.88 160.64 T
0 9 Q
(-) 301.18 168.92 T
(-) 302.67 168.92 T
(-) 304.17 168.92 T
(-) 305.67 168.92 T
(-) 307.17 168.92 T
(-) 308.67 168.92 T
(-) 310.17 168.92 T
(-) 311.67 168.92 T
(-) 313.16 168.92 T
(-) 314.66 168.92 T
(-) 316.16 168.92 T
(-) 317.66 168.92 T
(-) 319.16 168.92 T
(-) 320.66 168.92 T
(-) 322.15 168.92 T
(-) 323.65 168.92 T
(-) 325.15 168.92 T
(-) 326.65 168.92 T
(-) 326.89 168.92 T
(=) 291.43 168.92 T
72 72 540 720 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "20" 20
%%Page: "21" 21
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(21) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.42 (eling techniques that take into account bond bending and other bond parameters would be required) 72 712 P
(to analyze the behavior of the structure.) 72 698 T
0.12 (In point of fact, a card under compression is a tristable device. That is, it can buckle either to the) 72 672 P
0.12 (left, to the right, or balance \050perhaps precariously, depending on its thickness and height\051 straight) 72 658 P
-0.03 (up and down. As the card becomes thinner and higher, the size of the \322balancing\323 region will be-) 72 644 P
0.15 (come smaller and smaller. In the case of a card that was one atomic monolayer thick, this region) 72 630 P
0.2 (would be vanishingly small. In a logical sense, this has no impact on the previous discussion. If) 72 616 P
-0.27 (we have a tristable device, then we can simply exclude one of the three stable states and utilize the) 72 602 P
-0.47 (remaining two stable states for device function. While this makes the \322feel\323 of the terminology we) 72 588 P
0.03 (have adopted somewhat odd \050\322buckled left,\323 for example, might be implemented by a card that is) 72 574 P
-0.43 (balanced under compression\051 the principles still apply. Alternatively, by selecting the lateral force) 72 560 P
-0.37 (large enough to drive the physical card into either the left-most or right-most stable state \050avoiding) 72 546 P
0.65 (the central stable state entirely\051 we can \050for logical purposes\051 ignore the existence of the central) 72 532 P
0.71 (stable state. Of course, this will reduce the force sensitivity of the device \050unless the card is an) 72 518 P
0.71 (atomic monolayer, in which case the central stable state does not exist\051. On the other hand, we) 72 504 P
-0.46 (could get maximal lateral force sensitivity by using the central stable state and the right stable state) 72 490 P
-0.13 (\050using only two of the three physically available stable states\051. A device that used only two of the) 72 476 P
0.65 (three physically available states should exhibit remarkable sensitivity to lateral force. If it were) 72 462 P
0.6 (properly balanced \050either by being manufactured that way to begin with, or by being \322trimmed\323) 72 448 P
0.55 (afterwards\051 the only limiting factor on the force sensitivity would be thermal noise. That is, the) 72 434 P
-0.39 (energy spent in pushing the card laterally would have to exceed several times) 72 420 P
2 F
-0.39 (kT) 441.18 420 P
0 F
-0.39 (, for thermal noise) 453.18 420 P
0.67 (might otherwise cause the card\325s position to fluctuate enough to cause it to buckle in the wrong) 72 406 P
(direction. There seems to be no other inherent lower limit on the applied lateral force.) 72 392 T
0.79 (Even though buckled logic eliminates several obvious sources of energy dissipation, dissipative) 72 366 P
-0.62 (mechanisms still exist. The mere fact that a real elastic system is buckled and unbuckled will cause) 72 352 P
-0.19 (energy dissipation in much the same way that compression and decompression of a gas causes en-) 72 338 P
0.52 (ergy dissipation[20]. Drexler concluded that the major source of energy dissipation in rod-logic) 72 324 P
0.12 (operating at 50 picoseconds was from this kind of mechanism[2]. The fundamental energy dissi-) 72 310 P
-0.69 (pation mechanisms that exist even in a perfect non-conducting solid are thermoelastic damping and) 72 296 P
(phonon damping[18, 32].) 72 282 T
-0.19 (An infinitely slow isothermal cycle of compression and decompression of a gas can be dissipation) 72 256 P
0.53 (free. In the same way, the isothermal buckling and unbuckling of a card can also be dissipation) 72 242 P
-0.01 (free. In reality, of course, neither operation is infinitely slow nor perfectly isothermal. If a single) 72 228 P
-0.31 (cycle takes time) 72 214 P
3 F
-0.31 (t) 151.4 214 P
0 F
-0.31 (, then the energy dissipated per cycle will be) 156.67 214 P
3 F
-0.31 (D) 370.54 214 P
0 F
-0.31 (E =) 377.89 214 P
3 F
-0.31 (k/t) 397.38 214 P
0 F
-0.31 ( for some suitable constant) 412.57 214 P
3 F
(k) 72 200 T
0 F
(. By slowing down the cycle time, the energy dissipation per cycle can be reduced indefinitely.) 78.59 200 T
0.88 (It is interesting to note that a relatively rigid structure of small size can only support vibrations) 72 174 P
-0.36 (above a certain frequency. If the speed of sound in the structure is 10,000 meters per second while) 72 160 P
-0.16 (the size is 10 nanometers, then the lowest frequency vibrations will be about 10) 72 144.67 P
0 8 Q
-0.11 (12) 451.83 148.67 P
0 12 Q
-0.16 ( hertz. Quantum) 459.83 144.67 P
-0.11 (theory dictates that the allowed vibrational energies of a vibrational mode at frequency) 72 130.67 P
2 F
-0.11 (f) 490.13 130.67 P
0 F
-0.11 ( are \050n+1/) 493.47 130.67 P
0.11 (2\051) 72 115.33 P
2 F
0.11 (hf) 85.11 115.33 P
0 F
0.11 (, where n is the quantum number and) 94.44 115.33 P
2 F
0.11 (h) 276.3 115.33 P
0 F
0.11 ( is Planck\325s constant or 6.6 x 10) 282.3 115.33 P
3 8 Q
0.07 (-) 436.4 119.33 P
0 F
0.07 (34) 440.79 119.33 P
0 12 Q
0.11 ( joule seconds[21].) 448.79 115.33 P
-0.02 (Thus, the vibrational energies are separated by) 72 100 P
2 F
-0.02 (hf) 298.48 100 P
0 F
-0.02 ( or about 6.6 x 10) 307.81 100 P
3 8 Q
-0.01 (-) 392.38 104 P
0 F
-0.01 (22) 396.77 104 P
0 12 Q
-0.02 ( joules. This corresponds to) 404.77 100 P
0.17 (a temperature of 6.6 x 10) 72 84.67 P
3 8 Q
0.12 (-) 193.5 88.67 P
0 F
0.12 (22) 197.9 88.67 P
0 12 Q
0.17 (/1.38 x 10) 205.9 84.67 P
3 8 Q
0.12 (-) 254.58 88.67 P
0 F
0.12 (23) 258.97 88.67 P
0 12 Q
0.17 ( or almost 50 kelvins. The average value of n at thermal) 266.97 84.67 P
FMENDPAGE
%%EndPage: "21" 21
%%Page: "22" 22
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(22) 300 36 T
72 72 540 720 R
7 X
V
0 X
(equilibrium, , is given by:) 72 712 T
-0.13 (At 50 kelvins is about 1.7. At 2 kelvins, is about 10) 72 635.4 P
3 9.6 Q
-0.1 (-) 364.96 640.2 P
0 8 Q
-0.09 (11) 370.23 639.4 P
0 12 Q
-0.13 (, so the probability that n equals 0) 378.23 635.4 P
(is almost 1 \050e.g., the system is almost certainly in the ground state\051.) 72 621.4 T
0.27 (To rephrase this in words, at some sufficiently low temperature a small rigid structure has essen-) 72 595.4 P
-0.5 (tially zero heat capacity because the transition from the ground state to the lowest excited state will) 72 581.4 P
-0.18 (require significantly more energy than can be provided by thermal noise. This in turn implies that) 72 567.4 P
-0.76 (buckling and unbuckling \050e.g., mechanical distortions of the structure\051 will not cause any heat flow.) 72 553.4 P
0.43 (This raises the interesting possibility that operation of a mechanical logic device below a certain) 72 539.4 P
-0.23 (temperature can result in an exponential decrease in energy dissipation as a function of decreasing) 72 525.4 P
0.16 (temperature. A logic device that dissipated such a small amount of energy is not in principle im-) 72 511.4 P
(possible, so this possibility \050while remarkable\051 does not violate any physical laws.) 72 497.4 T
0.41 (An actual mechanical computer would have many gates, so the size of the whole structure could) 72 471.4 P
0.61 (be quite large. As a consequence, lower frequency vibrational modes would exist in the overall) 72 457.4 P
0.01 (structure. If the wavelengths associated with these lower frequencies are significantly larger than) 72 443.4 P
0.15 (the size of an individual logic element, then it should be feasible to make coupling between logic) 72 429.4 P
-0.35 (operations and these low frequency modes very small. Further analysis of the possible energy dis-) 72 415.4 P
-0.77 (sipation mechanisms involving these lower frequency modes is needed before firm conclusions can) 72 401.4 P
(be made.) 72 387.4 T
-0.26 (Measurements of energy dissipation of single-crystal silicon \050including measurements at tempera-) 72 361.4 P
-0.35 (tures of 0.005 to 4.2 Kelvin\051 by Kleiman et. al.[23, 24] show that Q\325s in the range of 10) 72 346.07 P
0 8 Q
-0.23 (4) 486.05 350.07 P
0 12 Q
-0.35 ( to 10) 490.05 346.07 P
0 8 Q
-0.23 (8) 516.69 350.07 P
0 12 Q
-0.35 ( can) 520.69 346.07 P
-0.26 (be achieved \050e.g., an energy dissipation of one part in 10) 72 330.73 P
0 8 Q
-0.17 (4) 340.99 334.73 P
0 12 Q
-0.26 ( to one part in10) 344.99 330.73 P
0 8 Q
-0.17 (8) 422.61 334.73 P
0 12 Q
-0.26 ( per cycle\051. They iden-) 426.61 330.73 P
0.57 (tified two-level systems, possibly created by oxygen and carbon impurities in the sample, as the) 72 316.73 P
0.12 (dominant energy dissipation mechanism at low temperature. Their samples were also relatively) 72 302.73 P
0.14 (large and as a consequence they were operating in a regime where) 72 288.73 P
2 F
0.14 (h) 394.23 288.73 P
3 F
0.14 (w) 400.23 288.73 P
0 F
0.14 ( <<) 408.46 288.73 P
2 F
0.14 (kT) 428.28 288.73 P
0 F
0.14 ( \050e.g., low frequency) 440.28 288.73 P
-0.17 (phonons with energies much lower than thermal noise were present\051, so their results are not appli-) 72 274.73 P
-0.37 (cable to questions of energy dissipation by a small device \050in which low frequency phonons do not) 72 260.73 P
0.43 (occur\051. If the imperfections of the material were eliminated and the size reduced, substantial re-) 72 246.73 P
(ductions in energy dissipation should be feasible.) 72 232.73 T
-0.48 (Buser and Derooij achieved a Q of over 600,000 for Si at about 24,000 Hz[33]. Hu et. al. obtained) 72 206.73 P
-0.11 (a Q of 400,000 for SiC at 4 K at a frequency of about 20,000 Hz[34]. Quartz crystals with a Q of) 72 192.73 P
-0.58 (greater than 10) 72 177.4 P
0 8 Q
-0.39 (9) 142.81 181.4 P
0 12 Q
-0.58 ( \050a billion\051 at a temperature of about 2 Kelvins and a frequency of a megahertz have) 146.81 177.4 P
0.34 (been observed experimentally[32]. Using bulk approximations, in theory 2) 72 162.07 P
3 F
0.34 (p) 436.65 162.07 P
0 F
0.34 (fQ = 10) 443.24 162.07 P
0 8 Q
0.22 (14) 481.35 166.07 P
0 12 Q
0.34 ( for quartz) 489.35 162.07 P
-0.68 (oscillators at room temperature if defects in the material are eliminated[32]. At one megahertz, this) 72 148.07 P
(implies a Q of greater than 10) 72 132.73 T
0 8 Q
(7) 215.3 136.73 T
0 12 Q
(.) 219.3 132.73 T
0.38 (Energy dissipation can also be caused by excitation of vibratory motions by the clocking motion) 72 106.73 P
0.92 (itself. In this case, the energy dissipation will depend on the frequency spectrum of the applied) 72 92.73 P
0.45 (clocking motion. If some vibratory mode has a high frequency, it will not be excited by a clock) 72 78.73 P
72 72 540 720 C
78 660.87 534 708 C
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
2 12 Q
0 X
0 0 0 1 0 0 0 K
(n) 263.34 686.19 T
3 10 Q
(\341) 258.87 686.19 T
(\361) 269.34 686.19 T
0 F
(1) 318.49 691.74 T
2 12 Q
(e) 289.05 673.29 T
(h) 299.05 678 T
(f) 305.59 678 T
3 7 Q
(\350) 294.88 676.57 T
(\370) 309.24 676.57 T
(\346) 294.88 682.57 T
(\366) 309.24 682.57 T
2 12 Q
(k) 321.58 678 T
(T) 327.44 678 T
3 7 Q
(\350) 317.41 676.57 T
(\370) 334.43 676.57 T
(\346) 317.41 682.57 T
(\366) 334.43 682.57 T
(\244) 314.49 678 T
0 10 Q
(1) 347.93 673.29 T
(\320) 340.43 673.29 T
(-) 289.05 686.19 T
(-) 290.72 686.19 T
(-) 292.38 686.19 T
(-) 294.05 686.19 T
(-) 295.71 686.19 T
(-) 297.38 686.19 T
(-) 299.04 686.19 T
(-) 300.71 686.19 T
(-) 302.37 686.19 T
(-) 304.04 686.19 T
(-) 305.7 686.19 T
(-) 307.37 686.19 T
(-) 309.03 686.19 T
(-) 310.7 686.19 T
(-) 312.36 686.19 T
(-) 314.03 686.19 T
(-) 315.69 686.19 T
(-) 317.36 686.19 T
(-) 319.02 686.19 T
(-) 320.69 686.19 T
(-) 322.35 686.19 T
(-) 324.02 686.19 T
(-) 325.68 686.19 T
(-) 327.35 686.19 T
(-) 329.01 686.19 T
(-) 330.68 686.19 T
(-) 332.34 686.19 T
(-) 334.01 686.19 T
(-) 335.67 686.19 T
(-) 337.34 686.19 T
(-) 339 686.19 T
(-) 340.67 686.19 T
(-) 342.33 686.19 T
(-) 344 686.19 T
(-) 345.66 686.19 T
(-) 347.33 686.19 T
(-) 348.99 686.19 T
(-) 349.6 686.19 T
(=) 278.22 686.19 T
72 72 540 720 C
0 0 612 792 C
FMENDPAGE
%%EndPage: "22" 22
%%Page: "23" 23
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(23) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.5 (signal which has no high frequency components. By this logic, the optimal profile for the clocking) 72 712 P
-0.04 (motion is a pulse which has as few high frequency components as possible. The best candidate is) 72 698 P
-0.16 (the gaussian function exp) 72 682.67 P
3 F
-0.16 (\050-) 193.85 682.67 P
0 F
-0.16 (px) 204.43 682.67 P
0 8 Q
-0.1 (2) 216.43 686.67 P
0 12 Q
-0.16 (\051. When x = 0, the gaussian has a value of 1. As x increases or de-) 220.43 682.67 P
0.5 (creases, the value of the gaussian falls off smoothly and rapidly to very low values. The fourier) 72 668.67 P
-0.45 (transform of the gaussian is also a gaussian: exp\050) 72 653.33 P
3 F
-0.45 (-) 303.72 653.33 P
0 F
-0.45 (ps) 310.31 653.33 P
0 8 Q
-0.3 (2) 320.97 657.33 P
0 12 Q
-0.45 (\051, where s is the frequency[17]. The gaussian) 324.97 653.33 P
0.67 (has a faster than exponential fall off in amplitude at higher frequencies. If we start with simple) 72 639.33 P
0.22 (ideal square-wave clock motions, they can be convolved with a gaussian to produce a \322softened\323) 72 625.33 P
0.41 (square wave with gradually rising and falling edges. The resulting clock function will retain the) 72 611.33 P
-0.19 (faster than exponential fall-off of high frequency components. By employing a gaussian-softened) 72 597.33 P
-0.6 (time profile for the clocking motion, the energy dissipation of a logic element can be reduced faster) 72 583.33 P
-0.62 (than exponentially by reducing the frequency with which this clock pulse is applied to significantly) 72 569.33 P
0.06 (below the frequency of the lowest vibratory mode of the logic element. In this way, excitation of) 72 555.33 P
1.01 (any vibratory modes can be avoided. As noted above, a reasonable low-frequency cutoff for a) 72 541.33 P
-0.46 (small logic gate of some 10,000 atoms is in the picosecond range. Nanosecond clock pulses which) 72 527.33 P
-0.33 (do not contribute any significant amount to energy dissipation by this mechanism should therefore) 72 513.33 P
(be possible.) 72 499.33 T
0.8 (As a consequence of these considerations we conjecture that there exists a physically realizable) 72 473.33 P
-0.52 (system \050e.g., an appropriately arranged collection of atoms\051 which implements the general purpose) 72 459.33 P
0.38 (capabilities of a computer and in which the energy dissipation per logic operation falls off expo-) 72 445.33 P
-0.53 (nentially as both the temperature and the speed of operation are simultaneously reduced. This con-) 72 431.33 P
0.05 (jecture is qualified by the observations that, at some point, energy dissipation from gravity waves) 72 417.33 P
-0.54 (\050incredibly slight as this would be in such a system\051 would eventually become significant if all oth-) 72 403.33 P
0.2 (er sources of energy dissipation were sufficiently reduced; and by the further observation that ra-) 72 389.33 P
0.16 (diation caused by the acceleration of charged particles, even though the mechanical systems con-) 72 375.33 P
0.12 (sidered here could be implemented by very nearly charge-neutral structures with extremely small) 72 361.33 P
0.08 (dipole moments, would also eventually become significant. Further research on the energy dissi-) 72 347.33 P
-0.37 (pation modes involved in systems of many logic elements is required to confirm or refute this con-) 72 333.33 P
(jecture.) 72 319.33 T
-0.38 (\322Buckled logic\323 seems to be an evolutionary endpoint in efforts to reduce the interactions between) 72 293.33 P
-0.18 (the parts of a mechanical logic system. The only interactions are elastic. It provides a simple me-) 72 279.33 P
-0.53 (chanical model for a class of clocked reversible computations, and is another illustration of the fact) 72 265.33 P
-0.12 (that a clocked mechanical reversible computer which dissipates an arbitrarily small amount of en-) 72 251.33 P
(ergy per logic operation can be built from an appropriate arrangement of atoms.) 72 237.33 T
1 14 Q
(The Relationship of Buckled Logic and Rod Logic) 72 202 T
0 12 Q
0.11 (The relationship between buckled logic and rod logic might not be immediately obvious. In fact,) 72 175.33 P
0.56 (rod logic is also a member of the broad class of clocked reversible computational models which) 72 161.33 P
-0.68 (use a flexible potential well to perform logic operations. The gate knob in rod logic blocks the free-) 72 147.33 P
0.55 (dom of motion of the probe knob, and so prevents the probe rod from freely moving through its) 72 133.33 P
0.04 (entire range of motion. The \322potential well\323 in which the probe rod moves is thus bifurcated into) 72 119.33 P
0.28 (two separate regions by motion of the gate knob. There are three main conceptual differences in) 72 105.33 P
0.86 (rod logic. First, the potential well has a flatter bottom and steeper sides, changing the intuitive) 72 91.33 P
-0.41 (\322feel\323 of its behavior. Second, the \322coupling constant\323 between wells is much higher. Finally, be-) 72 77.33 P
FMENDPAGE
%%EndPage: "23" 23
%%Page: "24" 24
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(24) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.68 (cause of these two differences, Drexler employed a logically different method to map abstract logic) 72 712 P
(functions onto a physical device.) 72 698 T
0.16 (As an example, we can consider how to use potential wells similar to those used in buckled logic) 72 672 P
0.62 (to implement logic functions in the rod logic style. Consider two wells, A and B. If we set the) 72 658 P
-0.56 (spring constant of the spring that couples A and B to infinity \050e.g., we replace the spring with a stiff) 72 644 P
0.18 (rod\051 then the cards in the two wells will necessarily have the same lateral motions. If we apply a) 72 630 P
-0.03 (lateral force to the card of well A, this necessarily is applying a lateral force to the card of well B,) 72 616 P
-0.57 (for they are now one mechanical unit. For this reason, when we apply a lateral force we can simply) 72 602 P
-0.1 (say that it is applied to the rod and need not attempt to distinguish which card of which well it has) 72 588 P
-0.41 (been applied to, for it has been applied to both. Should we apply a leftward lateral force to the rod,) 72 574 P
-0.16 (and then buckle either A or B, the rod will be locked into a leftward position. A subsequent right-) 72 560 P
0.24 (ward force will not change the position of the rod appreciably. If, however, we buckle neither A) 72 546 P
1.13 (nor B, then a subsequent rightward force will move the rod to the right. In essence, this is an) 72 532 P
0.2 (\322AND\323 gate. Instead of treating the buckling force as a clock input, we are treating it as a signal) 72 518 P
-0.62 (input. Instead of treating the lateral force as a signal input, we are treating it as a clock input. Thus,) 72 504 P
-0.42 (the roles of \322clock\323 and \322signal\323 have been reversed. If we replace \322squeeze the well\323 with \322apply) 72 490 P
0.39 (force to move the gate knob into the lock,\323 and if we replace \322apply a rightward force to the rod) 72 476 P
-0.12 (connecting the wells\323 with \322pull on the rod\323 then the essential relationship of buckled logic to rod) 72 462 P
(logic can be seen.) 72 448 T
-0.41 (The possible combined states of two wells connected by a rod are: >\050\050<, >||<, >\051\051<, >|\051<, >\051|<, >|\050<) 72 422 P
0.14 (and >\050|<. The states >\050\051< and >\051\050< can reasonably be banned. State transitions can be defined as) 72 408 P
0.17 (before. Just as there can be many gates on a rod, so there can be many wells connected by a rod.) 72 394 P
0.38 (Three, four, or more wells can be connected by a rod, representing multi-input AND gates. Dif-) 72 380 P
-0.3 (ferent physical devices, which have differently shaped potential wells and different coupling char-) 72 366 P
-0.5 (acteristics between wells, can use either approach. Some devices will lend themselves better to the) 72 352 P
-0.04 (rod logic approach, others will be better served by the buckled logic approach. Some devices can) 72 338 P
(be adapted for use in either fashion.) 72 324 T
1 14 Q
(Conclusions) 72 288.67 T
0 12 Q
0.43 (We have described two methods of making mechanical reversible logic. In the first method, the) 72 262 P
-0.14 (underlying physical assumptions are: \0501\051 a set of relatively rigid parts; \0502\051 all parts are held in po-) 72 248 P
0.49 (sition by some fully elastic restoring force \050for example, fully elastic support columns\051; \0503\051 two) 72 234 P
-0.39 (parts can interact repulsively at a point of close approach \050e.g., gate knobs can block probe knobs\051;) 72 220 P
-0.16 (\0504\051 it is possible to apply a force to a part \050pull on it\051 in a simple, fixed, repetitive temporal pattern) 72 206 P
0.26 (\050which might be done with fully elastic springs\051 and \0505\051 there is no lateral \050sliding\051 motion at the) 72 192 P
0.72 (points of contact. These assumptions can be met by a number of different physically realizable) 72 178 P
-0.43 (systems, including systems that are physically very small. Non-sliding logic with parts made from) 72 164 P
0.19 (individual molecules should be possible. Further, the positions and interactions of the parts need) 72 150 P
0.08 (not be perfect. Any slight errors in the original arrangement of the parts or slight differences that) 72 136 P
0.36 (arise during operation will have no impact on the course of the computation. The elimination of) 72 122 P
2.4 (sliding motion makes implementation of mechanical logic using current micromachine tech-) 72 108 P
(niques[16] more attractive.) 72 94 T
FMENDPAGE
%%EndPage: "24" 24
%%Page: "25" 25
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(25) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.29 (The second method eliminates the need to have any contact at all between the parts of the comput-) 72 712 P
-0.56 (er. Elastic deformations of a single complexly shaped block of material encode the \3220\325s\323 and \3221\325s\323) 72 698 P
-0.21 (of the computation. The computation itself proceeds as rhythmic compressive forces occur in this) 72 684 P
-0.09 (block as a result of periodic motion caused by oscillating masses, which might themselves be part) 72 670 P
-0.62 (of the block. The basic operation involves buckling an elastic structure which can adopt one of two) 72 656 P
(stable states. This is a mechanical implementation of a flexible potential well.) 72 642 T
-0.38 (The use of clocked bistable flexible potential wells to perform reversible logic operations has been) 72 616 P
-0.12 (previously studied. A variety of physically realizable implementations of such wells are possible,) 72 602 P
1.22 (including Drexler\325s rod logic[2], Likharev\325s parametric quantron[9, 10], and the two proposals) 72 588 P
-0.64 (made in this paper: non-sliding logic and buckled logic. These proposals are based on either purely) 72 574 P
0.07 (mechanical or purely electrical principles. Devices based on combined electromechanical princi-) 72 560 P
-0.22 (ples are also quite feasible, and would represent another broad range of devices that have not been) 72 546 P
(considered here.) 72 532 T
-0.43 (While it is plausible that yet-to-be-invented molecular electronic logic devices will prove superior) 72 506 P
0.2 (to molecular mechanical logic devices, it is premature to conclusively rule molecular mechanical) 72 492 P
-0.43 (logic devices out of the running. It seems that molecular mechanical logic will ultimately be slow-) 72 478 P
-0.42 (er than electronic logic, but other factors are also significant; e.g., size, energy dissipation, temper-) 72 464 P
0.34 (ature of operation, etc. Small size could be particularly useful for high-density memory applica-) 72 450 P
-0.28 (tions, where increased storage capacity could compensate for slower speed. Because of its revers-) 72 436 P
-0.47 (ible nature, it is possible to implement mechanical reversible logic in such a fashion that it will dis-) 72 422 P
0.52 (sipate significantly less than) 72 408 P
2 F
0.52 (kT) 212.76 408 P
0 F
0.52 ( energy per operation. The loss of energy in non-sliding logic at) 224.76 408 P
-0.39 (the points of contact of the parts can be made very small, particularly when the individual parts are) 72 394 P
0.55 (small. Buckling logic eliminates any need for contact at all which effectively eliminates energy) 72 380 P
1.03 (dissipation from this source. Dramatic reductions in energy dissipation when buckling logic is) 72 366 P
-0.71 (used at low temperatures might be possible. Mechanical logic proposals can be scaled to molecular) 72 352 P
-0.09 (sizes. When this is done, the speed of operation can be in the nanosecond range or faster. Current) 72 338 P
-0.38 (mechanical proposals propagate information at speeds well below the speed of sound in the device) 72 324 P
0.03 (to simplify analysis. It seems likely that mechanical device designs that propagate information at) 72 310 P
0.11 (the speed of sound should be feasible, though this is still open. Scaling to such small sizes might) 72 296 P
-0.19 (raise fundamental issues with electronic devices) 72 282 P
3 F
-0.19 (-) 304.8 282 P
0 F
-0.19 ( these issues are avoided in mechanical designs.) 311.39 282 P
-0.18 (Projections of current trends in energy dissipation per gate operation[6] suggest that the) 72 256 P
2 F
-0.18 (kT) 493.2 256 P
0 F
-0.18 (\322barri-) 508.02 256 P
1.44 (er\323 will become significant within ten to twenty years. It would appear that any logic family) 72 242 P
0.09 (\050whether electronic, mechanical or other\051 which is not reversible will eventually be non-competi-) 72 228 P
0 (tive. Rod logic, non-sliding logic and buckling logic appear to be quite attractive members of the) 72 214 P
-0.53 (mechanical logic family because the energy dissipation of these methods can be quite low. Further) 72 200 P
0.07 (research with the long term goal of finding a practical implementation \050of whatever nature\051 of re-) 72 186 P
(versible computation should be pursued.) 72 172 T
1 F
(Acknowledgments) 72 120 T
0 F
0.77 (The author would like to thank K. Eric Drexler, Edward Fredkin, Rolf Landauer, Norman Mar-) 72 94 P
(golus, and Jeff Soreff.) 72 80 T
FMENDPAGE
%%EndPage: "25" 25
%%Page: "26" 26
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(26) 300 36 T
72 72 540 720 R
7 X
V
1 14 Q
0 X
(Refer) 72 676.67 T
(ences) 105.17 676.67 T
0 12 Q
0.24 (1.\051) 72 650 P
2 F
0.24 (Of the Analytical Engine) 85 650 P
0 F
0.24 (, by Charles Babbage, 1864, in:) 204.72 650 P
2 F
0.24 (Perspectives on the Computer Revo-) 363.73 650 P
(lution) 72 636 T
0 F
(, by Zenon W. Pylyshyn, Prentice Hall, 1970.) 100.01 636 T
-0.09 (2.\051) 72 610 P
2 F
-0.09 (Rod Logic and Thermal Noise in the Mechanical Nanocomputer) 85 610 P
0 F
-0.09 (, by K. Eric Drexler, in) 392.92 610 P
2 F
-0.09 (Molec-) 506.02 610 P
(ular Electronic Devices) 72 596 T
0 F
(, F.L. Carter, R. Siatkowski, H. Wohltjen, eds., North-Holland 1988.) 185.98 596 T
0.5 (3.\051) 72 570 P
2 F
0.5 (The Fundamental Physical Limits of Computation) 85 570 P
0 F
0.5 (, by Charles H. Bennett and Rolf Landauer,) 327.85 570 P
(Scientific American, July 1985, pages 48-56.) 72 556 T
0.23 (4.\051) 72 530 P
2 F
0.23 (Design and Fabrication of Micromechanical Logic Elements) 85 530 P
0 F
0.23 (, by P. L. Bergstrom, T. Tamaga-) 379 530 P
-0.49 (wa, and D. L. Polla, Proceedings of the 1990 IEEE Micro Electro Mechanical Systems conference,) 72 516 P
(Napa Valley, CA, 1990, pages 15) 72 502 T
3 F
(-) 233.3 502 T
0 F
(20.) 239.89 502 T
1.41 (5.\051) 72 476 P
2 F
1.41 (Intermolecular Forces: Their Origin and Determination) 85 476 P
0 F
1.41 (, by Geoffrey C. Maitland, Maurice) 362.34 476 P
(Ribgy, E. Brian Smith, and William A. Wakeham, Oxford Science Publications, 1987.) 72 462 T
-0.27 (6.\051) 72 436 P
2 F
-0.27 (Dissipation and noise immunity in computation and communication) 85 436 P
0 F
-0.27 (, by Rolf Landauer, Nature,) 408.78 436 P
(Vol. 335, October 27 1988, page 779.) 72 422 T
0.37 (7.\051) 72 396 P
2 F
0.37 (Conservative Logic) 85 396 P
0 F
0.37 (, by Edward Fredkin and Tommaso Toffoli, International Journal of Theo-) 179.03 396 P
(retical Physics, Vol. 21, Nos. 3/4, 1982, pages 219-253.) 72 382 T
-0.21 (8.\051) 72 356 P
2 F
-0.21 (The Thermodynamics of Computation) 85 356 P
3 F
-0.21 (-) 268.82 356 P
2 F
-0.21 ( A Review) 275.4 356 P
0 F
-0.21 (, by Charles H. Bennett, International Journal) 322.97 356 P
(of Theoretical Physics, Vol. 21, No. 12, 1982, pages 905-940.) 72 342 T
3.54 (9.\051) 72 316 P
2 F
3.54 (Classical and Quantum Limitations on Energy Consumption in Computation) 85 316 P
0 F
3.54 (, by K. K.) 482.04 316 P
(Likharev, International Journal of Theoretical Physics, Vol. 21, Nos 3/4, 1982, pages 311 to 326.) 72 302 T
0.56 (10.\051) 72 276 P
2 F
0.56 (Reversible Conveyer Computation in Array of Parametric Quantrons) 91 276 P
0 F
0.56 (, by K. K. Likharev, S.) 427.89 276 P
0.96 (V. Rylov, and M. K. Semenov, IEEE Transactions on Magnetics, Vol. MAG-21, No. 2, March) 72 262 P
(1985, pages 947-950.) 72 248 T
-0.07 (11.\051) 72 222 P
2 F
-0.07 (Notes on the History of Reversible Computation) 91 222 P
0 F
-0.07 (, by Charles H. Bennett, IBM J. Research and) 321.25 222 P
(Development, Vol. 32, No. 1, January 1988, pages 16- 23.) 72 208 T
(12.\051) 72 182 T
2 F
(Engines of Creation) 91 182 T
0 F
(, by K. Eric Drexler, Doubleday, 1986.) 187.67 182 T
-0.37 (13.\051) 72 156 P
2 F
-0.37 (There\325s Plenty of Room at the Bottom) 91 156 P
0 F
-0.37 (, a talk by Richard Feynman \050awarded the Nobel Prize in) 270.09 156 P
0.45 (Physics in 1965\051 at an annual meeting of the American Physical Society given on December 29,) 72 142 P
-0.09 (1959. Reprinted in \322Miniaturization\323, edited by H. D. Gilbert \050Reinhold, New York, 1961\051 pages) 72 128 P
(282-296.) 72 114 T
(14.\051) 72 88 T
2 F
(A Small Revolution Gets Under Way) 91 88 T
0 F
(, by Robert Pool, Science, Jan. 5 1990.) 266.64 88 T
FMENDPAGE
%%EndPage: "26" 26
%%Page: "27" 27
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(27) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.12 (15.\051) 72 712 P
2 F
-0.12 (Time/Space Trade-offs for Reversible Computation) 91 712 P
0 F
-0.12 (, by Charles H. Bennett, SIAM J. Comput-) 335.84 712 P
(ing, Vol. 18, No. 4, pages 766-776, August 1989.) 72 698 T
-0.22 (16.\051) 72 672 P
2 F
-0.22 (Silicon Micromechanics) 91 672 P
0 F
-0.22 (, by Roger T. Howe, Richard S. Muller, Kaigham J. Gabriel, and Wil-) 207.09 672 P
(liam S. N. Trimmer, IEEE Spectrum, Vol. 27, No. 7, July 1990, pages 29-35.) 72 658 T
-0.03 (17.\051) 72 632 P
2 F
-0.03 (The Fourier Transform and its Applications) 91 632 P
0 F
-0.03 (, second edition revised, by Ronald N. Bracewell,) 301.89 632 P
(McGraw-Hill, 1986.) 72 618 T
2.01 (18.\051) 72 592 P
2 F
2.01 (Nanosystems: molecular machinery, manufacturing and computation) 91 592 P
0 F
2.01 (, by K. Eric Drexler,) 433.67 592 P
(Wiley 1992.) 72 578 T
-0.1 (19.\051) 72 552 P
2 F
-0.1 (Nanomachinery: Atomically Precise Gears and Bearing) 91 552 P
0 F
-0.1 (, by K. Eric Drexler, IEEE Micro Ro-) 360.1 552 P
(bots and Teleoperators Workshop, Hyannis, Massachusetts: IEEE 1987.) 72 538 T
-0.61 (20.) 72 512 P
2 F
-0.61 (\051) 87 512 P
-0.61 (The Fundamentals of Physics) 91 512 P
0 F
-0.61 (, Extended Third Edition, by David Halliday and Robert Resnick,) 230.83 512 P
(Wiley 1988.) 72 498 T
(21.\051) 72 472 T
2 F
(Introduction to Solid State Physics) 91 472 T
0 F
(, Sixth Edition, by Charles Kittel, Wiley 1986.) 257.66 472 T
1.55 (22.\051) 72 446 P
2 F
1.55 (CRC Handbook of Chemistry and Physics) 91 446 P
0 F
1.55 (, 65th Edition, by Robert C. Weast et. al., CRC) 300.4 446 P
(Press,1985.) 72 432 T
0.78 (23.\051) 72 406 P
2 F
0.78 (Single-crystal silicon high-Q torsional oscillators) 91 406 P
0 F
0.78 (, by R. N. Kleiman, G. K. Kaminsky, J.D.) 332.79 406 P
-0.24 (Reppy, R. Pindak, and D. J. Bishop, Rev. Sci. Instrum. 56 \05011\051, November 1985, page 2088-2091.) 72 392 P
1.03 (24.\051) 72 366 P
2 F
1.03 (Two-level Systems Observed in the Mechanical Properties of Single-Crystal Silicon at Low) 91 366 P
-0.15 (Temperatures) 72 352 P
0 F
-0.15 (, by R. N. Kleiman, G. Agnolet, and D. J. Bishop, Physical Review Letters, Vol. 59,) 138.66 352 P
(No. 18, November 2 1987, page 2079-2082.) 72 338 T
-0.08 (25.\051) 72 312 P
2 F
-0.08 (The Design of a Conservative Logic Computer and a Graphical Editor Simulator) 91 312 P
0 F
-0.08 (, by Andrew) 480.5 312 P
1.71 (Lewis Ressler, Master\325s Thesis, Department of Electrical Engineering and Computer Science,) 72 298 P
(Massachusetts Institute of Technology, January 1981.) 72 284 T
-0.46 (26.\051) 72 258 P
2 F
-0.46 (Phase transition waves: Solitons versus shock waves) 91 258 P
0 F
-0.46 (, by Rolf Landauer, J. Appl. Phys. 51\05011\051,) 341.56 258 P
(November 1980, page 5594.) 72 244 T
0.24 (27.\051) 72 218 P
2 F
0.24 (Reversible Computation) 91 218 P
0 F
0.24 (, by Rolf Landauer, Der Informationsbegriff in Technik und Wissen-) 207.57 218 P
(schaft, eds. O.G. Folberth, C. Hackl \050R. Oldenbourg, Munchen, 1986\051 p. 139-158.) 72 204 T
-0.67 (28.\051) 72 178 P
2 F
-0.67 (An Atomic Switch Realized with the scanning tunnelling microscope) 91 178 P
0 F
-0.67 (, by D.M. Eigler, C.P. Lutz) 412.99 178 P
(and W.E. Rudge, Nature, August 15 1991, Vol 352, pages 600-603.) 72 164 T
0.27 (29.\051) 72 138 P
2 F
0.27 (New Frontiers in Computing and Telecommunications) 91 138 P
0 F
0.27 (, by J. A. Armstrong, Creativity!, June) 354.04 138 P
(1991, Vol 10, No 2, pages 1-6.) 72 124 T
-0.64 (30.\051) 72 98 P
2 F
-0.64 (Charles Babbage: On the Principles and Development of the Calculator) 91 98 P
0 F
-0.64 (, edited by Philip Mor-) 432.89 98 P
(rison and Emily Morrison, Dover Publications, 1961.) 72 84 T
FMENDPAGE
%%EndPage: "27" 27
%%Page: "28" 28
612 792 0 FMBEGINPAGE
[0 0 0 1 0 0 0]
[ 0 1 1 0 1 0 0]
[ 1 0 1 0 0 1 0]
[ 1 1 0 0 0 0 1]
[ 1 0 0 0 0 1 1]
[ 0 1 0 0 1 0 1]
[ 0 0 1 0 1 1 0]
7 FrameSetSepColors
FrameNoSep
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
0 0 0 1 0 0 0 K
72 744 540 756 R
7 X
0 0 0 1 0 0 0 K
V
72 32 540 44 R
V
0 12 Q
0 X
(28) 300 36 T
72 72 540 720 R
7 X
V
0 X
-0.31 (31.\051) 72 712 P
2 F
-0.31 (Charles Babbage and his Calculating Engines) 91 712 P
0 F
-0.31 (, by Doron Swade, published by the British Sci-) 312.47 712 P
(ence Museum, 1991.) 72 698 T
0.18 (32.) 72 672 P
2 F
0.18 (\051) 87 672 P
0.18 (Systems with Small Dissipation) 91 672 P
0 F
0.18 (, by V. B. Braginsky, V. P. Mitrofanov, and V. I. Panov, Uni-) 241.88 672 P
(versity of Chicago Press, 1985.) 72 658 T
-0.49 (33.\051) 72 632 P
2 F
-0.49 (Very High Q-factor Resonators in Monocrystalline Silicon) 91 632 P
0 F
-0.49 (, by R. A. Buser and N. F. De Rooij,) 369.39 632 P
(Sensors and Actuators, A21-A23 \0501990\051 323-327) 72 618 T
0.85 (34.\051) 72 592 P
2 F
0.85 (Measurements of mechanical dissipation in high sound velocity materials: implications for) 91 592 P
-0.33 (resonant-mass gravitational radiation detectors) 72 578 P
0 F
-0.33 (, by En-Ke Hu, C. Zhou, L. Mann, P.F. Michelson) 301.34 578 P
(and J.C. Price, Physics Letters A, Vol 157, No. 4/5, 29 July 1991, pages 209-216.) 72 564 T
0.22 (35.\051) 72 538 P
2 F
0.22 (On a Nonvolatile Memory Cell Based on Micro-Electro-Mechanics) 91 538 P
0 F
0.22 (, by B. Halg, Proceedings) 416.14 538 P
0.34 (of the 1990 IEEE Micro Electro Mechanical Systems conference, Napa Valley, CA, 1990, pages) 72 524 P
(172-176.) 72 510 T
-0.35 (36) 72 484 P
2 F
-0.35 (.A Study of Static Friction between Silicon and Silicon Compounds) 84 484 P
0 F
-0.35 (, by Keren Deng and Wen H.) 402.16 484 P
-0.4 (Ko, Journal of Micromechanics and Microengineering, Volume 2 No. 1, March 1992, pages 14-20) 72 470 P
(37.\051) 72 444 T
2 F
0.08 (Intel Takes Step To Get Computers To Save Energy) 102 444 P
0 F
0.08 (, by Rose Gutfield, Wall Street Journal,) 349.9 444 P
(Thursday October 15, 1992, page B6.) 72 430 T
(38.\051) 72 404 T
2 F
0.56 (Reversible Electronic Logic Using Switches) 102 404 P
0 F
0.56 (, by Ralph C. Merkle, Nanotechnology .) 72 390 T
(39.\051) 72 364 T
2 F
0.78 (A Proof About Molecular Bearings) 102 364 P
0 F
0.78 (, by Ralph C. Merkle, Nanotechnology .) 72 350 T
(40.\051) 72 324 T
2 F
(Helical Logic) 102 324 T
0 F
(, by Ralph C. Merkle and K. Eric Drexler, in preparation.) 167.66 324 T
FMENDPAGE
%%EndPage: "28" 28
%%Trailer
%%BoundingBox: 0 0 612 792
%%PageOrder: Ascend
%%Pages: 28
%%DocumentFonts: Times-Roman
%%+ Times-Bold
%%+ Times-Italic
%%+ Symbol
%%EOF