Patent ID: 6112229
Filing Date: 2000-08-29
Classification: G06F

Abstract:
A method of communicating messages among processing system internal to a secure terminal, the secure terminal having a host processing system, a plurality of slave processing systems, and a peripheral component interconnect (PCI) bus coupling the host with the slave processing systems,wherein each slave processing system comprises a sending memory, a receiving memory, a slave interface controller and a slave processor,wherein said PCI bus has bus request and bus grant signal lines, said bus request and said bus grant signal lines being controlled exclusively by the host processing system allowing said host processing system to exclusively control the PCI bus thereby prohibiting direct communications between the slave processing systems,wherein the sending memory of each slave processing system is partitioned into:a sending mailbox pointer partition comprised of a first and second sending pointer, the first sending pointer indicating one of a sequential set of sending mailboxes to be accessed by the host processing system, the second sending pointer indicating another of said sequential set of said sending mailboxes for storing a message intended for the host processing system;a sending mailbox partition comprised of said sequential set of sending mailboxes, each sending mailbox of said set of sending mailboxes storing address locations of messages intended for the host processing system; anda sending message partition for storing said messages intended for the host processing system;the method comprising the steps of:a first slave processor of a first of said slave processing systems checking a capacity of said sending message partition of the sending memory of said first slave processing system;the first slave processor transmitting a first message to the said sending message partition of the sending memory of the first slave processing system when the sending memory partition has capacity to receive the first message, said first message being stored in a location of said sending memory partition of the sending memory of said first slave processing system for subsequent access by said host processing system;the first slave processor storing an address of said first location in said sending mailbox indicated by the second sending pointer stored in the sending mailbox pointer partition of said sending memory of said first slave processing system;the first slave processor incrementing the second sending pointer in said sending mailbox pointer partition of said sending memory of said first slave processing system;when said first and second sending pointers are different, said host processing system reading said first message from the sending memory of said first slave processing system; andsaid host processing system incrementing the first sending pointer subsequent to the reading step.