1. A method of sharing memory between a first component coupled to a first port of a multi-port memory device and a second component coupled to a second port of the device, the method comprising: receiving a message from a first component at a first port of a multi-port memory device, the message being directed to the second component; writing data for the message into an output message buffer of a memory buffer associated with the second port, the memory buffer including an output message buffer and an input memory buffer related to each of the other ports of the multi-port memory device, the output message buffer being for receiving message data from another port and the input message buffer being for receiving reply data from another port; automatically setting an interrupt register associated with the second port in response to the writing of the message data, setting the interrupt register including setting one or more bits of the interrupt register to indicate that the message from the first port was received at the second port; automatically setting an interrupt signal associated with the second port of the multi-port memory device in response to the setting of the interrupt register to notify the second port of the occurrence of an event, the interrupt signal being set based on one or more settings of the interrupt register associated with the second port; after detection of the interrupt signal by a second component coupled to the second port, sending the contents of the interrupt register associated with the second port to the second component in response to a request from the second component; and providing the data for the message from the output message buffer associated with the second port to the second component in response to a request.