Patent ID: 6134619
Filing Date: 2000-10-17
Classification: G06F

Abstract:
An electronic system comprising:first bus;first bus agent coupled to the first bus;second bus;address translation unit coupled between the first and second buses;second bus agent coupled to the second bus to communicate with the first bus agent using inbound messages;memory coupled to the first bus for storing an inbound free queue and an inbound post queue, the inbound post queue to store posted message handles of posted message buffers, the posted message handles and corresponding messages being selected by the second bus agent, the inbound free queue to store free message handles of empty message buffers, the free message handles having corresponding messages, the free message handles being provided by the first bus agent after having processed the corresponding messages; andmessaging unit coupled to the first and second buses and includinginbound free head and tail pointer registers, the head pointer register points to an empty location in the free queue and the tail pointer register points to a location having a free message handle,inbound post head and tail pointer registers, the head pointer register points to an empty location in the post queue and the tail pointer register points to a location in the post queue that contains a posted message handle, andcontrol logic coupled to the free and post registers and configured to (1) provide a message handle, as pointed to by the inbound free tail pointer register, to the second bus agent for its use in posting a message to the first bus agent, the message handle having been fetched from the inbound free queue, (2) write the message handle to a location pointed to by the inbound post head pointer, in response to receiving the message handle from the second bus agent,and wherein the first bus agent is configured to (1) read the message handle from a location pointed to by the inbound post tail pointer register, (2) access the message, and (3) write the message handle to a location pointed to by the inbound free head pointer register.