| US 7,587,557 B2 | ||
| Data sharing apparatus and processor for sharing data between processors of different endianness | ||
| Kazutoshi Funahashi, Takatsuki (Japan); Satoshi Ikawa, Toyono-gun (Japan); and Masaru Nagayasu, Neyagawa (Japan) | ||
| Assigned to Panasonic Corporation, Osaka (Japan) | ||
| Filed on Mar. 18, 2004, as Appl. No. 10/802,914. | ||
| Claims priority of application No. 2003-075198 (JP), filed on Mar. 19, 2003. | ||
| Prior Publication US 2004/0230765 A1, Nov. 18, 2004 | ||
| Int. Cl. G06F 15/16 (2006.01) | ||
| U.S. Cl. 711—147 [710/62; 717/159] | 11 Claims |

| 1. A data sharing apparatus comprising:
a data bus having a data width;
a memory which stores data according to a first-endian byte order;
a first-endian processor logically connected to said memory in the first-endian byte order via said data bus, wherein said
first-endian processor executes a first program that utilizes the first endian byte order in which data is defined as being
in a defined order;
a second-endian processor logically connected to said memory in the first-endian byte order via said data bus, wherein said
second-endian processor executes a second program that utilizes a second endian byte order in which data that is smaller than
the basic word length is defined to be in an order that is reverse of the defined order of the first endian byte order; and
an address conversion unit operable:
(i) to invert values of two least significant bits of an address outputted from said second-endian processor and output an
address including the inverted values to said memory when said second-endian processor performs a memory access for 8-bit
data;
(ii) to invert a value of a second least significant bit of an address outputted from said second-endian processor and output
an address including the inverted value to said memory when said second-endian processor performs a memory access for 16-bit
data; and
(iii) to output an address from said second-endian processor to the memory without address conversion when said second-endian
processor performs a memory access for data having the width of the first data bus.
|