I didn't mean to come across as judgmental or stringent. You should read the suggested links to get a understanding as to how one should formulate a question that provides enough information so a good response will be formulated.
Your interface will dictate as to how data is handled. If memory mapped I/O then your decoder circuitry will provide the means to present the data back to you within the mapped memory address range, just remember that 4 cycles are required verse a I/O port interface design (most use 5 cycles). So your design will require that the data you see will presented without propagation. You can google and find some good examples.
How often your data is updated or valid will depend on what you are interfacing with therefore the interface must provide the means to interrupt or flag when ready so part of the memory mapped decoded will be a control word/byte part of the datain register. That is how you will know when to get the data. The data stream will dictate the design of the interface scheme. I've been very simplistic in the description of the interface, volumes have been written on 'Interfacing'. I would suggest that you find a good author. Some of the older books are still valid. Just remember you will have to absolute decode the 20 bit memory mapped I/O address therefore your decoder will need the buss signals, MEMR & MEMW along with your Data.
As for the software, it doesn't matter if it's Linux, M$ Win on a PC you just need to provide the means to communicate with the interface via assembly, C/C++ or even python. The handling or manipulation of the data will be decided by you.
You can get a lot of information from the net. I like the 'Circuit Cellar
' by Steve Ciarcia, he has been around for years. His interface techniques are good and reliable source of information especially his online archive. If you happen to find some old hard copies of the 'Circuit Cellar' at a garage sale then grab them.
Good luck with your design!