15 January 2007
Lampson: Lazy and Speculative Execution
19
Lazy: Carry-save adders
n
Don’t propagate carries until need a clean result
o
Represent
x
as
x
1 +
x
2
o
For add or subtract,
x
+
y
=
x
1 +
x
2 +
y
=
r
1 +
r
2
▬
r
1
i
:=
x
1
i
Å
x
2
i
Å
y
i
;
r
2
i
+1
:= maj(
x
1
i
,
x
2
i
,
y
i
)
n
The bet
: Another add before a test or multiply