[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [oc] Beyond Transmeta...



Back in th 1960's Digital Equipment Corporation (originator of the Alpha
processor) built a minimalist processor called the PDP8S. The S on the end
stood for "serial". To minimize components, this processor had a 1 bit
adder. The two operands (12 bits) were shifted through the adder. This
processor used word parallel read and writes to memory but the operation,
once in processor was via serial shift.

Using this as a basis for conceptualization you could concieve of a machine
who's internal dataflow is in bit streams of variable length. The proposed
system would be designed to proceed as the bit values transition. Therefore

    c = add32(a,b)
    e = add32(c,d)

Becomes

    c[0], carry1 = a[0] + b[0]
    e[0], carry2 = c[0] + d[0]; c[1], carry1 = a[1] + b[1] + carry1
    ...

Note the result of what would have been c = add32(a,b) is used as soon as
the 1st bit of the result is available.
The first bit of e is available for use in 2 clock ticks after the lsb of  a
and b are presented in the first statement..
Writing programs may look more LISP like. e.g.

    cary1, carry2 = 0
    e[n], carry2 = (c[n], carry1=a[n] + b[n] + carry1) + d[n] + carry2

The concept is more easily understood if you think of this more as a process
rather than of a quantification. Don't think of newspapers as a bundle at
the news stand. Instead think of the newspapers in the process of
manufacturer as a roll of paper unspooling through 200 feet of press at 60
MPH.

In this type of processors the vairables could be of any arbitrary number of
bits. In fact a vairable could have a varying number of bits depending on
the timestate of the program. In fact, a performance optimized system would
have variable persistance wherein the variable would live in multiple time
states concurrently. Only when a timestate of the variable is no longer
needed would it be retired (and resources reclaimed).

Does anyone get paid to think about this? Give me a call please.

Jim Dempsey





----- Original Message -----
From: <mr.modman@email.cz>
To: <cores@opencores.org>
Sent: Sunday, February 09, 2003 10:06 AM
Subject: Re: [oc] Beyond Transmeta...


> > > In how many cycles can you execute this? How many instructions
> > do you need?
> > > c = add32(a,b)
> > > e = add32(c,d)
> >
> > Well in a network manner with a minimum of 8 1bit processors, it
> > would be
> > like 32 clocks, less processors increase that. But the minimum that
...

--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml