samedi 4 janvier 2020

Virtual memory harware and direct access (by the rank)

In some case it is interesting to access data directly by the rank(I use this method in the hash.c module  in the ec chess engine (chess-ec.com)

In some case it could happen that much bigger memory is needed and only a very small part would be used(64 chess-board fields only 32 pieces).

It could be interesting (and perhaps it already exists) to have a   virtual memory hardware that can handle this.

I just present what I have in mind  . The concept could be tested  with software but should be an  electronic device (PCI or special Ram).

Suppose that I have data and the index to access this data  is a very big number:  I couldn't reserve enough memory in a computer to access this table.

When retrieving data from memory I suppose a computer send the address  of the data it wants.
The memory controller  receiving the address could transform it in some kind of signature that fit the available size. (the size of the real memory). I think it is usually done with the modulo operation.

The "big" address  could be stored along with the data to verify if there is a "collision" . A link address could give another memory address (having the same "big" address signature).

It could be even used for data base. The main Cpu would compute a numeric signature from a string (hardware computation) send the signature as memory address  to the virtual memory but I don't how it could handle the table row (variable length).

Aucun commentaire:

Publier un commentaire