There is two main way to use a PCI bus between a FPGA and a processor. Note that I say PCI in the answer because there is nothing in what I tell special about PCIe; it encloses PCI.
The first one is using PCI BARs (Base Address Register). These are address spaces declared by the PCIe device (for example, a device could declare having a BAR0 of 4KB) that are mapped to virtual memory by the operating system. Read/writing to these address on the processor results on bus transfer request on the PCI device, basically providing the FPGA an address port with data and direction.
The second way is using the device as a DMA (Direct Memory Access) bus master. In this mode, the device can initiate memory transfer to/from the system memory (the one the processor uses). This is very efficient as the processor isn't hang up by the transfer, i.e. it can do something else while the device read/write to processor memory.
Note that the PCIe device can also trigger interrupts on the processor, for example to tell it a DMA transfer is required/done.
A typical processor-FPGA PCIe system will define a set of registers in the PCI BARs, and use these to tell the FPGA where the DMA buffer addresses are so it can transfer data without the need for processor intervention. As you can guess, you don't want the device to write to any processor memory address...
To put it in layman terms, BARs are easy to use and slow, DMAs are fast and cumbersome to setup. Note that you will most likely need a driver to deal with your PCI device on the processor, and program logic to response to BARs transfer and initiate DMAs.
I would recommend you to look at reference designs from altera before delving into PCIe; and that you get a reference book on PCIe standard. You may also need to learn more about writing drivers for whatever system your processor uses. BARs are easy and may not even requires a driver, but if you need PCIe, you want to use DMA.