A memory architecture in accordance with an embodiment of the present invention improves the speed of method invocation. Specifically, method frames of method calls are stored in two different memory circuits. The first memory circuit stores the execution environment of each method call, and the second memory circuit stores parameters, variables or operands of the method calls. In one embodiment the execution environment includes a return program counter, a return frame, a return constant pool, a current method vector, and a current monitor address. In some embodiments, the memory circuits are stacks; therefore, the stack management unit to cache can be used to cache either or both memory circuits. The stack management unit can include a stack cache to accelerate data transfers between a stack-based computing system and the stacks. In one embodiment, the stack management unit includes a stack cache, a dribble manager unit, and a stack control. The dribble manager unit include fill control it and a spill control unit. Since the vast majority of memory accesses to the stack occur at or near the top of the stack, the dribble manager unit maintains the top portion of the stack in the stack cache. When the stack-based computing system is popping data off of the stack and a fill condition occurs, the fill control unit transfer data from the stack to the bottom of the stack cache to maintain the top portion of the stack in the stack cache. Typically, a fill condition occurs as the stack cache becomes empty and a spill condition occurs as the stack cache becomes full.

Een geheugenarchitectuur overeenkomstig een belichaming van de onderhavige uitvinding verbetert de snelheid van methodeaanroeping. Specifiek, worden de methodekaders van methodevraag opgeslagen in twee verschillende geheugenkringen. De eerste geheugenkring slaat het uitvoeringsmilieu van elke methodevraag op, en de tweede geheugenkring slaat parameters, variabelen of operands van de methodevraag op. In één belichaming omvat het uitvoeringsmilieu een teller van het terugkeerprogramma, een terugkeerkader, een terugkeer constante pool, een huidige methodevector, en een huidige monitoradres. In sommige belichamingen, zijn de geheugenkringen stapels; daarom kan de eenheid van het stapelbeheer aan geheim voorgeheugen worden gebruikt om één van beide of beide geheugenkringen in het voorgeheugen onder te brengen. De eenheid van het stapelbeheer kan een stapelgeheim voorgeheugen omvatten om gegevensoverdrachten tussen een op stapel-gebaseerd gegevensverwerkingssysteem en de stapels te versnellen. In één belichaming, omvat de eenheid van het stapelbeheer een stapelgeheim voorgeheugen, een dribble managereenheid, en een stapelcontrole. De dribble managereenheid omvat vullingscontrole het en een eenheid van de morserijcontrole. Aangezien de overgrote meerderheid van geheugentoegangen tot de stapel bij of dichtbij de bovenkant van de stapel voorkomt, handhaaft de dribble managereenheid het hoogste gedeelte van de stapel in het stapelgeheime voorgeheugen. Wanneer het op stapel-gebaseerde gegevensverwerkingssysteem weg gegevens van de stapel knalt en een vullingsvoorwaarde voorkomt, de gegevens van de de eenheidsoverdracht van de vullingscontrole van de stapel aan de bodem van het stapelgeheime voorgeheugen om het hoogste gedeelte van de stapel in het stapelgeheime voorgeheugen te handhaven. Typisch, komt voor een vullingsvoorwaarde aangezien het stapelgeheime voorgeheugen leeg wordt en een morserijvoorwaarde voorkomt aangezien het stapelgeheime voorgeheugen volledig wordt.

 
Web www.patentalert.com

< RTL annotation tool for layout induced netlist changes

< Method and apparatus for tolerating defects in a programmable logic device using runtime parameterizable cores

> Stable adaptive control using critic designs

> Apparatus and method for demonstrating and confirming the status of a digital certificates and other data

~ 00063