CA2202864A1 - System and method for processing of data and a communications system with such a system - Google Patents

System and method for processing of data and a communications system with such a system

Info

Publication number
CA2202864A1
CA2202864A1 CA 2202864 CA2202864A CA2202864A1 CA 2202864 A1 CA2202864 A1 CA 2202864A1 CA 2202864 CA2202864 CA 2202864 CA 2202864 A CA2202864 A CA 2202864A CA 2202864 A1 CA2202864 A1 CA 2202864A1
Authority
CA
Canada
Prior art keywords
execution
processor
data
data memory
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA 2202864
Other languages
French (fr)
Inventor
Oleg Avsan
Klaus Wildling
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from SE9403532A external-priority patent/SE503506C2/en
Application filed by Individual filed Critical Individual
Publication of CA2202864A1 publication Critical patent/CA2202864A1/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

The present invention relates to a system and a method for data processing and a communications system controlled by such a system. The system comprises at least one central processor, a number of different function blocks and a common data memory (DS). At least one function is table executed in parallel with program execution by an execution processor (IPU) wherein the data memory (DS) either is used for program execution or for table execution wherein one or the other type of the execution has precedence and is able to interrupt an on-going execution of the other type.

Description

WO96/1223~ PCT/SE95/01208 Title:
~iY~ AND METHOD FOR PROCESSING OF DATA AND A COMM~JNICATIONS
~Y~'l'~:~ WITH SUCH A ~Y~l~:~

TECHNICA~ FIELD
The present invention relates to a system and a method respectively for processing of data. The invention in particular relates to such a system ~or controlling for example real-time systems wherein the requirements on execution efficiency etc. are high since various high-capacity d~m~n~;ng functions have to meet real-time d~m~n~
etc. In for example centrally controlled real-time,systems of different kinds the ~y~Le,.,capacity for carrying out assigned functions is given by the execution efficiency of the central processor sys~el".

The invention also relates to a communications system with such a ~y~Lel~l for data processing.

STATE OF THE ART
Numerous alternatives are known through which is intended to increase the efficiency in a system for a pro~c; ng of data, for example used for real-time controlling or in general ~or systems wherein the requirements are high as to execution efficiency due to various capacity requiring functions. In order to achieve an increased efficiency it is among others known to provide such'a system architecture that it enables a sharing of the total system load between different processors in the form of load and function sharing respectively, By so called pre-pro~cc;ng given regional control functions are carried out using regional processors 3~ and regional memories arranged in associated function ~locks.
A central processor then comm~n~ the execution of the W O 96/1223~ PCTtSE~/01208 functions and receives the results thereof.

The resional processors and the central processor each control their specified function h~n~l ;ng. Thus a system is obtained which has a constant control load d~stribution. Such a system is in principle a one-processor ~y~Lel~ wherein the central processor controls function bloeks comprising regional processors. In such a system the interprocessor-cooperation between the function blocks and the central processor must be well defined by the latter. Another known system for load sharing generally denoted multiprocessing comprises at least two central processors. These together access the data memories of the establ;chm~nt and different computer configurations and control load distributions can be obtained for different operational periods. Through this processor red~1n~n~y a dynamical adaption to instantaneous traffic h~n~7;ng situations is enabled.

For both these kinds of systems interprocessor communication and processor cooperation is required which results in loads on the systems etc.

One known way of increasing the efficiency of a centrally controlled real-time system in which the system capacity is given by the execution efficiency of the central computer system is to execute in parallel executions through table controlled execution.

A highly d~m~ ng real-time system is for example a telecommunications system.

In US-A-3.969.701 table execution is applied. Variables associated with a function block are translated with the use of tables from variable number ~o memory pointer values or address numbers in the memory operations in storing arrangements belonging to the respective block.

W o 96/1223~ PCT/SE95/01~08 In US-A-4.354.231 the use of tables is described. In this case cache-memories are used which actually can be seen as fast memories. In principle this only results in minor time savings and it is in no way possible to o~tain the increase in efficiency which is desired in centrally controlled real-time systems SUMMARY OF THE INVENTION
One object of the present invention is to provide a system and a method respectively ~or processing of data wherein table control execution is used and through which a high efficiency can ~e achieved. P2rticularly it is an object of the invention to provide a sys~em for controlling centrally controlled real-time systems in which a very high execution efficiency can be achieved.

One particular object of the present invention is to provide a system through which the system capacity of a ~unc~ion block oriented central processor system can be increased through the use of parallel executions of functions with the use of table execution.

It is a particular object to provide a system in which descriptive function tables can be used for increasing the efficiency of for example telephony traffic handling on a functional level in the data processing system.

Furthermore it is a particular object of the invention to provide a high total-processor capacity.

Furthermore, according to a particular object of the invention it is intended to provide a high traffic handling capacity in a simple and efficient way as compared to what is hither to known.

CA 02202864 l997-04-l6 W O 96/1223~ PCT/SE95/01208 Particularly it is also an obje~t of the present invention to provide a method through which the abovementioned objects are achieved. A further particular object of the invention is to provide a tel~omml~nications system which is controlled by a system as referred to above.

These as well as further objects are achieved through a system for data processing and a method for data processing respectively in which at leas~ one central processor is provided in which at least one function is table-executed parallelly with program execution by a least one execution processor. According to the invention is particularly a high total processor capacity achieved through parallel execution of functions in combination with one or more program executing processors. The combinations are given, according to a particular embodiment, taking load and function sharing aspects into account or in any other known way Those data variables which are necessary for the int~n~ unction, ~or example teletraffic control in the case of a tel~omm-~n;cations network, can be executed in parallel in an efficient way through table controlled execution. According to particular embodiments of the invention such functions may for example be initiation of variables or data posts, statistic information, data collection, data output etc.

According to a particular embodiment the invention can be used for initiation of variable posts with a copying function which can be seen as a buffered job before the variable posts in an active way ta~e part in the controlling of for example telephony switching. Particularly the initiation can ta~e place in co~ction with a clearing of the connection.
Variables which are to be initiated are in general allo~ated in the data processing system and can be spread throughout the address area of the data storage. Therefor the logical address of the data variables in the system are given. When W O 96/12~3~ PCT/SE9a/012()8 accessing the memory par~icularly an address calculation is done to provide a physical address from a logical address with the use of a refer~nce tablet which is known per se. The logical addr~ ; ng is a condition for the enablement of ext~n~ing functions or providing changes in the data system during operation.

Particularly the variables can be of different format and they can be addressed as individuals with pointer and~or index values. Advantageously a number of variables can be associated with each data record.

According to an advantageous embodiment relating to data initiation setting with a copying function, first an executing table a so called masterpost is formed, one table per individual-variable record, which gives variables to be given an initial value in the common data memory and also the relevant values. For each variable is then one row provided in the table which ~Ull~L ises the logical address of the variable and a constant. Particularly a logical address can be indexed and/or refer to a sub-variable ~he length of which may vary between for example 1 and 128 bits. According to another advantageous embodiment the table may comprise a loop forming instruction for initiation data setting for example for indexed variables with the same logical address. Th~
length of the table, i.e. the number of variables, can for example be given in the first table word. According to an alternative embodiment the number of variables or the table length can be given as the last data of the table. The execution tables can as referred to above be formed fc example by the operation program of the data processir system at system re-starts or at start up. A progra executing processor with a program instruction int~n~
therefor activates masterposts for execution of-the content of the tables.

WO96/1223~ PCT/SE9~/01208 With the use of this program instruction table execution in the program executing processor is carried out in parallel with a rlln~i~g traffic control program. According to an advantageous embodiment the table execution is terminated by a synchronization activi~y towards a processor ~or example ~y setting a so called state-bit to confirm that a job is terminated. According to an alternative embo~;ment program synchronization can be achieved through s~n~; n~ a signal to the program executing processor. The state-bit or the state-bits can then be searched using a searching instruction in the processor through which the processor is provided with information of which variable records w~ich are resources that are available for the traffic controlling process.
1~
The table executions are adapted to the system and it does not relate to any program control but every line of the table is particularly direct o~ject controlling without the participation of any program administration instructions.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will in the following be further described in a non-limiting way under reference to the accompanying drawings in which:
FIG l illustrates a data processing system and FIG 2 illustrates an example of an internal structure a table execution unit.
DETAILED DESCRIPTION OF THE INVENTION
Fig. l illustrates one ~mrle of connection of a table executing unit DVX in a data processing system and internal cn~m1ln~cation between diferent units of the data processing system. In the schematical illustration of the data processing ~y~e-ll, apart from the table executing unit DVX, W 096/1223~ PCT/SE~101208 two processor units or execution processors IPU. and IPU2 are provided. These are connected to a centrally controlled buss and access handler ACC ~Address Calculation Circuit~. In the shown embodiment there are two execution processors IPUl, IPU2. This is of course only an example; according to another embodiment the system comprises only one executing processor and according to still further embodiments the system comprises more than two parallel execution processors or processor units. Each processor unit or execution processor comprises a program memory PS. Furthermore the system comprises a ~ommon data memory DS and the table executing unit DVX and the connection of the processing units IPU~, IPU2 to an inter-communication system which however will not be more thoroughly disclosed hers since this in a manner which is known per se provides ~or communication with other systems etc.

The table executing unit DVX and the program execution processor~s) IPUl, IPU2 are connected between the inter-communication system and the system co~mon memory DS for variables.

According to an advantageous embodiment the table executing unit DVX supports, when needed, efficient data transferring between the data pro~s,ci~g system and various peripheral units in a way which is known per se using direct memory access (DMA-~h~nn~l access) to the common data memory DS.

The ~o~mon data memory DS can be organized in different ways.
According to an advantageous embodiment the common data memory uses an organization of the memory which applies so called inter-leaving in a ~-~n~ which is known per se and it operates in a multiplexing so called pipe-line structure towards free memory banks. These free memory banks in principle behave like fast memories. An address calculation circuit -ACC controls the assignment of buss and memory WO96/1223l PCT/SE9~/01208 ~c~c~es in the multiplexed data storage.

In Fig. 2 an example on an internal structure of a table executing unit DVX is illustrated. (One o~ its functions may e.g. relate to giving initial values to fullword variables in the data i-lell~oly. Fullword variable means the directly controllable data format in the memory for write in without prP~ing read out of the memory word.) Irrespective of the origi~ of an initiation, all memory accesses are in the shown embodiment done via the address calculation circuit which also controls the current order or sequential order. A ~1 1;n~ unit and a called memory bank in most cases cooperate in an asynchronous way. Synchronizing is done by the address calculation circuit ACC, for example according to an advantageous embodiment in that it indicates when a memory address and write data respectively may occupy the buss for the memory access itself. For example a ready-bit (synchronization~ can be used to indicate that read data is available whereas if the ready-bit is not shown, there is a waiting position.

The tables comprise a table setting for each initiation, control the jobs intended for the table executing unit which 2~ (the table executing unit DVX) independently executes these 3obs. The variable ~cc~s-c~c are requested via the address calculation circuit ACC and advantageously this comprises a priority order for handling the variable-accesses. The asynchronous coordination and an efficient pipe-line structure however re~uire intermediate buffers for memory addresses and write data or in some cases read data. The table executing unit DVX comprises buffer memories for the register of the data processing system for logical addressing of variables, Base Start Address BSA1, BSA2 and PRSl, PRS2.
8SA gives the address of a base table associated with a function block whereas P~S gives the individual number,-i.e.

. CA 02202864 1997-04-16 W O 96/1223~ PCT/SE95101208 the pointer to the varia~le record These registers are set by the processor initiating the start of the table execution with an instruction WCX of the program intended therefor.
There is also a register for WCX. WCX brings an execution table pointer MPl, MP2 (see Fig. 2) which is an address of the table to be executed. According to an advantageous embodiment the tables are so arranged that they form a fast memory. In the illustrated embodiment the first row of the table contains information about the number of variables or rows in the table which are af~ected by the copying whereas on the next row follows the first variable having a logical address "a" and the value of the constant to be set as an initial value, usually O or 1. On the ~ollowing row the next variable is given etc. up to the last row of the table which is used for setting a so called state-bit with logical address "a".
In the figure the n:th execution table is merely schematically indicated wherein n gives the number of execution tables Or the system; there may be one or more. WCX
starts the exec~tion process and activates the control logic for addressing of the execution table which shall read the number of the variables and a so called loop-counter COUNT is loaded for the control logic. In the table is stepped by +1 to the next row and the ~irst variable o~ the table. The logical address part (a) together with a Base Start Address, the BSA-content provides via an addressing circuit ADD an address to that reference table from which the physical data position of the memory is obt;~i n~d (not shown). The memory address o the variable is given by calculation of ~A, i.e.
the physical data position in the memory and the pointer value in PRS ~offset). In the present case an index value is also obtained. The address calculation itself is controlled via the above mentioned pipe-line stage and the constant part is transferred to the write data buffer In the last pipe-line stages of the address calculation a request for a memory ~cc~cc to the address calculation circuit ACC is activated according to the calculated variable address Then, according =

W 096/1223~ PCT/SE95/01208 to an advantageous embodiment, the initial constant is written in the common data memory DS. Table calculation is for example discussed in SE-B-439.208.

The WCX queue is according to an advantageous embodiment, handled se~uentially and information about "full buffer" is given to the execution processor IPU or, if applicable, the conce~ned processor unit. Dashed lines in the - figure denote among others extensions when a variable is to be read and handled internally before re-writing in the common data memory DS. ~he pipe-line controlling as referred above may sometimes be stopped temporarily depending on the controlling participation of the address calculation circuit when memory accesses are executed. Normally, however, the table execution 1~ is terminated with the last row o the table when, according to advantageous embodiment, the state-bit is set in the data memory DS or through s~n~; ng of a signal. According to àn advantageous embodiment program execution by an execution processor IPU has preference over table execution through the table executing unit DVX. The parallel execution is then so applied that when the memory DS is free, i.e. not used by the execution processor for program execution, e.g. for traffic control or anything else, it is used for table execution.
When the execution processor IPU again needs to use the data memory DS, it can interrupt a table execution in progress.

Of course the data processing system according to the invention can be used in other ~y~Le~s than telecommunications systems. Also in other aspects the invention is not limited to the shown embodiments but it can be varied in a number of ways within the scope of the claims.

Claims (21)

1. System for processing of data comprising a central processor system wherein a number of function blocks are assigned given functions, comprising at least one program execution processor (IPUi:i=l....n) and 2 data memory (DS), c h a r a c t e r i z e d i n , that the system comprises at least one table execution unit (DVX) which comprises at least one execution table and in that a number of variables are allocated in the data memory (DS) and in that program execution by at least one execution processor is done in parallel with table execution by the table execution unit (DVX) wherein either program execution or table execution has prioritized access to the data memory (DS) and can interrupt an on-going execution of the other kind so that the data memory (DS) from a time aspect is used either for program execution or table execution.
2. System according to claim 1, c h a r a c t e r i z e d i n , that program execution by the execution processors (IPU) has a higher priority than table execution by the execution unit (DVX) which uses the data memory (DS) when this is not used for program execution.
3. System according to claim 2, c h a r a c t e r i z e d i n , that on-going table execution can be interrupted for program execution by the execution processor (IPU).
4. System according to anyone of the preceding claims, c h a r a c t e r i z e d i n , that the function of giving variables or data records initial values with a copying function is executed in parallel with execution of traffic control programs by the program execution unit (IPU1)-
5. System according to claim 4, c h a r a c t e r i z e d i n , that the collection of statistical information is a table executed function.
6. System according to anyone of claim 1-3, c h a r a c t e r i z e d i n , that the functions data collection and/or data output is/are table executed.
7. System according to anyone of the preceding claims, c h a r a c t e r i z e d i n , that variables are addressed as individuals e.g. with pointer values and/or index values.
8. System according to claim 7, c h a r a c t e r i z e d i n , that one or more variables are associated with an individual record.
9. System according to claim 4, c h a r a c t e r i z e d i n , that a table/individual variable record, an execution table, is formed which at least gives the variables to be given an initial value.
10. System according to claim 9, c h a r a c t e r i z e d i n , that the execution table also provides the initial values which are to be given to the variables.
11. System according to claim 10, c h a r a c t e r i z e d i n , that the initiation-value is given in the execution table.
12. System according to claim 11, c h a r a c t e r i z e d i n , that each variable disposes one row in the execution table which at least contains the logical address of the variable and a constant.
13. System according to claim 12, c h a r a c t e r i z e d i n , that the logical address indicates a variable of arbitrary length.
14. System according to anyone of claims 9-14, c h a r a c t e r i z e d i n , that the execution tables are formed by an operating system of the data processing system.
15. System according to anyone of the preceding claims, c h a r a c t e r i z e d i n , that program synchronization is provided by transmission of a signal to the concerned central processor or execution processor (IPUi) or by confirmation of a terminated job e.g.
through a state-bit or simi1ar for informing about which variable records that are resources which are free for the program execution or the traffic controlling process.
16. System according to anyone of the preceding claims, c h a r a c t e r i z e d i n , that every row of the table is directly object controlling.
17. System according to anyone of the preceding claims, c h a r a c t e r i z e d i n , that it is used for controlling a computer system.
18. System according to claim 16, c h a r a c t e r i z e d i n , that it is used for controlling a centrally controlled telecommunications system.
19. System according to claim 18, c h a r a c t e r i z e d i n , that the centrally controlled telecommunications system is the so called AXE-system.
20. Communications system comprising at least one system for data processing which at least comprises one execution processor (IPUi:i=1....n ) and at least one data memory (DS), c h a r a c t e r i z e d i n , that the data processing system comprises at least one table execution unit (DVX) comprising an execution table, that a number of data variables are allocated in the data memory (DS) and in that table execution of at least one variable is done in parallel with execution of traffic controlling programs by an execution processor (IPU1, IPU2) wherein the execution is done in such a way that an on-going table execution is interrupted by the execution processor (IPU1, IPU2) for traffic controlling if the execution processor (IPU1, IPU2) needs access to the data memory (DS).
21. Method for processing of data in a system comprising a number of function units, at least one execution processor (IPUi) and a data memory (DS), c h a r a c t e r i z e d i n , that execution is done by the execution processor (IPU1) in parallel with execution by a table execution unit (DVX), that function tables are used for controlling those functions that are to be executed in parallel with execution by the execution processor (IPU1) wherein the table execution unit is connected to a data memory (DS) which is common for the system and wherein table execution is done when the data memory (DS) is not used by the execution processor (IPU) for program execution.
CA 2202864 1994-10-17 1995-10-17 System and method for processing of data and a communications system with such a system Abandoned CA2202864A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9403532A SE503506C2 (en) 1994-10-17 1994-10-17 Systems and procedures for processing data and communication systems with such systems
SE9403532-6 1994-10-17
PCT/SE1995/001208 WO1996012234A1 (en) 1994-10-17 1995-10-17 System and method for processing of data and a communications system with such a system

Publications (1)

Publication Number Publication Date
CA2202864A1 true CA2202864A1 (en) 1996-04-25

Family

ID=29405479

Family Applications (1)

Application Number Title Priority Date Filing Date
CA 2202864 Abandoned CA2202864A1 (en) 1994-10-17 1995-10-17 System and method for processing of data and a communications system with such a system

Country Status (1)

Country Link
CA (1) CA2202864A1 (en)

Similar Documents

Publication Publication Date Title
JP3074178B2 (en) Program module loading and execution method
US4914570A (en) Process distribution and sharing system for multiple processor computer system
US4993017A (en) Modularly structured ISDN communication system
US4435752A (en) Allocation of rotating memory device storage locations
US5099414A (en) Interrupt handling in a multi-processor data processing system
US5721905A (en) Communication system comprising a distributed database system
EP0854423A1 (en) Data partitioning and duplication in a distributed data processing system
KR100291301B1 (en) Communication system with signal data processing system and method and signal data processing system
EP0116591A1 (en) Multiprocessor system for handling interprocessor calls.
JPH07175698A (en) File system
US6912712B1 (en) Real time control system for multitasking digital signal processor using ready queue
US5179685A (en) Information processing apparatus
EP0789881B1 (en) System and method for processing of data and a communications system with such a system
JPH07248967A (en) Memory control system
CA2202864A1 (en) System and method for processing of data and a communications system with such a system
CA2350922C (en) Concurrent processing for event-based systems
KR100331491B1 (en) Load sharing system and method for data processing and load sharing communication system
US5933856A (en) System and method for processing of memory data and communication system comprising such system
KR100401560B1 (en) Kernel Stack Dynamic Allocation Method In Operating System
JP2585905B2 (en) Multitask execution device
JPH0340053A (en) Control system for plural communication procedures
JPH02216553A (en) System for controlling file access
JPH07123311B2 (en) Subscriber data management method
JPH09218791A (en) Facsimile controller
JPS60241147A (en) Control system of input and output buffer

Legal Events

Date Code Title Description
FZDE Dead