Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Be consistent. -- Larry Wall in the perl man page


devel / comp.arch / Massive Gate Simulation Instruction

SubjectAuthor
* Massive Gate Simulation Instructionskybuck2000
`- Re: Massive Gate Simulation Instructionskybuck2000

1
Massive Gate Simulation Instruction

<0e0473bb-335e-465f-a1e8-e0a9070ea6a2n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22556&group=comp.arch#22556

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:45aa:: with SMTP id bp42mr18505124qkb.561.1640774688539;
Wed, 29 Dec 2021 02:44:48 -0800 (PST)
X-Received: by 2002:a05:6830:1d45:: with SMTP id p5mr18253476oth.350.1640774688304;
Wed, 29 Dec 2021 02:44:48 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 29 Dec 2021 02:44:48 -0800 (PST)
Injection-Info: google-groups.googlegroups.com; posting-host=84.25.28.171; posting-account=np6u_wkAAADxbE7UBGUIOm-csir6aX02
NNTP-Posting-Host: 84.25.28.171
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0e0473bb-335e-465f-a1e8-e0a9070ea6a2n@googlegroups.com>
Subject: Massive Gate Simulation Instruction
From: skybuck2...@hotmail.com (skybuck2000)
Injection-Date: Wed, 29 Dec 2021 10:44:48 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 162
 by: skybuck2000 - Wed, 29 Dec 2021 10:44 UTC

The Massive Gate Simulation Instruction works as follows:

In main memory there is a InputBitArray and OutputBitArray

N can be any ammount of bits which will be stored in consecutive bytes.

BitArray = 0..N-1 bits.

There will be an A operand 64 times:

BitIndexA1..BitIndexA64

There will be an B operand 64 times:

BitIndexB1..BitIndexB64

(Alternatively a 32 operand, or 16 operand, or 8 operand version could be created if 64 is too much)

GateSelection1..GateSelection64

Gates:

G1 to G6 is and,or,xor,nand,nor,nxor
G7 is not

For G7 the B operand is ignored.

These were the input operands.

The output operand is:

BitIndexC1...BitIndexC64

So 64 output operands, should match the ammount as in A and B.

So now the instruction looks like:

GateSimulation InputBitArray, BitIndexAoperands, BitIndexBoperands, GateSelection, BitIndexCoperands, OutputBitArray

^ This is one hell of a big instruction ! ;)

The gate simulation instruction should:

Fetch all bits for operands A and all bits for operands B from InputBitArray

Fetch all gate selections

Distribute the A and B towards the gates capable of executing the selected gates. <- difficult !

Collect the output

Re-route output to OutputArray using BitIndexC operand.

Pascal pseudo code:

for Operand:= 0 to 63 do
begin
// load input indexes
LocalBitIndexA := OperandBitIndexA[Operand];
LocalBitIndexB := OperandBitIndexB[Operand];

// load input gate selection
LocalGateOperation := GateSelection[Operand];

// load output index
LocalBitIndexC := OperandBitIndexC[Operand];

// load input bits from input array, indexed by local input indexes a and b
LocalBitValueA := BitInputArray[LocalBitIndexA];
LocalBitValueB := BitInputArray[LocalBitIndexB];

// execute gate with a, b inputs and c output.
ExecuteGate( LocalBitValueA, LocalBitValueB, LocalGateOperation, LocalBitValueC );

// save local output to output array, via output index
BitOutputArray[LocalIndexC] := LocalBitValue
end;

The difficulty with the above code is it only executes 2 bits and produces 1 bit.

Bits could be collected and stored in 32 bit or 64 bit registers if they have the same operation.

Once one of the seven 32 bit of 64 bit registers is fully it can be executed to make room, hint don't forget to zero stuff for next run ! ;)

Code is available perhaps for a small ammount of bitcoin hehe, for this as well if interested or develop your own.

Now let's suppose you are capable of designing circuitry to run this much faster than that could be interesting.

The real question though is what is the bottleneck:

Retrieving 64 x 64 bit registers + Retrieving 64 x 64 bit registers + Retrieving 64x64 bit registers + retrieving 64x 1 bit, retrieving 64 x 1 bit, executing 64 gates and storing 64x1 bit.

I think this computation is mostly RETRIEVE-BOUND.

To accelerate this perhaps allow some kind of CACHE or special RAM ONCHIP which can store enough of these indexes and bits for faster operation.

There are some application for this:

1. Simulation of logic gates and processors and other circuitry.

2. Simulation of logic brains instead of neural brains.

Topic 2 is perhaps somewhat new and perhaps ill-explored but could become interesting in future.

This instruction could allow some more comfortable and faster research into topic 2.

Comparing neural brain vs logic gate brain.

Neural brain can work on 8 bit, 16 bit, 32 bit or 64 bit quantities.

Logic gate brain only works on 2to1 bit quantities and has major drawback of requiring most likely more logic gates to simulate what a neural brain can do.

However perhaps logic gate brains can work more exact and reliably than neural brains.

Because of the large quantities of logic gates necessary it would be diserable to simulate this faster in hardware/circuits.

Bye for now,
Skybuck.

Re: Massive Gate Simulation Instruction

<ee599a61-9364-43cc-8c65-ff8722715efan@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=22558&group=comp.arch#22558

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:b3c7:: with SMTP id c190mr18082550qkf.730.1640774872128;
Wed, 29 Dec 2021 02:47:52 -0800 (PST)
X-Received: by 2002:a05:6808:4d2:: with SMTP id a18mr19325815oie.99.1640774871743;
Wed, 29 Dec 2021 02:47:51 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Wed, 29 Dec 2021 02:47:51 -0800 (PST)
In-Reply-To: <0e0473bb-335e-465f-a1e8-e0a9070ea6a2n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=84.25.28.171; posting-account=np6u_wkAAADxbE7UBGUIOm-csir6aX02
NNTP-Posting-Host: 84.25.28.171
References: <0e0473bb-335e-465f-a1e8-e0a9070ea6a2n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ee599a61-9364-43cc-8c65-ff8722715efan@googlegroups.com>
Subject: Re: Massive Gate Simulation Instruction
From: skybuck2...@hotmail.com (skybuck2000)
Injection-Date: Wed, 29 Dec 2021 10:47:52 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 121
 by: skybuck2000 - Wed, 29 Dec 2021 10:47 UTC

On Wednesday, December 29, 2021 at 11:44:49 AM UTC+1, skybuck2000 wrote:
> The Massive Gate Simulation Instruction works as follows:
>
> In main memory there is a InputBitArray and OutputBitArray
>
> N can be any ammount of bits which will be stored in consecutive bytes.
>
> BitArray = 0..N-1 bits.
>
> There will be an A operand 64 times:
>
> BitIndexA1..BitIndexA64
>
> There will be an B operand 64 times:
>
> BitIndexB1..BitIndexB64
>
> (Alternatively a 32 operand, or 16 operand, or 8 operand version could be created if 64 is too much)
>
> GateSelection1..GateSelection64
>
> Gates:
>
> G1 to G6 is and,or,xor,nand,nor,nxor
> G7 is not
>
> For G7 the B operand is ignored.
>
> These were the input operands.
>
> The output operand is:
>
> BitIndexC1...BitIndexC64
>
> So 64 output operands, should match the ammount as in A and B.
>
> So now the instruction looks like:
>
> GateSimulation InputBitArray, BitIndexAoperands, BitIndexBoperands, GateSelection, BitIndexCoperands, OutputBitArray
>
> ^ This is one hell of a big instruction ! ;)
>
> The gate simulation instruction should:
>
> Fetch all bits for operands A and all bits for operands B from InputBitArray
>
> Fetch all gate selections
>
> Distribute the A and B towards the gates capable of executing the selected gates. <- difficult !
>
> Collect the output
>
> Re-route output to OutputArray using BitIndexC operand.
>
> Pascal pseudo code:
>
> for Operand:= 0 to 63 do
> begin
> // load input indexes
> LocalBitIndexA := OperandBitIndexA[Operand];
> LocalBitIndexB := OperandBitIndexB[Operand];
>
> // load input gate selection
> LocalGateOperation := GateSelection[Operand];
>
> // load output index
> LocalBitIndexC := OperandBitIndexC[Operand];
>
> // load input bits from input array, indexed by local input indexes a and b
> LocalBitValueA := BitInputArray[LocalBitIndexA];
> LocalBitValueB := BitInputArray[LocalBitIndexB];
>
> // execute gate with a, b inputs and c output.
> ExecuteGate( LocalBitValueA, LocalBitValueB, LocalGateOperation, LocalBitValueC );
>
> // save local output to output array, via output index
> BitOutputArray[LocalIndexC] := LocalBitValueC

^ forgot the C in the end ! ;)
> end;
>
> The difficulty with the above code is it only executes 2 bits and produces 1 bit.
>
> Bits could be collected and stored in 32 bit or 64 bit registers if they have the same operation.
>
> Once one of the seven 32 bit of 64 bit registers is fully it can be executed to make room, hint don't forget to zero stuff for next run ! ;)
>
> Code is available perhaps for a small ammount of bitcoin hehe, for this as well if interested or develop your own.
>
> Now let's suppose you are capable of designing circuitry to run this much faster than that could be interesting.
>
> The real question though is what is the bottleneck:
>
> Retrieving 64 x 64 bit registers + Retrieving 64 x 64 bit registers + Retrieving 64x64 bit registers + retrieving 64x 1 bit, retrieving 64 x 1 bit, executing 64 gates and storing 64x1 bit.
>
> I think this computation is mostly RETRIEVE-BOUND.
>
> To accelerate this perhaps allow some kind of CACHE or special RAM ONCHIP which can store enough of these indexes and bits for faster operation.
>
> There are some application for this:
>
> 1. Simulation of logic gates and processors and other circuitry.
>
> 2. Simulation of logic brains instead of neural brains.
>
> Topic 2 is perhaps somewhat new and perhaps ill-explored but could become interesting in future.
>
> This instruction could allow some more comfortable and faster research into topic 2.
>
> Comparing neural brain vs logic gate brain.
>
> Neural brain can work on 8 bit, 16 bit, 32 bit or 64 bit quantities.
>
> Logic gate brain only works on 2to1 bit quantities and has major drawback of requiring most likely more logic gates to simulate what a neural brain can do.
>
> However perhaps logic gate brains can work more exact and reliably than neural brains.
>
> Because of the large quantities of logic gates necessary it would be diserable to simulate this faster in hardware/circuits.
>
> Bye for now,
> Skybuck.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor