EP1461699A2 - Procede et dispositif de gestion de ressources sur un systeme informatique - Google Patents

Procede et dispositif de gestion de ressources sur un systeme informatique

Info

Publication number
EP1461699A2
EP1461699A2 EP02798357A EP02798357A EP1461699A2 EP 1461699 A2 EP1461699 A2 EP 1461699A2 EP 02798357 A EP02798357 A EP 02798357A EP 02798357 A EP02798357 A EP 02798357A EP 1461699 A2 EP1461699 A2 EP 1461699A2
Authority
EP
European Patent Office
Prior art keywords
resource
resources
allocated
program
occupied
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.)
Withdrawn
Application number
EP02798357A
Other languages
German (de)
English (en)
Inventor
Carsten Noeske
Ralf Herz
Franz-Otto Witte
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.)
TDK Micronas GmbH
Original Assignee
TDK Micronas GmbH
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
Application filed by TDK Micronas GmbH filed Critical TDK Micronas GmbH
Publication of EP1461699A2 publication Critical patent/EP1461699A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Definitions

  • the invention relates to a method for managing resources for a computer device with the preamble features of claim 1 and
  • Both programming concepts use the "stack" very intensively, a memory or data structure in which data is stored as if on a stack.
  • the basic principle of the "stack” is that the last value placed on the stack 5 is the first one again must be removed from it. For example, when a subroutine is called, the return address for the subroutine is put on the stack.
  • the use of the stack is very versatile, but its use requires frequent memory access, which is due to the associated latency and also due to the resulting high power consumption, as well as the limited bandwidth of the processor buses as a bottleneck for the
  • the described grievance is characterized above all by the fact that a programmer using modular or object-oriented techniques, in particular iterations or recursions, cannot have any information about the state of the processor's resources at the time of its routine.
  • the object of the invention is to propose a method and a device for managing resources for a computer device which enable efficient management of the available resources.
  • This task is accomplished through the procedure for managing
  • the starting point here is a method for managing resources for a computer device, in which a multiplicity of resources are available for executing programs, at least some of the resources being temporarily or permanently occupied by such an executed program.
  • the allocation of resources has steps that are known per se. After requesting at least one of the resources to be allocated for the program, these are usually the saving of the resource to be allocated for its later restoration or restoration. After saving the resource to be assigned, the requested one Resource assigned to the requesting program, which then occupies the corresponding resource.
  • the step of checking the occupancy status of the resource to be assigned is inserted after the request for at least one of the resources. Depending on the result of the check, if the resource to be assigned is fully or partially occupied, the process of saving and then assigning and occupying the resource will proceed. If the resource to be assigned is not occupied, i.e. H. is free, the step of saving the resource to be assigned is omitted and instead the allocation of the assigned resource is advanced.
  • the program can be a software code, but in a broader sense it also includes permanently stored programs, which are used, for example, when connecting a
  • Hardware device to a computer trigger actions in the computer or in its computer device from the permanent memory of the hardware device.
  • a corresponding device for managing resources for a computer device accordingly has at least one memory location as a pointer memory location for storing a pointer value, in particular an address of the resource set, at least one availability counter with availability information for specifying the amount of available resources, a resource determination device to evaluate and update the Position of the pointer and the availability information, a resource allocation device for occupying and / or releasing the resources and a stack storage device for accommodating the content of resources occupied at the time of a resource request.
  • the device has a decision device for deciding whether a requested resource is free or occupied, whereupon the decision device, in particular in the form of a resource calculator, the requested resource in the case of a
  • the resource is assigned to the requesting device or the requesting program after the transfer of the previously occupied resource to the stacking device so that the resource content is secured, as is known per se.
  • the individual listed devices can also be partially or all integrated as hardware, functions or programs in a processor.
  • Local hardware resources of the computer including any form of processors with available processor resources, are advantageously assigned as resources.
  • resources for example accumulators, registers and pointers as resources
  • the various types of resources are subdivided into .0 resource classes and expediently administered separately from one another.
  • storage locations are provided for storing resource pointers, which refer to the corresponding resource classes.
  • resource pointers which refer to the corresponding resource classes.
  • an interrupt logic sends an interrupt in these cases, i. H. an interrupt signal, to interrupt the program run for the duration of the batch storage or after the run for the restoration.
  • the resource management is therefore a unit that monitors the state of the resources during runtime and enables the program / programmer to use hardware resources in an efficient manner by requesting them from the processor.
  • the requested resources are not used locally, they are allocated immediately, i.e. without unnecessary security and restoration measures. Only if a local
  • Fig. 1 schematically selected components of a
  • Resource management is based on the idea of expanding the memory stack with the elements of a resource class.
  • Resource classes here refer to similar resources, such as accumulators, which are interchangeable in terms of their function.
  • This arrangement has active circuit elements, such as an arithmetic logic unit 3, an instruction decoder 4 and an interrupt logic 5.
  • a memory 1 for storing one or more indicator values
  • an availability counter 2 for storing one or more availability information
  • a memory 7 as a resource class memory
  • a stack memory device 6 stack memory device 6 (stack) for receiving or Save the content of resources.
  • the various Memory devices 1, 2, 7, 6 can also be individual memory sections of a single or a plurality of higher-level memories.
  • a local resource pointer 1 is used for each resource class, with the property that its addressing takes place in a ring and / or in a modular manner over the amount of resources.
  • the processor in particular a higher-level processor or the arithmetic unit 3, advantageously accesses elements of a resource class always relative to the resource pointer 1 and also in a ring-shaped or modular manner.
  • availability information also referred to as FreePointer
  • the availability counter 2 which indicates how many of the total available components of a local resource class are available, that is, not by previous ones
  • a local resource arithmetic unit 3 is also provided for each resource class, which evaluates and updates the position of the resource pointer and the content of the FreePointer.
  • Instructions for requesting or releasing resources are implemented in the instruction decoder 4 of the processor.
  • Interrupt logic 5 is used when the local resources of at least one class are insufficient for a request.
  • the resource class memory 7, which is used to assign resource classes, is also advantageously provided.
  • Various resources for example registers, pointers or accumulators, are combined within a resource class, which may be represented multiple times in the system and can therefore be advantageous for joint administration.
  • a resource management process is started by making a resource request in the program running in the processor or in the computer device, which is evaluated by the instruction decoder 4.
  • the request information for the one or mostly several resources contains in particular the number of required resources of a class, which is expediently always less than or equal to the total number of local resource elements and the type of the resource class. Resources of several classes can advantageously be requested with one command.
  • the number of resources required is then passed on from the instruction decoder 4 to the resource arithmetic unit 3, which reduces the availability counter 2 by the number of resources requested and reduces the resource pointer in the pointer memory location 1 by the corresponding value.
  • the resource request is thus completed by the corresponding resource allocation to the requesting program.
  • a release of resources after, for example, processing of the program which has requested and been assigned the resource takes place in a complementary form, ie the values of both counters 1, 2 are increased again.
  • the interrupt routine can be operated on the basis of software or hardware. In the arrangement shown, it is represented by the interrupt logic 5, which is connected to the arithmetic unit 3 and the memory 1 for the pointer.
  • the value of the availability counter 2 is then set to zero.
  • FIG. 2 shows a practical example of a resource management cycle.
  • the instruction that is output by the instruction decoder 4 is given in each case.
  • the second column shows from top to bottom the chronological sequence of the occupancy of the requested resource (accumulators usage).
  • the resource has 8 storage locations, above which
  • Storage locations each show the value of pointer storage location 1 for the access point to free storage locations.
  • Unfilled boxes mean free storage spaces, filled boxes mean occupied storage spaces.
  • the third column shows the respective value of the availability counter or the occupancy pointer (AllocPointer), thus showing an offset.
  • the fourth column shows the value of the FreePointer, i.e. H. the value of the availability information in the availability counter 2 for this resource.
  • the last column shows the occupancy status in the stack of the stack storage device 6.
  • a first procedural step it is assumed that the resource is unoccupied or free.
  • the value of the allocation memory or pointer is correspondingly 0, so that the first resource 0 is allocated when a request is made would.
  • the availability information is accordingly equal to the value of the available storage spaces, that is to say 8, and the stack in the stack storage device 6 is empty.
  • the storage space in the stack storage device 6 remains unoccupied.
  • Availability information in the availability counter 2 is set to 0 and the occupancy pointer remains at the value 5.
  • the resource storage locations to be allocated or allocated are saved in the stack storage device 6, the resource locations to the right of the new occupancy pointer location are saved.
  • the stack storage device 6 After a further request from, for example, seven resource storage locations (Allocres (7)), the stack storage device 6 is backed up again, seven values of the resource being backed up.
  • the individual are then processed requesting programs or facility requirements and thus the release of resources.
  • this is done in the opposite way to the previous storage.
  • the circuit arrangement or the software running on it recognizes how many values are to be restored from the stack memory device 6 on the basis of the information about the number of values saved together with the values. This number is also used to determine the new availability information or the new FreePointer.
  • Availability counter FreePointer

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention concerne un procédé et un dispositif de mise en oeuvre dudit procédé, permettant la gestion de ressources sur un système informatique, dans lequel une pluralité de ressources sont disponibles pour l'exécution de programmes, au moins une partie de ces ressources étant utilisée, de façon temporaire ou durable, par un programme exécuté. Ce procédé de gestion de ressources comprend les étapes suivantes : a) demande d'attribution d'au moins une des ressources à un programme, c) sauvegarde de la ressource à attribuer en vue de sa restauration ultérieure, d) attribution de la ressource demandée au programme et e) utilisation par ce programme de la ressource attribuée. Selon la présente invention, la gestion des ressources est avantageusement améliorée par l'ajout des étapes suivantes : b) vérification de la disponibilité de la ressource à attribuer et b1), si la ressource à attribuer n'est pas utilisée, passage direct à l'utilisation de la ressource attribuée (e), b2) ou, si la ressource à attribuer est utilisée, passage à la sauvegarde (c) puis attribution ultérieure (d) et utilisation (e) de la ressource attribuée.
EP02798357A 2001-12-21 2002-12-20 Procede et dispositif de gestion de ressources sur un systeme informatique Withdrawn EP1461699A2 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10163695 2001-12-21
DE10163695 2001-12-21
PCT/EP2002/014657 WO2003054699A2 (fr) 2001-12-21 2002-12-20 Procede et dispositif de gestion de ressources sur un systeme informatique

Publications (1)

Publication Number Publication Date
EP1461699A2 true EP1461699A2 (fr) 2004-09-29

Family

ID=7710678

Family Applications (1)

Application Number Title Priority Date Filing Date
EP02798357A Withdrawn EP1461699A2 (fr) 2001-12-21 2002-12-20 Procede et dispositif de gestion de ressources sur un systeme informatique

Country Status (4)

Country Link
US (1) US20050149939A1 (fr)
EP (1) EP1461699A2 (fr)
AU (1) AU2002363892A1 (fr)
WO (1) WO2003054699A2 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8973008B2 (en) * 2005-05-10 2015-03-03 Oracle America, Inc. Combining different resource types
GB2473194A (en) * 2009-09-02 2011-03-09 1E Ltd Monitoring the performance of a computer based on the value of a net useful activity metric
DE102010025774A1 (de) 2010-07-01 2012-01-05 Giesecke & Devrient Gmbh Verfahren zur Herstellung eines Inlays für einen tragbaren Datenträger und Inlay
CN106598737A (zh) * 2016-12-13 2017-04-26 腾讯科技(深圳)有限公司 一种实现硬件资源分配的方法及装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4811208A (en) * 1986-05-16 1989-03-07 Intel Corporation Stack frame cache on a microprocessor chip
US4829425A (en) * 1986-10-21 1989-05-09 Intel Corporation Memory-based interagent communication mechanism
US4992938A (en) * 1987-07-01 1991-02-12 International Business Machines Corporation Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5297283A (en) * 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5465363A (en) * 1993-12-30 1995-11-07 Orton; Debra L. Wrapper system for enabling a non-multitasking application to access shared resources in a multitasking environment
US5710727A (en) * 1994-05-04 1998-01-20 National Instruments Corporation System and method for creating resources in an instrumentation system
US6125394A (en) * 1997-06-06 2000-09-26 At&T Corporation Computer system having a plurality of resources and utilizing a selection mechanism to select the resources based upon historical loading
US5860018A (en) * 1997-06-25 1999-01-12 Sun Microsystems, Inc. Method for tracking pipeline resources in a superscalar processor
US6219783B1 (en) * 1998-04-21 2001-04-17 Idea Corporation Method and apparatus for executing a flush RS instruction to synchronize a register stack with instructions executed by a processor
US6427163B1 (en) * 1998-07-10 2002-07-30 International Business Machines Corporation Highly scalable and highly available cluster system management scheme
US6801995B1 (en) * 1998-08-04 2004-10-05 Agere Systems, Inc. Method for optimally encoding a set of instruction codes for a digital processor having a plurality of instruction selectable resource types and an associated optimized set of instruction codes
US6608893B1 (en) * 1998-08-12 2003-08-19 Bellsouth Intellectual Property Corporation Networks, systems and methods for routing data traffic within a telephone network based on available resources
US6665701B1 (en) * 1999-08-03 2003-12-16 Worldcom, Inc. Method and system for contention controlled data exchange in a distributed network-based resource allocation
US6606721B1 (en) * 1999-11-12 2003-08-12 Obsidian Software Method and apparatus that tracks processor resources in a dynamic pseudo-random test program generator
US6523173B1 (en) * 2000-01-11 2003-02-18 International Business Machines Corporation Method and apparatus for allocating registers during code compilation using different spill strategies to evaluate spill cost
US7096469B1 (en) * 2000-10-02 2006-08-22 International Business Machines Corporation Method and apparatus for enforcing capacity limitations in a logically partitioned system
US6901446B2 (en) * 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GUEI-YUAN LUEH: "Issues in Register Allocation by Graph Coloring", 1996, pages 1 - 30, Retrieved from the Internet <URL:http://citeseer.ist.psu.edu/cache/papers/cs/3282/http:zSzzSzwww.cs.cmu.eduzSzafszSzcszSzprojectzSziwarpzSzarchivezSzfx-paperszSzcmu-cs-96-171.pdf/lueh96issues.pdf> [retrieved on 20071128] *
See also references of WO03054699A3 *

Also Published As

Publication number Publication date
WO2003054699A3 (fr) 2004-02-26
US20050149939A1 (en) 2005-07-07
AU2002363892A1 (en) 2003-07-09
AU2002363892A8 (en) 2003-07-09
WO2003054699A2 (fr) 2003-07-03

Similar Documents

Publication Publication Date Title
DE102007025397B4 (de) System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
DE2251876C3 (de) Elektronische Datenverarbeitungsanlage
EP0635792B1 (fr) Méthode de coordination d&#39;accès parallèles de plusieurs processeurs aux configurations des ressources
DE4220698C2 (de) Verfahren zum Betreiben einer Datenverarbeitungsanlage
DE2847216A1 (de) Datenverarbeitungssystem mit mehrprogrammbetrieb
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE2101949A1 (de) Verfahren zum Schutz von Datengruppen in einer Multiprocessing-Datenverarbeitungsanlage
DE69816714T2 (de) Instrumentationsanordnung für eine Maschine mit nichtuniformen Speicherzugriffen
DE19535546A1 (de) Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
DE102009004726A1 (de) Systeme und Verfahren zum Verfolgen von Befehlszeigern und Datenzugriffen
DE69729262T2 (de) Speicherverwaltungssystem und Verfahren hierfür
DE102018202446A1 (de) Verfahren zum Modularisieren einer Softwarearchitektur
DE102006046717A1 (de) Dynamisch migrierende Kanäle
EP1461699A2 (fr) Procede et dispositif de gestion de ressources sur un systeme informatique
WO1990002996A1 (fr) Programme d&#39;exploitation d&#39;un ordinateur
DE3410497A1 (de) Rechneranordnung
DE102007015507B4 (de) Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb
DE102020133748B4 (de) Fahrzeugsteuergerät mit synchronem treiber
DE10155486B4 (de) Anordnung zur Verarbeitung von Zustandsinformationen externer Einheiten
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
DE19827914C1 (de) Anwendungsspezifischer integrierter Schaltkreis mit einem RISC-Prozessor zur Bearbeitung definierter Sequenzen von Assembler Befehlen
DE2507405A1 (de) Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage
DE10245367A1 (de) Prozessor mit expliziter Angabe über zu sichernde Informationen bei Unterprogrammsprüngen
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
DE102021101309A1 (de) Elektronische steuervorrichtung

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20040327

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LI LU MC NL PT SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK RO

RIN1 Information on inventor provided before grant (corrected)

Inventor name: WITTE, FRANZ-OTTO

Inventor name: HERZ, RALF

Inventor name: NOESKE, CARSTEN

17Q First examination report despatched

Effective date: 20061207

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20091028