Claims
- 1. A microprocessor circuit for organizing access to data or stored programs, comprising:
at least one microprocessor; a memory connected to said microprocessor, said memory containing:
a first memory storing an operating system; and at least one second memory for storing individual external programs, said second memory containing a plurality of memory areas defining address spaces, each of said address spaces assigned an identifier and at least one bit sequence defining access rights; a first auxiliary register; a second auxiliary register; and a unit connected to said first and second auxiliary registers, said unit loading the identifier assigned to a respective memory area of said memory areas into said first auxiliary register in each case in an event of a memory access prior to an addressing of a to be addressed memory area and for loading the identifier of the to be addressed memory area into said second auxiliary register and performing a comparison of said first and second auxiliary registers.
- 2. The microprocessor circuit according to claim 1, wherein each address of an address space is assigned the bit sequence defining the access rights.
- 3. The microprocessor circuit according to claim 1, wherein bit sequences defining the access rights are, stored together with one of addresses and address blocks and the identifiers in a table stored in said memory.
- 4. The microprocessor circuit according to claim 3, wherein the address blocks are each identified by one of an address beginning and an address ending and an address block length.
- 5. The microprocessor circuit according to claim 3, wherein the address blocks are each identified by a lower address and an upper address.
- 6. The microprocessor circuit according to claim 1, wherein each address space is provided with the bit sequence defining the access rights.
- 7. The microprocessor circuit according to claim 1, wherein the bit sequence defining the access rights defines a first access right and a second access right, the first access right regulating accesses between two of said memory areas and the second access right regulating accesses within a memory area.
- 8. The microprocessor circuit according to claim 7, wherein the bit sequence defines a third access right, the third access right regulating accesses within the memory area.
- 9. The microprocessor circuit according to claim 1, further comprising a rights buffer defining further access rights between two of said memory areas, in, which case the access rights can be read out or written by the operating system.
- 10. The microprocessor circuit according to claim 9, wherein said rights buffer stores allowed accesses between two of said memory areas in each case.
- 11. The microprocessor circuit according to claim 10, wherein the accesses are realized in a table using the identifiers.
- 12. The microprocessor circuit according to claim 1, wherein said memory has an operating system memory area managed exclusively by the operating system.
- 13. The microprocessor circuit according to claim 1, wherein said memory has address areas and each of said memory areas of said second memory is connected to one of said address areas for buffer-storing data, and a respective address area being managed only by a program stored in a respective memory area.
- 14. The microprocessor circuit according to claim 1, wherein each address is provided with the bit sequence defining the access rights.
- 15. The microprocessor circuit according to claim 10, wherein the accesses are realized in a translation table used to determine the identifiers.
- 16. A method for organizing access to data or programs stored in a memory accessed by at least one microprocessor, the memory having a first memory for storing an operating system, and at least one second memory for free programming and storing individual external programs, said second memory having a plurality of memory areas defining address spaces, each of the address spaces having an identifier, and exactly one external program being provided in each of the memory areas, which comprises the steps of:
determining a first program ID of a currently executed code instruction of the external program using the identifier of a current address space at that time; determining a second program ID of a to be addressed memory area; comparing the first and second program IDs; selecting an access right being one of a first access right and a second access right depending on a result of the comparing step; evaluating the access right; continuing a program code if the access right or the currently executed code instruction to the addressed memory area is allowed; and calling an error handling routine if the access right or the currently executed code instruction to the addressed memory area is not allowed.
- 17. The method according to claim 16, which further comprises selecting one of the second access right and a third access right in dependence on the access right of the currently executed code instruction if the first and second program IDs are identical.
- 18. The method according to claim 16, which further comprises performing the following steps after performing the calling step:
checking a rights buffer for an entry representing an allowed access of a memory area with the first program ID to the memory area identified by the second program ID; continuing the program code if the entry is present in the rights buffer; and calling the error handling routine if the entry is not present.
- 19. The method according to claim 16, which further comprises if the currently executed code instruction is a jump instruction, performing the following steps:
determining the second program ID of the addressed memory area; comparing the first and second program IDs; jumping to a called address; continuing a program code at the addressed memory area if the first and second program IDs are identical; calling the error handling routine if an address content read out is not an entry instruction; and continuing the program code if the address content read out is an entry instruction.
- 20. The method according to claim 19, which further comprises storing an address of the jump instruction in a buffer before performing the jumping step.
- 21. The method according to claim 19, which further comprises setting the entry instruction as a fixedly prescribed bit sequence.
- 22. The method according to claim 20, which further comprises using the operating system to exclusively manage the buffer.
- 23. The method according to claim 18, wherein code instructions assigned to a first execution right use a publicly accessible buffer as the buffer.
- 24. The method according to claim 16, wherein code instructions assigned a second execution right, use a buffer assigned to the memory area and can be managed only by the program stored in the respective memory area and by the operating system.
- 25. A method for organizing access to data or programs stored in a memory accessed by at least one microprocessor, the memory having a first memory for storing an operating system, and at least one second memory for free programming and storing individual external programs, said second memory having a plurality of memory areas defining address spaces, each of the address spaces having an identifier, and exactly one external program being provided in each of the memory areas, which comprises the steps of:
determining a first program ID of a currently executed jump code instruction of the external program using the identifier of a current address space at that time; determining the second program ID of a to be addressed memory area; comparing the first and second program IDs; jumping to a called address; continuing a program code at the addressed memory area if the first and second program IDs are identical; calling an error handling routine if an address content read out is not an entry instruction; and continuing the program code if the address content read out is an entry instruction.
- 26. The method according to claim 25, which further comprises storing an address of the currently executed jump code instruction in a buffer before performing the jumping step.
- 27. The method according to claim 25, which further comprises setting the entry instruction as a fixedly prescribed bit sequence.
- 28. The method according to claim 26, which further comprises using the operating system to exclusively manage the buffer.
Priority Claims (1)
Number |
Date |
Country |
Kind |
101 05 284.7 |
Feb 2001 |
DE |
|
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation of copending International Application No. PCT/DE02/00256, filed Jan. 25, 2002, which designated the United States and was not published in English.
Continuations (1)
|
Number |
Date |
Country |
Parent |
PCT/DE02/00256 |
Jan 2002 |
US |
Child |
10635599 |
Aug 2003 |
US |