Logical address – generated by the CPU; also referred to as virtual address
Physical address – address seen by the memory unit
Logical and physical addresses are the same in compile-time and load-time address-binding schemes; logical (virtual) and physical addresses differ in execution-time address-binding scheme
Port Address: A Central Processing Unit (CPU) assigns a unique ID to the Input or Output that are attached with a computer. This unique ID of Input and Output devices is called a "Port Address". Input and Output (I/O) devices include mouse, keyboard, joystick, printer, monitor, scanner, digital camera, video controller etc. The range of port numbers is from 0 to 655536. Since computer works in hexadecimal format that's 65536 is written as FFFF and the range is usually specified as 0 to FFFF. CPU can write or read from these locations directly in the same manner it read/write from random access memory. Logical Address: A Logical Address is used in a system that has got a virtual memory, i.e. Ability of a computer system to use hard-disk for memory. It's an address used by a software program or application. It's possible that a same/unique memory address maybe mapped to multiple physical addresses and the reason is that programs and applications are paged out and paged to other memory locations at the execution time. Physical Address: A physical address is the actual or real location within a computer memory. Memory Management Unit translated logical address to physical address.