What do prefetchable and non-prefetchable memory in results of lspci -vnn mean?
To show the manufacturer of the GPU and other verbose information about the GPU, open the terminal and type:
lspci -vnn | grep VGA -A 12
The first line of the output has the name of the vendor, the model name/series and the pci id. Note the numbers enclosed by a pair of brackets having the form 1234:5678. Such a number is present for almost all graphics cards. The first 4-digit number (1234) indicates the vendor id and the second number (5678) indicates the pci id, which indicates the model of the graphics processing unit.
Prefetchable memory is memory which the CPU can request in advance as an optimization, before actual code operates on it. This happens because the CPU guesses it may be needed in the future or because the code contains explicit prefetch instructions. Then it prefetches those memory locations while processing some other instructions or doing some other work.
It isn't a special kind of memory, it is simply a region of memory marked as prefetchable or not by the operating system. Not prefetching may be desirable as an optimization in some cases or even required if the said region is memory-mapped I/O.
Source: What is prefetchable memory?
Does an integrated graphic card use some fixed memory in kernel RAM or user space?
Prefetchable memory is a region of memory marked as prefetchable by the operating system. In the results of lspci -vnn
in the question the system has 256MB of prefetchable memory dedicated to the GPU.
Does it have its own memory?
Some models of integrated processors have their own memory and some don't. Intel Iris integrated GPUs have a small amount of onboard memory to help speed them up. Intel family of 8th generation Core Processors with Radeon RX Vega M GL graphics have 4GB of second-generation High Bandwidth Memory (HBM2).