Nothing Special   »   [go: up one dir, main page]

SE512773C2 - Method and device for controlling / accessing DRAM memories - Google Patents

Method and device for controlling / accessing DRAM memories

Info

Publication number
SE512773C2
SE512773C2 SE9803708A SE9803708A SE512773C2 SE 512773 C2 SE512773 C2 SE 512773C2 SE 9803708 A SE9803708 A SE 9803708A SE 9803708 A SE9803708 A SE 9803708A SE 512773 C2 SE512773 C2 SE 512773C2
Authority
SE
Sweden
Prior art keywords
dram
memory
control
access
microcode
Prior art date
Application number
SE9803708A
Other languages
Swedish (sv)
Other versions
SE9803708L (en
SE9803708D0 (en
Inventor
Sven Stefan Blixt
Original Assignee
Imsys Ab
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 Imsys Ab filed Critical Imsys Ab
Priority to SE9803708A priority Critical patent/SE512773C2/en
Publication of SE9803708D0 publication Critical patent/SE9803708D0/en
Priority to EP99958554A priority patent/EP1125191A1/en
Priority to US09/830,094 priority patent/US6938118B1/en
Priority to PCT/SE1999/001923 priority patent/WO2000025205A1/en
Priority to AU15894/00A priority patent/AU1589400A/en
Publication of SE9803708L publication Critical patent/SE9803708L/en
Publication of SE512773C2 publication Critical patent/SE512773C2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

The invention relates to a primary memory such as a dynamic random access memory, and a method and controller for controlling access to such a memory. The access control for the primary memory ( 60 ) is intimately associated with the microcode instructions of a processor ( 10 ) connected to the memory. The access control is integrated into the microcode program ( 22 ) of the processor, and each microcode instruction includes a control instruction used in controlling the operation of a memory controller ( 50 ). In the case of a DRAM, the DRAM controller ( 50 ) controls access to the DRAM ( 60 ) by executing, for each DRAM access, a sequence of DRAM control operations in response to a corresponding sequence of control instructions included in the microcode instructions of the processor. Preferably, the control instruction included in each microcode instruction only constitutes a part of the microcode instruction, and the remaining part of the microcode instruction is used by the processor for other purposes, such as determining address information for the DRAM and processing the data that is transferred between processor and DRAM.

Description

15 20 25 30 512 773 2 angivna kolumnen i den spänningssatta raden. I allmänhet multiplexeras DRAM-adressen in i DRAM-minnet så att samma anslutningar används, vid olika tidpunkter, för radadressen och kolumnadressen. 15 20 25 30 512 773 2 specified column in the energized row. In general, the DRAM address is multiplexed into the DRAM memory so that the same connections are used, at different times, for the line address and the column address.

Access till DRAM-minnet styrs normalt av en DRAM-styrenhet som genererar nödvändiga styr- och adress-signaler till DRAM-minnet och bestämmer sekvensen och den relativa tidsinställningen för dessa signaler.Access to the DRAM memory is normally controlled by a DRAM controller which generates the necessary control and address signals to the DRAM memory and determines the sequence and relative timing of these signals.

I allmänhet är processorkärnor utformade för att passa enkla minnen såsom statiska direktminnen (SRAMs) som ibland används som cache-minnen.In general, processor cores are designed to fit simple memories such as static direct memories (SRAMs) which are sometimes used as caches.

Traditionellt sett är gränssnittet processor-minne utformat på ett sådant sätt att processorn för varje minnesaccess måste avgöra huruvida en läsning eller skrivning ska utföras, och även bestämma en fullständig minnesadress som ska användas innan läs- eller skrivaccessen till minnet initieras. För ett DRAM-minne, som är ett ganska komplext minne med en multiplexerad, adresseringsprocedur, innebär detta i allmänhet att DRAM-minnet kommer att bli relativt långsamt med långa accesstider. I detta avseende betraktas DRAM- minnen ofta som llaskhalsarna i digitala behandlingssystem.Traditionally, the processor memory interface is designed in such a way that the processor for each memory access must determine whether a read or write should be performed, and also determine a complete memory address to be used before initializing the read or write access to the memory. For a DRAM memory, which is a rather complex memory with a multiplexed, addressing procedure, this generally means that the DRAM memory will be relatively slow with long access times. In this respect, DRAMs are often regarded as the bottlenecks in digital processing systems.

Ett vanligt sätt att minska detta problem är att använda ett litet men snabbt cache-minne som en buffert mellan processorn och det större och långsammare DRAM-minnet. Cache-minnet innehåller kopior av små delar av data- och/eller programinformation lagrad i DRAM-minnet. När processorn måste läsa en minnescell som inte finns tillgänglig i cache-minnet så kommer den cellen att kopieras tillsammans med ett antal angränsande celler från DRAM-minnet till cache-minnet. För efterföljande accesser till dessa celler så kommunicerar processorn med det snabba cache-minnet istället för DRAM- minnet. lO 15 20 25 30 512 773 3 RELATERAD TEKNIK Försök har gjorts inom den kända tekniken för att reducera accesstiderna för DRAM-minnen: WO 96/37830 mikroprocessor med en accessförfrågan i pipeline till ett externt DRAM-minne. aVSCI' en internationella Den patentansökningen Minnesförfrågningar till det externa DRAM-minnet sker i pipeline genom beräkning av en minnesadress under samma klockcykel som den instruktion som är förknippad med adressen låses av ett exekveringssteg, generering av en tidig redo-signal och sändande av den information som mottas från det externa DRAM-minnet till en registerfil under samma klockcykel som informationen mottas.A common way to reduce this problem is to use a small but fast cache as a buffer between the processor and the larger and slower DRAM. The cache contains copies of small pieces of data and / or program information stored in the DRAM. When the processor has to read a memory cell that is not available in the cache, that cell will be copied together with a number of adjacent cells from the DRAM to the cache. For subsequent accesses to these cells, the processor communicates with the fast cache memory instead of the DRAM memory. Related Art Attempts have been made in the prior art to reduce access times for DRAMs: WO 96/37830 microprocessor with a pipeline access request to an external DRAM. aVSCI 'en international The patent application Memory requests to the external DRAM memory takes place in a pipeline by calculating a memory address during the same clock cycle as the instruction associated with the address is locked by an execution step, generating an early ready signal and sending the information received from the external DRAM to a register fi l during the same clock cycle as the information is received.

Den internationella patentansökningen WO 96/ 29652 avser en regelbaserad DRAM-styrenhet. En DRAM-styrenhet skickar minnesaccess- och styrsignaler baserat på fördefinierade styrregler. Vissa regler används för att bestämma tidsinställningen och sekvensen av de minnesaccess- och styrsignaler som utmatas av DRAM-styrenheten. Styrreglerna implementeras som logik i styrenheten, olika övervakningssignaler och tidsmoduler. Baserat på dessa regler och villkor medan villkoren för reglerna tillhandahålls från tolkas förfrågningsinmatningarna till styrenheten för att tillhandahålla optimal accesshastighet till DRAM-minnet.International patent application WO 96/29652 relates to a rule-based DRAM controller. A DRAM controller sends memory access and control signals based on predefined control rules. Some rules are used to determine the timing and sequence of the memory access and control signals output from the DRAM controller. The control rules are implemented as logic in the control unit, various monitoring signals and time modules. Based on these rules and conditions, while the conditions of the rules are provided from, the request inputs to the controller are interpreted to provide optimal access speed to the DRAM.

Den internationella patentansökningen WO 96/30838 avser en DRAM- styrenhet. DRAM-styrenheten är utformad för att reducera accesstiderna för läs- och skrivcykelaccesser i ett minnessystem med accesser i "page mode", genom ändring av behandlingsordningen på förfràgningarna om läs- och skrivcykelaccesser. l lllllul 10 15 20 25 30 512 773 4 SAMMANFATTNING AV UPPFINNINGEN Det är ett allmänt syfte med uppfinningen att reducera den tid som erfordras' för access till ett DRAM-minne.International patent application WO 96/30838 relates to a DRAM control unit. The DRAM controller is designed to reduce the access times for read and write cycle accesses in a memory system with accesses in "page mode", by changing the processing order of the read and write cycle access requests. SUMMARY OF THE INVENTION It is a general object of the invention to reduce the time required to access a DRAM memory.

Det är ett syfte med uppfinningen att tillhandahålla ett förfarande för styrning av access till ett DRAM så att accesstider jämförbara med de för SRAM-minnen erhålls. Ännu ett annat syfte med uppfinningen är att tillhandahålla en DRAM- styrenhet, företrädesvis införlivad i ett mikroprocessorbaserat datorsystem, som tillhandahåller snabb access till ett DRAM-minne.It is an object of the invention to provide a method for controlling access to a DRAM so that access times comparable to those for SRAM memories are obtained. Yet another object of the invention is to provide a DRAM controller, preferably incorporated into a microprocessor-based computer system, which provides fast access to a DRAM memory.

Dessa och andra syften uppnås genom uppfinningen såsom den definieras av de medföljande patentkraven.These and other objects are achieved by the invention as defined by the appended claims.

I enlighet med uppfinningen är access-styrningen för DÉAM-minnet intimt förknippad med processorns mikrokodsinstruktioner. Gränssnittet mellan processorn och DRAM-styrenheten är anpassat på ett sådant sätt att minnesaccess-styrningen är integrerad i processorns mikrokodsprogram. Varje mikrokodsinstruktion i processorn innefattar en styrinstruktion som används vid styrning av DRAM-styrenhetens funktion. Mer bestämt styr DRAM- styrenheten access till DRAM-minnet genom att den för varje DRAM-access utför en sekvens av DRAM-styroperationer i gensvar på en motsvarande mikrokods- innefattade i styrínstruktioner processorns sekvens av instruktioner.In accordance with the invention, the access control for the DÉAM memory is intimately associated with the processor's microcode instructions. The interface between the processor and the DRAM controller is adapted in such a way that the memory access control is integrated in the processor's microcode program. Each microcode instruction in the processor includes a control instruction used to control the operation of the DRAM controller. More specifically, the DRAM controller controls access to the DRAM memory by performing a sequence of DRAM control operations for each DRAM access in response to a corresponding microcode included in the controller's sequence of instructions in the control instructions.

Det är viktigt att förstå att den styrinstruktion som finns innefattad i varje mikrokodsinstruktion endast utgör en del av mikrokodsinstruktionen, och att denåterstående delen av mikrokodsinstruktionen används av processorn för styrning av andra operationer såsom bestämning av adressinformation för DRAM-minnet och behandling av data till/ från DRAM-minnet. 10 15 20 25 30 512 773 5 Eftersom varje DRAM-access baseras på en sekvens av DRAM-styroperationer, styrinstruktion i en mikrokodsinstruktion, så kan en DRAM-access initieras genom att man utför vilka var och en styrs av en respektive den första DRAM-styroperationen i sekvensen, utan att man har all information som erfordras för efterföljande DRAM-siyroperationer i sekvensen.It is important to understand that the control instruction included in each microcode instruction forms only a part of the microcode instruction, and that the remaining portion of the microcode instruction is used by the processor to control other operations such as determining address information for the DRAM memory and processing data to / from DRAM memory. Since each DRAM access is based on a sequence of DRAM control operations, control instruction in a microcode instruction, a DRAM access can be initiated by performing which ones are each controlled by a respective the first DRAM. the control operation in the sequence, without having all the information required for subsequent DRAM acid operations in the sequence.

Den information som erfordras för en efterföljande DRAM-styroperation bestäms företrädesvis av den aktuella rnikrokodsinstruktionen parallellt med exekveringen av den första DRAM-styroperationen.The information required for a subsequent DRAM control operation is preferably determined by the current microcode instruction in parallel with the execution of the first DRAM control operation.

Till exempel kan mikrokodsprogrammet initiera en DRAM-access innan det har bestämts huruvida en läs- eller skrivaccess ska utföras, och radadressen kan anbringas till DRAM-minnet innan kolumnadressen har bestämts. Detta reducerar accesstiden för en DRAM-access betydligt.For example, the microcode program may initiate a DRAM access before it has been determined whether to perform a read or write access, and the line address may be applied to the DRAM memory before the column address has been determined. This significantly reduces the access time for a DRAM access.

Varje styrinstruktion bestämmer vilken av ett antal på förhand definierade DRAM-styroperationer som DRAM-styrenheten exekverar. Under kontroll av styrinstruktionerna i processorns mikrokodsprogram kan dessa DRAM- styroperatíoner ordnas i sekvens för att ge nästan vilken typ av DRAM-access som helst, såsom en läsaccess, en skrivaccess, en läsaccess i "page mode", en skrivaccess i "page mode", en läs-och-skrivaccess i "page mode" och en skriv- och-läsaccess i "page mode".Each control instruction determines which of a number of predefined DRAM control operations the DRAM control unit executes. Under the control of the control instructions in the processor microcode program, these DRAM control operations can be arranged in sequence to provide almost any type of DRAM access, such as a read access, a write access, a read access in "page mode", a write access in "page mode" , a read-and-write access in "page mode" and a read-and-read access in "page mode".

Detta innebär att mikrokodsprogramrnet självt fritt kan använda "page mode" närhelst detta är lämpligt, varvid värdefull tid således sparas. I "page mode" föreligger i allmänhet inget behov av ett cache-minne eftersom den aktiverade raden kommer att fungera som "cache-minne".This means that the microcode program itself can freely use "page mode" whenever this is appropriate, thus saving valuable time. In "page mode", there is generally no need for a cache because the activated line will act as a "cache".

Andra fördelar som erbjuds genom uppfinningen kommer att förstås vid läsning av den följande beskrivningen av uppñnningens utföringsformer. 10 l5 20 25 30 512 773 6 KORTFATTAD BESKRIVNING AV RITNINGARNA Uppfinningen, tillsammans med ytterligare syften och fördelar med denna, kommer att förstås bäst genom hänvisning till den följande beskrivningen när denna läses tillsammans med de medföljande ritningarna, i vilka: Fig. 1 är ett schematiskt blockdiagram över ett datorsystem enligt en föredragen utföringsform av uppfinningen; Fig. 2 är ett schematiskt blockdiagram över ett adressregister och en adressmultiplexor som används av uppfinningen; F ig. 3 är ett schematiskt diagram som illustrerar en praktisk implementering av gränssnittet mellan en aritmetisk enhet, och ett adressregister och ett data-till-minnet-register enligt en alternativ utföringsform av uppfinningen; Fig. 4 är ett schematiskt tidsdiagram över ett antal DRAM-styroperationer enligt en föredragen utföringsform av uppfinningen; Fig. 5 är ett schematiskt tillståndsdiagram som illustrerar hur DRAM- styroperationerna kan ordnas till DRAM-accesser enligt en föredragen utföringsform av uppfinningen; Fig. 6 är ett schematiskt diagram över DRAM-styrlogiken i en DRAM-styrenhet enligt en föredragen utföringsform av uppfinningen; och Fig. 7A-7E är schematíska tidsdiagram för olika DRAM-accesser enligt en föredragen utföringsform av uppfinningen. 10 15 20 30 512 773 7 DETALJERAD BESKRIVNING AV UTFÖRINGSFORMER AV UPPFINNINGEN Samma hänvisningsbeteckningar kommer genomgående i ritningarna att användas för motsvarande eller liknande element.Other advantages offered by the invention will be understood upon reading the following description of the embodiments of the invention. BRIEF DESCRIPTION OF THE DRAWINGS The invention, together with further objects and advantages thereof, will be best understood by reference to the following description when read in conjunction with the accompanying drawings, in which: Fig. 1 is a schematic block diagram of a computer system according to a preferred embodiment of the invention; Fig. 2 is a schematic block diagram of an address register and an address multiplexer used by the invention; F ig. 3 is a schematic diagram illustrating a practical implementation of the interface between an arithmetic unit, and an address register and a data-to-memory register according to an alternative embodiment of the invention; Fig. 4 is a schematic timing diagram of a number of DRAM control operations according to a preferred embodiment of the invention; Fig. 5 is a schematic state diagram illustrating how the DRAM control operations can be arranged to DRAM accesses according to a preferred embodiment of the invention; Fig. 6 is a schematic diagram of the DRAM control logic in a DRAM control unit according to a preferred embodiment of the invention; and Figs. 7A-7E are schematic timing diagrams for various DRAM accesses according to a preferred embodiment of the invention. 10 15 20 30 512 773 7 DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION The same reference numerals will be used throughout the drawings for corresponding or similar elements.

Fig. 1 är ett schematiskt blockdiagram över ett datorsystem enligt en föredragen utföringsform av uppfinningen. Datorsystemet innefattar i huvudsak en centralenhet (CPU) 10, ett dynamiskt direktminne (DRAM) 60 och en databuss 70. innefattar en CPUzn 10, som också hänvisas till processorstyrenhet 20, lokaka lagringsenheter 30, en aritmetisk enhet 40 och SOITI pfOCCSSOITl, en DRAM-styrenhet 50. CPU:n 10 styrs av mikrokodsinstruktioner lagrade i ett mikrokodsprogram 22. Mikrokodsprogrammet 22 samverkar med en enhet 24 för sekvensstyrning som bestämmer adressen till nästa mikrokodsinstruktion i rnikrokodsprograrnmet. Den aritmetiska enheten 40 tillhandahålls för att utföra aritmetiska/ logiska operationer på data från DRAM-minnet 60, och den kommunicerar direkt (via databussen) 70 med DRAM-minnet. Ett cache- minne erfordras inte.Fig. 1 is a schematic block diagram of a computer system according to a preferred embodiment of the invention. The computer system essentially comprises a central unit (CPU) 10, a dynamic direct memory (DRAM) 60 and a data bus 70. A CPU 10, which is also referred to as a processor control unit 20, locate storage units 30, an arithmetic unit 40 controller 50. The CPU 10 is controlled by microcode instructions stored in a microcode program 22. The microcode program 22 interacts with a sequence control unit 24 which determines the address of the next microcode instruction in the microcode program program. The arithmetic unit 40 is provided to perform arithmetic / logic operations on data from the DRAM memory 60, and it communicates directly (via the data bus) 70 with the DRAM memory. A cache is not required.

DRAM-styrenheten 50 är kopplad mellan DRAM-minnet 60 och CPU:ns 10 styrenhet 20, och styr flödet av data in och ut relativt DRAM-minnet. DRAM- styrenheten 50 genererar adress-signaler RAD/ KOL och olika styrsignaler WEn, CASn, RASn, OEn (suffixet n anger att signalerna är aktiva låga) i en på förhand bestämd sekvens under kontroll av styrenheten 20, och anbringar dessa signaler till DRAM-minnet 60, varigenom DRAM-minnet styrs. DRAM- styrenheten 50 innefattar styrlogik 52, ett adressregister 54 för lagring av adressinformation som mottagits från mikrokodsprogrammet 22 via databussen 70 och en adressmultiplexor 56 som styrs av två komplementära signaler COL och COLn för anbringande av radadressen eller kolumnadressen till DRAM-minnet 60. 10 15 20 25 30 512 775 s En allmän idé enligt uppfinningen är att integrera styrningen av DRAM- accesser i mikrokodsprograrnmets 22 mikrokodsinstruktioner. Varje mikrokodsinstruktion innefattar en styrinstruktion som används vid styrning av DRAM-styrenhetens 50 funktion. Vidare delas, för varje DRAM-access, DRAM-styrenhetens 50 funktion upp i en sekvens av ett på förhand bestämt antal DRAM-styroperationer. DRAM-styrenheten 50 styr access till DRAM- minnet genom att den för varje access utför en sekvens av DRAM-l styroperationer i gensvar pä en motsvarande sekvens av styrinstruktioner innefattade i mikrokodsprogrammets 22 mikrokodsinstruktioner.The DRAM controller 50 is coupled between the DRAM 60 and the CPU 10 of the CPU 10, and controls the flow of data in and out relative to the DRAM. The DRAM controller 50 generates address signals RAD / KOL and various control signals WEn, CASn, RASn, OEn (the suffix n indicates that the signals are active low) in a predetermined sequence under the control of the controller 20, and applies these signals to the DRAM memory 60, whereby the DRAM memory is controlled. The DRAM controller 50 includes control logic 52, an address register 54 for storing address information received from the microcode program 22 via the data bus 70 and an address multiplexer 56 controlled by two complementary signals COL and the COL for applying the line address or column address to the DRAM 60. A general idea according to the invention is to integrate the control of DRAM accesses into the microcode instructions of the microcode programmer 22. Each microcode instruction includes a control instruction used in controlling the operation of the DRAM controller 50. Furthermore, for each DRAM access, the function of the DRAM controller 50 is divided into a sequence of a predetermined number of DRAM control operations. The DRAM controller 50 controls access to the DRAM memory by performing a sequence of DRAM-1 control operations for each access in response to a corresponding sequence of control instructions included in the microcode instructions of the microcode program 22.

Varje styrinstruktion i sekvensen av styrinstruktioner från mikrokodsprogrammet 22 till DRAM-styrenheten 50 bestämmer vilken av ett antal fördefinierade DRAM-styroperationer som DRAM-styrenheten 50 utför.Each control instruction in the sequence of control instructions from the microcode program 22 to the DRAM control unit 50 determines which of a number of predefined DRAM control operations the DRAM control unit 50 performs.

Genom matning av lämpliga styrinstruktíoner från mikrokodsprogrammet 22 kan sekvensen av DRAM-styroperationer anpassas för att ge olika typer av DRAM-accesser såsom läsaccesser, skrivaccesser, läsaccesser i "page mode", skrivaccesser i "page mode", läs-och-skrivaccesser i "page mode" och skriv- och-läsaccesser i "page mode".By feeding appropriate control instructions from the microcode program 22, the sequence of DRAM control operations can be adapted to provide different types of DRAM accesses such as read accesses, write accesses, read accesses in "page mode", write accesses in "page mode", read-and-write accesses in " page mode "and read and write accesses in" page mode ".

Det är viktigt att förstå att varje styrinstruktion bildas av en på förhand bestämd del av en mikrokodsinstruktion. Den återståenden delen av mikrokodsinstruktionen används för andra ändamål såsom bestämning av adressinformation för DRAM-minnet eller exekvering av högnivåinstruktioner hämtade från DRAM-minnet.It is important to understand that each control instruction is formed by a predetermined portion of a microcode instruction. The remaining part of the microcode instruction is used for other purposes such as determining address information for the DRAM memory or executing high level instructions retrieved from the DRAM memory.

För fullständighets skull visas adressregistret 54 och adressmultiplexorn 56 i mer detalj i Fig. 2. Adressregistret 54 innehåller tre adressdelar, ADL (Address Low), ADH (Address High) och ADP (Address Page). Radadressen till DRAM-minnet lagras i ADP och ADH i bitar 10-18, och kolumnadressen till DRAM-minnet lagras i ADH och ADL i bitar 1-9. Adressmultiplexorn 56 innefattar två OCH-grindar följt av en ELLER-grind. Den första OCH-grinden tar emot kolumnadressen från ADH och ADL och signalen COL. Den andra 10 15 20 25 30 512 773 9 OCH-grinden tar emot radadressen från ADP och ADH, och signalen COLn.For completeness, the address register 54 and the address multiplexer 56 are shown in more detail in Fig. 2. The address register 54 contains three address parts, ADL (Address Low), ADH (Address High) and ADP (Address Page). The row address of the DRAM memory is stored in ADP and ADH in bits 10-18, and the column address of the DRAM memory is stored in ADH and ADL in bits 1-9. The address multiplexer 56 includes two AND gates followed by an OR gate. The first AND gate receives the column address from the ADH and ADL and the signal COL. The second AND gate receives the line address from ADP and ADH, and the signal COLn.

Om COLn är inaktiv, d.v.s. hög, så utmatas radadressen av ELLER-grinden.If the COL is inactive, i.e. high, the line address is output by the OR gate.

Om COLn är aktiv, d.v.s. låg, så utmatas emellertid kolumnadressen av ELLER-grinden.If the COL is active, i.e. low, however, the column address is output by the OR gate.

Fig. 3 är ett schematiskt diagram som illustrerar en praktisk implementering av gränssnittet mellan den aritmetiska enheten 40 och adressregistret 54 och ett data-till-minnet-register 84, enligt en alternativ utföringsform av uppfinningen. Data från ett antal datakällor, av vilka DRAM-minnet är en, tas emot av en datakällselektor 72, vars utgång bildar ett bussgränssnitt DBUS till den aritmetiska enheten 40, adressregistret 54 och ett data-ti1l- minnet-register (DTM) 84. Den aritmetiska enhetens 40 utgång bildar ett bussgränssnitt YBUS till ADL-registret och till DTM-registret 84. DTM- registret 84 tar också emot en styrsignal DTMJENABLE som gör det möjligt för data i DTM-registret att matas till DRAM-minnet. Den aritmetiska enheten 40 gensvarar på mikrokod från mikroprogrammet (jämför Fig. 1).Fig. 3 is a schematic diagram illustrating a practical implementation of the interface between the arithmetic unit 40 and the address register 54 and a data-to-memory register 84, according to an alternative embodiment of the invention. Data from a plurality of data sources, of which the DRAM is one, is received by a data source selector 72, the output of which forms a bus interface DBUS to the arithmetic unit 40, the address register 54 and a data-to-memory register (DTM) 84. the output of the arithmetic unit 40 forms a bus interface YBUS to the ADL register and to the DTM register 84. The DTM register 84 also receives a control signal DTMJENABLE which enables data in the DTM register to be fed to the DRAM memory. The arithmetic unit 40 responds to the microcode from the microprogram (compare Fig. 1).

Som man kan se från Fig. 3 kan ADL och DTM laddas antingen från DBUS- bussen eller YBUS-bussen.As can be seen from Fig. 3, the ADL and DTM can be charged from either the DBUS bus or the YBUS bus.

För en bättre förståelse av uppfinningen kommer uppfinningen nu att förklaras med hänvisning till ett belysande exempel på ett antal fördefinierade DRAM-styroperationer.For a better understanding of the invention, the invention will now be explained with reference to an illustrative example of a number of predefined DRAM control operations.

Fig. 4 är ett schematiskt tidsdiagram över ett antal DRAM-styroperationer enligt en föredragen utföringsform av uppfinningen. I detta särskilda exempel utnyttjas en huvudoscillator om 66 MHz, och huvudklocksignalen för mikrokodsinstruktionerna betecknas EXEC. För lutande flanker beror läget på 66-MHz-oscillatoms arbetscykel, varierande mellan 46% till 54%.Fig. 4 is a schematic timing diagram of a number of DRAM control operations according to a preferred embodiment of the invention. In this particular example, a 66 MHz main oscillator is used, and the main clock signal for the microcode instructions is called EXEC. For inclined fl anchors, the position depends on the duty cycle of the 66 MHz oscillator, ranging from 46% to 54%.

Tidsperioden mellan vertikala flanker, såväl som mellan lutande flanker är 15 ns, och tidsperioden mellan en vertikal flank och en lutande flank är då och 8.1 ns. justerbar på ett cykeltiden för varje sätt att mellan 6.9 ns Vidare är mikrokodsinstruktion sådant varje 10 15 20 25 30 512 775 lO mikrokodsinstruktion kan anta ett av två olika värden på mikroinstruktionscykeltiden; 30 ns eller 45 ns. Detta anges genom streckade linjer i Fig. 4. I Fig. 4 är alla signaler aktiva låga och detta anges genom suffixet n; SIGNALn. DRAM-styroperationerna som illustreras i Fig. 4 är R (Starta låsning), W (Starta skrivning), H (Håll) och E (Avsluta radaccess), vilka alla kommer att förklaras nedan.The time period between vertical fl anchors, as well as between inclined flanks is 15 ns, and the time period between a vertical fl anchor and an inclined edge is then and 8.1 ns. adjustable in one cycle time for each way that between 6.9 ns Furthermore, microcode instruction is such that each microcode instruction can assume one of two different values of the microinstruction cycle time; 30 ns or 45 ns. This is indicated by dashed lines in Fig. 4. In Fig. 4 all signals are active low and this is indicated by the suffix n; SIGNAL. The DRAM control operations illustrated in Fig. 4 are R (Start Lock), W (Start Write), H (Hold) and E (End Rada Access), all of which will be explained below.

R-operationen (Starta läsning) RASn dras ner 15 ns efter början av den aktuella mikrokodsinstruktíonen, om RASn inte redan är låg; CASn dras upp 7,5 ns innan slutet av den aktuella mikrokodsinstruktíonen, om CASn inte redan är hög, och 7,5 ns efter början av den nästa mikrokodsinstruktionen dras CASn ner; WEn dras mikrokodsinstruktíonen, om WEn inte redan är hög; och COLn dras ner 7,5 ns mikrokodsinstruktíonen, om COLn inte redan är låg. upp 7,5 ns innan slutet av den aktuella innan slutet av den aktuella W-operatíonen (Starta skrivning: RASn dras ner 15 ns efter början av den aktuella mikrokodsinstruktíonen, om RASn inte redan år låg; CASn dras upp 7,5 ns innan slutet av den aktuella mikrokodsinstruktíonen, om CASn inte redan år hög, och 7,5 ns efter början av den nästa mikrokodsinstruktionen dras CASn ner; WEn dras ner 15 ns innan slutet av den aktuella mikrokodsinstruktíonen, om WEn inte redan är låg; och COLn dras ner 7,5 ns innan slutet av den aktuella mikrokodsinstruktíonen, om COLn inte redan är låg.R operation (Start reading) The RASn is pulled down 15 ns after the start of the current microcode instruction, if the RASn is not already low; The CAS is drawn up 7.5 ns before the end of the current microcode instruction, if the CAS is not already high, and 7.5 ns after the start of the next microcode instruction, the CAS is drawn down; WEn is drawn the microcode instruction, if WEn is not already high; and the COLn is pulled down the 7.5 ns microcode instruction, if the COLn is not already low. up 7.5 ns before the end of the current before the end of the current W operation (Start writing: RASn is subtracted 15 ns after the beginning of the current microcode instruction, if the RASn was not already low; CASn is drawn up 7.5 ns before the end of the current microcode instruction, if the CAS is not already high, and 7.5 ns after the start of the next microcode instruction, the CASn is subtracted; WEn is subtracted 15 ns before the end of the current microcode instruction, if the WEn is not already low; 7.5 ns before the end of the current microcode instruction, if the COL is not already low.

H-operationen (Håll): CASn dras upp 7,5 ns innan slutet av den aktuella mikrokodsinstruktíonen, om CASn inte redan är hög; 10 15 20 512 773 11 WEn dras upp 7,5 ns innan slutet av den aktuella mikrokodsinstruktlonen, om WEn inte redan är hög.H operation (Hold): The CAS is drawn 7.5 ns before the end of the current microcode instruction, if the CAS is not already high; 10 15 20 512 773 11 The WE is drawn 7.5 ns before the end of the current microcode instruction line, if the WE is not already high.

E-operationen (Avsluta): RASn dras upp 15 ns efter början av den aktuella mikrokods- instruktionen, om RASn inte redan är hög; , CASn dras upp '7,5 ns innan slutet av den aktuella mikrokods- instruktionen, om CASn inte redan är hög; WEn dras upp 7,5 ns innan slutet av den aktuella mikrokods- instruktionen, om WEn inte redan är hög; och COLn dras upp 7,5 ns innan slutet av den aktuella mikrokods- instruktionen, om COLn inte redan är hög.E-operation (Exit): The RASn is pulled up 15 ns after the beginning of the current microcode instruction, if the RASn is not already high; , The CAS is drawn up '7.5 ns before the end of the current microcode instruction, if the CAS is not already high; WEn is pulled up 7.5 ns before the end of the current microcode instruction, if WEn is not already high; and the COL is raised 7.5 ns before the end of the current microcode instruction, if the COL is not already high.

DRAM-styrenheten 50 instrueras genom en sekvens av styrinstruktioner, en styr-instruktion i varje mikrokodsinstruktion i mikrokodsprogrammet 22, att utföra en motsvarande sekvens av DRAM-styroperationer. I fallet med sammanlagt fyra olika DRAM-styroperationer så är två styrbitar i varje styrinstruktion tillräckligt för att välja ut en av de fyra operationerna. I den föreliggande utföringsformen är styrinstruktionsfältet, vilket betecknas genom MEMCP, i mikrokodsinstruktionerna utformat för att särskilja mellan de olika DRAM-styroperationerna på följande sätt: Tabell I styroperation Figfl 5 är ett schematiskt tillståndsdiagrarri som illustrerar hur DRAM- styroperationerna kan ordnas till DRAM-aceesser enligt en föredragen utföringsform av uppfinningen. Antingen kan en R-operation eller en WÄ 10 15 20 30 512 775 12 operation följa en E-operation. En R-operation kan följas av en H-operation som i sin tur kan följas av vilken typ av operation som helst. En R-operation eller en H-operation kan följa en W-operation. Alla operationer kan itereras, d.v.s. upprepas så många gånger som önskas.The DRAM controller 50 is instructed by a sequence of control instructions, a control instruction in each microcode instruction in the microcode program 22, to perform a corresponding sequence of DRAM control operations. In the case of a total of four different DRAM control operations, two control bits in each control instruction are sufficient to select one of the four operations. In the present embodiment, the control instruction field, denoted by MEMCP, in the microcode instructions is designed to distinguish between the various DRAM control operations as follows: Table I control operation Fig. 5 is a schematic state diagram illustrating how the DRAM control operations can be arranged according to the DRAM operations. a preferred embodiment of the invention. Either an R operation or a W operation can follow an E operation. An R operation can be followed by an H operation which in turn can be followed by any type of operation. An R operation or an H operation can follow a W operation. All operations can be iterated, i.e. repeated as many times as desired.

En DRAM-access kan inítíeras genom utförande av en R-operation, efter en E- operation. Under denna mikroinstruktionscykel måste radadressen vara giltig i ADP och ADH. Nästa DRAM-styroperation måste vara av typen R eller H, och under denna mikroinstruktionscykel måste kolumnadressen vara giltig i ADH och ADL. För en R-operation som inte initierar en DRAM-access så behöver radadressen inte vara giltig. I den efterföljande mikroinstruktionscykeln när en ytterligare DRAM-styroperation påbörjas i enlighet med tillstånclsdiagrammet i Fig. 5, finns data som svarar mot den anbringade DRAM-adressen, d.v.s. rad- användas av och kolumnadressen, tillgängligt och kan Data kan även användas av efterföljande mikrokodsin struktionen. mikrokodsinstruktíoner, om detta inte ersätts av data från en ny utläsníng.A DRAM access can be initiated by performing an R operation, after an E operation. During this microinstruction cycle, the line address must be valid in ADP and ADH. The next DRAM control operation must be of type R or H, and during this microinstruction cycle, the column address must be valid in ADH and ADL. For an R operation that does not initiate a DRAM access, the line address does not have to be valid. In the subsequent microinstruction cycle when an additional DRAM control operation is started in accordance with the state diagram in Fig. 5, there is data corresponding to the applied DRAM address, i.e. row- can be used by and the column address, available and can Data can also be used by the following microcode instruction. microcode instructions, unless this is replaced by data from a new readout.

En DRAM-access kan också initieras genom utförande av en W-operatíon, efter en E-operation. Under denna mikroinstruktionscykel måste radadressen vara giltig i ADP och ADH. Nästa DRAM-styroperation mäste vara av typen W, R eller H, och under denna mikroinstruktionscykel måste kolumnadressen vara giltig i ADH och ADL, och de data som ska skrivas till den anbringade DRAM- adressen måste vara giltig i data-till-minnet-registret. För en W-operation som inte initierar en DRAM-access så behöver radadressen inte vara giltig.A DRAM access can also be initiated by performing a W operation, after an E operation. During this microinstruction cycle, the line address must be valid in ADP and ADH. The next DRAM control operation must be of type W, R or H, and during this microinstruction cycle the column address must be valid in ADH and ADL, and the data to be written to the applied DRAM address must be valid in the data-to-memory register . For a W operation that does not initiate a DRAM access, the line address does not have to be valid.

H-operationen kan stoppas in var som helst som en "ingen-operatíon" för att tillfälligt uppehålla DRAM-minnets accesscykel, t.ex. när de steg som erfordras för DRAM-accessen inte räcker för att utföra det arbete som ska göras av mikrokods- instruktionerna. I detta fall är kravet på giltig kolumnadress i ADH och ADL knutet till att den föregående DRAM-styroperationen är av typen R eller W. På mikrokodsprogrammet såsom anges av andra fält i 10 15 20 25 30 512 773 13 liknande sätt så uppkommer kravet på giltigt data i DTM-registret alltid ett steg efter en W-operation.The H operation can be stopped anywhere as a "no operation" to temporarily suspend the DRAM memory access cycle, e.g. when the steps required for DRAM access are not sufficient to perform the work to be done by the microcode instructions. In this case, the requirement for a valid column address in ADH and ADL is linked to the previous DRAM control operation being of type R or W. In the microcode program as indicated by other fields in a similar manner, the requirement for a valid data in the DTM register always one step after a W operation.

H-operation har valts som den "normala" förvalda typen av operation eftersom den kan stoppas in var som helst. E-operationen år också tillåten som en "ingen-operation", men endast när DRAM-minnet är overksamt, d.v.s. i vilken sekvens som helst mellan en E-operation och nästa R- eller W-operation.H-surgery has been chosen as the "normal" default type of surgery because it can be stopped anywhere. The e-operation is also allowed as a "no-operation", but only when the DRAM is inactive, i.e. in any sequence between an E operation and the next R or W operation.

Till exempel så kan en normal DRAM-access utföras i tre mikroínstruktionscykler. Under varje mikrokodsinstruktion så instruerar den styr-instruktion DRAM- styrenheten 50 till att utföra en DRAM-styroperation. För en låsaccess utförs som är innefattad i mikrokodsinstruktionen normalt en sekvens av styroperationerna R, H och E. Vid den första DRAM- styroperationen, R, är radadressen giltig i adressregistret 54 och radadressen laddas in i DRAM-minnet 60 genom en strobsignal, styrsignalen RASn. I den mikroinstruktionscykel i vilken R-operationen initieras så laddar mikrokods- instruktionen också in kolumnadressen i adressregístret 54. Vid den andra DRAM-styroperationen, H, så laddas kolumnadressen, som laddats in i adressregistret i den föregående mikroinstruktionscykeln, in i DRAM-minnet styrsignalen CASn. Vid den tredje DRAM- styroperationen, E, så presenterar en data-från-minnet-latch (inte visad) data genom en strobsignal, från DRAM-minnet. Detta data är tillgängligt att användas av den aktuella rnikrokodsinstruktionen eller efterföljande rnikrokodsinstruktioner.For example, a normal DRAM access can be performed in three microinstruction cycles. During each microcode instruction, it instructs the DRAM controller 50 to perform a DRAM control operation. For a lock access included in the microcode instruction, a sequence of the control operations R, H and E is normally performed. In the first DRAM control operation, R, the line address is valid in the address register 54 and the line address is loaded into the DRAM memory 60 by a strobe signal, the control signal RASn . In the microinstruction cycle in which the R operation is initiated, the microcode instruction also loads the column address into the address register 54. In the second DRAM control operation, H, the column address loaded into the address register of the previous microinstruction cycle is loaded into the DRAM memory memory. CASn. In the third DRAM control operation, E, a data-from-memory latch (not shown) presents data through a strobe signal, from the DRAM memory. This data is available for use by the current microcode instructions or subsequent microcode instructions.

I det följande visas exempel på sekvenser av DRAM-styroperationer för ett antal olika DRAM-accesser i Tabell II. 512 773 14 Tabell II DRAM- Krav/status relevant för innehållet i andra Kommentar styrop. delar av mikroinstruktionen Läsning (R) Radadr i ADH Börja radaccess, börja läsning (H) KolumnadriADL ' (E) Data tillgängligt Läsning, sluta radaccess Läsning - page m ode: (R) Radadr i ADH Börja radaccess, börja läsning (#1) (R) Kolumnadr (#1) iADL Börja läsning (#2) (R) Kolumnadr (#2) iADL, Data (#1) tillgängligt Läsning (#1), börja läsning (#3) (R) Kolumnadr (#3) iADL, Data (#2) tillgängligt Läsning (#2), börja läsning (#4) (R) Kolumnadr (#4) iADL, Data (#3) tillgängligt Läsning (#3), börja läsning (#5) (H) Kolumnadr (#5) i ADL, Data (#4) tillgängligt Läsning (#4) (E) Data (#5) tillgängligt Läsning (#5), sluta radaccess Skrivning (VV) Radadr i ADH Börja radaccess, börja skrivning (H) Kolumnadr i ADL, Data från DTM Skrivning (E) Sluta radaccess Skrivning - page mode: Läsning först, sedan skrivning: (VV) Radadr i ADH Börja radaccess, börja skrivning (#1) (VV) Kolumnadr (#1) iADL Data (#1) i DTM Skrivning (#1), börja skrivning (#2) (VV) Kolumnadr (#2) iADL, Data (#2) i DTM Skrivning (#2), börja skrivning (#3) (VV) Kolumnadr (#3) i ADL, Data (#3) i DTM Skrivning (#3), börja skrivning (#4) (VV) Kolumnadr (#4) iADL, Data (#4) i DTM Skrivning (#4), börja skrivning (#5) (H) Kolumnadr (#5) i ADL, Data (#5) i DTM Skrivning (#5) (E) Sluta radaccess (E) (R) Radadr i ADH Börja radaccess, börja läsning (C) Kolumnadr (#1) iADL (W) Data (#1) tillgängligt Läsning, börja skrivning (H) Kolumnadr (#2) iADL, Data (#2) i DTM Skrivning Sluta radaccess Läsning i page mode först, sedan skrivning i page mode: Radadr i ADH Börja radaccess, börja läsning (#1) Kolumnadr (#1) i ADL Börja 2:a läsning (#2) Kolumnadr (#2) i ADL, Data #1) tillgängligt Läsning (#1), börja läsning (#3) Kolumnadr (#3) i ADL, Data #2) tillgängligt Läsning (#2) Läsning (#3), börja skrivning (#4) Kolumnadr (#4) i ADL, Data #4) i DTM Skrivning, börja nästa skrivning (#5) Kolumnadr (#5) i ADL, Data #5) i DTM Skrivning, börja nästa skrivning (#6) Kolumnadr (#6) i ADL, ( ( Data (#3) tillgängligt ( ( i Data #6) i DTM Sista skrivning Sluta radaccess 10 15 20 512 773 15 Skrivning först, sedan läsning: Börja radaccess, börja skrivning Skrivning, börja läsning (#2) (VV) Radadr i ADH (R) Kolumnadr (#1) i ADL Data (#1) i DTM (H) Kolumnadr (#2) i ADL, (E) Data (#2) tillgängligt Läsning (#2), sluta radaccess Skrivning ipage mode först, sedan läsning i page mode: (VV) Radadr i ADH (VV) Kolumnadr (#1) i ADL (VV) Kolumnadr (#2) iADL, (R) Kolumnadr (#3) i ADL, (R) Kolumnadr (#4) i ADL, (R) Kolumnadr (#5) i ADL, Data (#4) tillgängligt Läsning (#4), börja läsning (#6) (H) Kolumnadr (#6) iADL, Data (#5) tillgängligt Läsning (#5) Börja radaccess, börja 1:a skrivning 1:a skrivning, börja 2:a skrivning 2:a skrivning, börja 3:e skrivning 3:e skrivning, börja läsning (#4) Börja läsning (#5) Data (#1) i DTM Data (#2) i DTM Data (#3) i DTM (E) Data (#6) tillgängligt Läsning (#6), sluta radaccess "Radadr i ADH" betyder: Innehåll i ADP och (huvudsakligen) ADH under denna mikrokodsinstruktion (laddad till registren av tidigare mikrokodsinstruktioner) kommer att matas till DRAM-minnet och användas som radadress för alla DRAM-accesser tills en mikrokodsinstruktion med koden "E" i MEMCP-fåltet har exekverats. Laddning av ADP eller ADH i denna mikrokodsinstruktion år tillåten men har inte någon effekt på dessa minnesaccesser.The following are examples of sequences of DRAM control operations for a number of different DRAM accesses in Table II. 512 773 14 Table II DRAM- Requirements / status relevant to the content of other Comments styrop. parts of the microinstruction Reading (R) Radadr in ADH Start radaccess, start reading (H) KolumnadriADL '(E) Data available Reading, end radaccess Reading - page mode: (R) Radadr in ADH Start radaccess, start reading (# 1) (R) Column number (# 1) iADL Start reading (# 2) (R) Column number (# 2) iADL, Data (# 1) available Reading (# 1), start reading (# 3) (R) Column number (# 3 ) iADL, Data (# 2) available Reading (# 2), start reading (# 4) (R) Column number (# 4) iADL, Data (# 3) available Reading (# 3), start reading (# 5) ( H) Column number (# 5) in ADL, Data (# 4) available Reading (# 4) (E) Data (# 5) available Reading (# 5), end radaccess Writing (VV) Radadr in ADH Start radaccess, start writing (H) Column number in ADL, Data from DTM Writing (E) End line access Writing - page mode: Reading first, then writing: (VV) Radadr in ADH Start writing access, start writing (# 1) (VV) Column number (# 1) iADL Data (# 1) in DTM Writing (# 1), start writing (# 2) (VV) Column number (# 2) iADL, Data (# 2) in DTM Writing (# 2), start writing (# 3) (VV) Kolumnadr (# 3) in ADL, Data (# 3) in DTM Skrivning (# 3), start writing (# 4) (VV) Kolumnadr (# 4) iADL, Data (# 4) in DTM Writing (# 4), start writing (# 5) (H) Column number (# 5) in ADL, Data (# 5) in DTM Writing (# 5) (E) End line access (E) ( R) Radadr in ADH Start radaccess, start reading (C) Column number (# 1) iADL (W) Data (# 1) available Reading, start writing (H) Column number (# 2) iADL, Data (# 2) in DTM Writing End line access Reading in page mode first, then writing in page mode: Radar in ADH Start line access, start reading (# 1) Column number (# 1) in ADL Start 2nd reading (# 2) Column number (# 2) in ADL, Data # 1) available Reading (# 1), start reading (# 3) Column number (# 3) in ADL, Data # 2) available Reading (# 2) Reading (# 3), start writing (# 4) Column number (# 4) in ADL, Data # 4) in DTM Writing, start next writing (# 5) Column number (# 5) in ADL, Data # 5) in DTM Writing, start next writing (# 6) Column number (# 6) in ADL , ((Data (# 3) available) ((in Data # 6) in DTM Last writing End line access 10 15 20 512 773 15 Writing first, then reading: Start line access, start writing Writing, start reading (# 2) (VV) Radadr in ADH (R) Column number (# 1) in ADL Data (# 1) in DTM (H) Column number (# 2) in ADL, (E) Data (# 2) available Reading (# 2), stop line access Writing ipage mode first, then reading in page mode: (VV) Radadr in ADH (VV) Column number (# 1) i ADL (VV) Kolumnadr (# 2) iADL, (R) Kolumnadr (# 3) i ADL, (R) Kolumnadr (# 4) i ADL, (R) Kolumnadr (# 5) i ADL, Data (# 4) available Reading (# 4), start reading (# 6) (H) Column number (# 6) iADL, Data (# 5) available Reading (# 5) Start line access, start 1st writing 1st writing , start 2nd writing 2nd writing, start 3rd writing 3rd writing, start reading (# 4) Start reading (# 5) Data (# 1) in DTM Data (# 2) in DTM Data (# 3) in DTM (E) Data (# 6) available Reading (# 6), end radaccess "Radadr in ADH" means: Content in ADP and (mainly) ADH under this microcode instruction (loaded to the registers of previous m microcode instructions) will be fed to the DRAM memory and used as the line address of all DRAM accesses until a microcode instruction with the code "E" in the MEMCP field has been executed. Charging ADP or ADH in this microcode instruction is permitted but has no effect on these memory accesses.

"Kolumnadr i ADL" betyder: Innehåll i ADH and (huvudsakligen) ADL under denna mikrokodsinstruktion (laddad till registren av tidigare mikrokodsinstruktioner) kommer att matas till DRAM~minnet och användas som kolumnadress för denna DRAM-access (vilken påbörjades med R eller W i den föregående mikrokodsinstruktionen)."Column number in ADL" means: Content in ADH and (mainly) ADL under this microcode instruction (loaded to the registers of previous microcode instructions) will be fed to the DRAM memory and used as a column address for this DRAM access (which started with R or W in the previous microcode instruction).

Laddning av ADH eller ADL i denna mikrokodsinstruktion är tillåten men har inte någon effekt på denna minnesaccess.Charging ADH or ADL in this microcode instruction is allowed but has no effect on this memory access.

"Data i DTM" betyder: Innehåll i DTM-registret under denna mikrokodsinstmktion (laddad till registret av tidigare mikrokodsinstruktion) kommer att matas till DRAM- minnet och användas som data för denna DRAM-access (vilken påbörjades lllhl I ihllllll. il til 10 15 20 25 30 512 773 16 med W i den föregående mikrokodsínstruktionen). Laddning av DTM i denna míkrokodsinstruktion är tillåten men har inte någon effekt på denna minnesaccess."Data in DTM" means: Content in the DTM register under this microcode instruction (loaded to the register of previous microcode instruction) will be fed to the DRAM memory and used as data for this DRAM access (which was started lllhl I ihllllll. Il til 10 15 With W in the previous microcode instruction). Charging the DTM in this microcode instruction is allowed but has no effect on this memory access.

"Data tillgängligt" betyder: DFM-latchen (Data-Från-Minnet) presenterar nu data från DRAM-minnet som år tillgängligt att användas av denna mikrokodsinstruktion. Innehållet fortsätter att vara tillgängligt tills det förändras av en ny läsaccess, markerat här med en ny notering om "Data tillgängligt". "# 1", "#2", etc. betyder: Dessa nummer markerar olika minnesaccesser för att visa motsvarigheten mellan kolumnadresser och databitgrupper."Data Available" means: The DFM (Data-From-Memory) latch now presents data from the DRAM memory that is available for use by this microcode instruction. The content remains available until it is changed by a new read access, marked here with a new note on "Data available". "# 1", "# 2", etc. means: These numbers mark different memory accesses to show the correspondence between column addresses and data bytes.

Som man kan se motsvarar varje DRAM-styroperation mer eller mindre en delcykel av en fullständig DRAM-access.As can be seen, each DRAM control operation corresponds more or less to a subcycle of a complete DRAM access.

Den mikrokodsintegrerade access-styrningen är särskilt fördelaktig för processorer som måste bestämma DRAM-adressen i två steg; till exempel en 84 bitars processor som är ansluten till ett DRAM-minne med 16-bitars adressering. DRAM-accessen kan initieras innan den fullständiga DRAM- adressen har bestämts.The microcode integrated access control is particularly advantageous for processors that need to determine the DRAM address in two steps; for example, an 84-bit processor connected to a 16-bit addressing DRAM. DRAM access can be initiated before the complete DRAM address has been determined.

Fig. 6 är ett schematískt diagram över DRAM-styrlogiken i en DRAM-styrenhet enligt en föredragen utföringsform av uppfinningen. DRAM-styrlogiken 52 är ímplementerad med användande av ett antal konventionella grindar (OCH- grindar AN, ICKE-ELLER-grindar NR, ICKE-OCH-grindar ND), vippor (DFF och JKFF) och inverterare (I). Styrlogiken 52 gensvarar på styrinstruktionerna i MEMCP-fältet i mikrokodsinstruktionerna i mikrokodsprograrnmet 22. För varje mikrokodsinstruktion som tas emot från mikrokodsprogrammet 22 genererar styrlogiken 52 DRAM-styrsignaler för en på förhand bestämd delcykel av en DRAM-access i gensvar på styrbitarna i MEMCP-fältet. 10 15 20 25 30 512 775 17 I denna särskilda utföringsform anbringas de två styrbitarna i MEMCP-fältet den aktuella mikrokodsinstruktionen till grindarna AN, NR, och AN som följer efter inverteraren I, för att generera ett antal signaler E, R och W som i sin tur matas till olika grindar och vippor i styrlogiken 52. Dessutom anbringas den första MEMCP-styrbiten till en JK-vippa, och två ICKE-OCH-grindar ND. Den andra MEMCP-styrbiten anbringas vidare till en ICKE-ELLER-grind NR.Fig. 6 is a schematic diagram of the DRAM control logic in a DRAM control unit according to a preferred embodiment of the invention. DRAM control logic 52 is implemented using a number of conventional gates (AND gates AN, NO-OR gates NR, NON-AND gates ND), flip-flops (DFF and JKFF) and inverters (I). The control logic 52 responds to the control instructions in the MEMCP field in the microcode instructions in the microcode program 22. For each microcode instruction received from the microcode program 22, the control logic 52 generates DRAM control signals for a predetermined subcycle of a DRAM access in the control field MP on the MEMCP field. In this particular embodiment, the two control bits in the MEMCP field apply the current microcode instruction to the gates AN, NR, and AN following the inverter I, to generate a number of signals E, R and W as in in turn, it is fed to different gates and flip-flops in the control logic 52. In addition, the first MEMCP control bit is applied to a JK flip-flop, and two NAND gates ND. The second MEMCP control bit is further applied to a NO-OR gate NO.

Signalen A är utsignalen från en vippa ALLRAS som används för att sätta en RAS-signal till DRAM-minnet regenereringscykel. Signalen 66 är utsignalen från oscillatorn om 66 MHz; och alla minneskretsar i under en EXEC är huvudklocksignalen för mikrokodsinstruktionerna.Signal A is the output of an ALLRAS flip-flop used to put a RAS signal to the DRAM memory regeneration cycle. The signal 66 is the output of the 66 MHz oscillator; and all memory circuits in during an EXEC are the main clock signal for the microcode instructions.

I gensvar på MEMCP-styrbitarna genereras DRAM-styrsignalerna RASn, CASn, WEn, COL och COLn. Om ett 16-bitars DRAM-minne används kan CAS- signalen utnyttjas tillsammans med ADDR LSB från adressregistret 54 och en ytterligare styrsignal l6BITn för att selektivt generera signalerna UCASn och LCASn. UCASn står för "Strobsignal för kolumnadress/Styrbit för mest bitgrupp", LCASn "Strobsignal för kolumnadress/Styrbit för minst signifikanta bitgrupp". Signalerna UCASn och LCASn används på konventionellt sätt för access till respektive delar av DRAM-minnet om 16-bitar. signifikanta och står för Vidare genererar en vippa DFF en data-till-minnet-signal (DTMJENABLE) i gensvar på signalerna W och EXEC. Signalen DTM_ENABLE styr data-till- minnet-registret. Som man kan se från Fig. 6 genererar styrlogiken 52 också en håll-data-från-minnebsignal (HOLD_DFM) som styr data-från-minnet- latchen (inte visad).In response to the MEMCP control bits, the DRAM control signals RASn, CASn, WEn, COL and COLn are generated. If a 16-bit DRAM memory is used, the CAS signal can be used together with the ADDR LSB from the address register 54 and an additional control signal 16BITn to selectively generate the signals UCASn and LCASn. UCASn stands for "Strobe signal for column address / Control bit for most byte group", LCASn "Strobe signal for column address / Control bit for least significant byte". The signals UCASn and LCASn are used in a conventional way for access to the respective parts of the 16-bit DRAM. significant and stands for Furthermore, a flip-flop DFF generates a data-to-memory signal (DTMJENABLE) in response to the signals W and EXEC. The DTM_ENABLE signal controls the data memory register. As can be seen from Fig. 6, the control logic 52 also generates a hold-from-data memory signal (HOLD_DFM) which controls the data-from-memory latch (not shown).

Ytterligare detaljerad information om DRAM-minnen och DRAM-styrning kan man finna till exempel i databoken MOS Memory DRAM (Byte/ Word Wide) från Toshiba (1995), och i synnerhet DRAM-speciñkationen TC5lV4265DJ/DFT- 60, -70 på sidorna 1604-1634 i denna. :i liii n... -_.l 10 15 20 25 30 512 773 18 Fig. 7A-E är schematiska tidsdiagram för olika DRAM-accesser enligt en föredragen utföringsform av uppfinningen.Further detailed information on DRAMs and DRAM control can be found, for example, in the data book MOS Memory DRAM (Byte / Word Wide) from Toshiba (1995), and in particular the DRAM specification TC5lV4265DJ / DFT-60, -70 on pages 1604 -1634 in this. Figs. 7A-E are schematic timing diagrams for various DRAM accesses according to a preferred embodiment of the invention.

Fig. 7A är ett schematiskt tidsdiagram för en läsaccess i "page mode" enligt en föredragen utföringsform av uppfinningen. Som angivits i Tabell II ovan innefattar sekvensen av DRAM-styroperationer ett på förhand bestämt antal R- operationer följt av en H-operation och en E-operation. rnikroinstruktionscykeln, 30 ns läng, bestämmer I den första mikrokodsinstruktionen en radadress ROW och laddar denna till ADH.Fig. 7A is a schematic timing diagram of a page access reading mode according to a preferred embodiment of the invention. As indicated in Table II above, the sequence of DRAM control operations includes a predetermined number of R operations followed by an H operation and an E operation. The microinstruction instruction cycle, 30 ns long, determines in the first microcode instruction a row address ROW and loads it to ADH.

I den andra mikroinstruktionscykeln, som förlängs till 45 ns, utförs en R- operation och en första kolumnadress COL1 bestäms av mikrokods- instruktionen och laddas till ADL. Radadressen ROW laddas in i DRAM- minnet genom en strobsignal, varvid den utvalda raden aktiveras.In the second microinstruction cycle, which is extended to 45 ns, an R operation is performed and a first column address COL1 is determined by the microcode instruction and loaded into the ADL. The line address ROW is loaded into the DRAM by a strobe signal, activating the selected line.

I den tredje mikroinstruktionscykeln, som också kan förlängas till 45 ns beroende på cykeltiden för det DRAM-minne som används, utförs en R- operation ännu en gång och en andra kolumnadress COLQ bestäms av mikrokodsinstruktionen och laddas till ADL. Kolumnadressen COLl laddas in i DRAM-minnet genom en strobsignal.In the third microinstruction cycle, which can also be extended to 45 ns depending on the cycle time of the DRAM used, an R operation is performed once more and a second column address COLQ is determined by the microcode instruction and loaded into the ADL. The column address COL1 is loaded into the DRAM by a strobe signal.

I den fjärde mikroinstruktionscykeln utförs en R-operation igen och en tredje kolumnadress COL3 bestäms av mikrokodsinstruktionen och laddas till ADL.In the fourth microinstruction cycle, an R operation is performed again and a third column address COL3 is determined by the microcode instruction and loaded into the ADL.

Kolumnadressen COL2 laddas in i DRAM-minnet genom en strobsignal. Nu presenterar DFM-latchen som styrs av signalen HOLD_DFM ett första data DATAl, associerat med DRAM-adressen (ROW, COLI), från DRAM-minnet.The COL2 column address is loaded into the DRAM by a strobe signal. Now the DFM latch controlled by the signal HOLD_DFM presents a first data DATA1, associated with the DRAM address (ROW, COLI), from the DRAM memory.

Datakällan DSOURCE är DFM-latchen som häller DATAl.The data source DSOURCE is the DFM latch that pours DATA1.

I den femte mikroinstruktionscykeln utförs en H-operation. Kolumnadressen COL3 laddas in i DRAM-minnet genom en strobsignal. DFM-latchen 10 15 20 25 30 512 775 19 presenterar nu nästa data DATA2, associerat med DRAM-adressen (ROW, COL2) från DRAM-minnet. DSOURCE är DFM(DATA2).In the fifth microinstruction cycle, an H operation is performed. The COL3 column address is loaded into the DRAM by a strobe signal. The DFM latch 10 15 20 25 30 512 775 19 now presents the next data DATA2, associated with the DRAM address (ROW, COL2) from the DRAM memory. DSOURCE is DFM (DATA2).

I den sista mikroinstruktionscykeln för läsaccessen i "page mode" som illustreras i Fig. 7A utförs en E-operation. DFM-latchen presenterar nu DATA3, associerat med DRAM-adressen (ROW, COLS) från DRAM-minnet.In the last microinstruction cycle for the page access read mode illustrated in Fig. 7A, an E operation is performed. The DFM latch now presents DATA3, associated with the DRAM address (ROW, COLS) from the DRAM memory.

DSOURCE är DFM(DATA3).DSOURCE is DFM (DATA3).

Fig. 7B är ett schematiskt tidsdiagram för en läs-och-skrivaccess i "page mode" enligt en föredragen utföringsform av uppfinningen. Sekvensen av DRAM- styroperationer för en läs-och-skrivaccess anges i Tabell II ovan. Först utförs en R-operation, följt av en H-operation. Därefter utförs en W-operation och data-till-minnet-registret (DTM) laddas. Kolumnadressen för skrivning laddas till ADL i denna mikrokodsinstruktionscykel eller i den föregående cykeln.Fig. 7B is a schematic timing diagram for a read-and-write access in "page mode" according to a preferred embodiment of the invention. The sequence of DRAM control operations for a read and write access is given in Table II above. First, an R operation is performed, followed by an H operation. Then a W operation is performed and the data-to-memory register (DTM) is loaded. The column address for writing is loaded into the ADL in this microcode instruction cycle or in the previous cycle.

Samtidigt presenterar DFM-latchen data DATAl från DRAM-minnet. I nästa mikroinstruktionscykel utförs en H~operation och kolumnadressen (COLQ) för skrivning laddas in i DRAM-minnet genom en strobsignal och data (DATATILLMEMI) i DTM skrivs in i DRAM-minnet. Accessen avslutas med en E-operation.At the same time, the DFM latch presents data DATA1 from the DRAM memory. In the next microinstruction cycle, an H ~ operation is performed and the column address (COLQ) for writing is loaded into the DRAM memory by a strobe signal and data (DATA MEMORY) in the DTM is written into the DRAM memory. Access is terminated with an E-operation.

Fig. 7C är ett schematiskt tidsdiagram för en skrivaccess i "page mode" enligt Sekvensen av DRAM- styroperationer för en skrivaccess i "page mode" anges i Tabell Il ovan. En en föredragen utföringsform av uppfinningen. skrivaccess i "page mode " liknar en läsaccess i "page mode". W-operationer används istället för R-operationer. Data som ska skrivas in i DRAM-minnet laddas till DTM-registret minst en mikroinstruktionscykel innan själva skrivningen till DRAM-minnet.Fig. 7C is a schematic timing diagram of a write access in "page mode" according to the Sequence of DRAM control operations for a write access in "page mode" given in Table II above. A preferred embodiment of the invention. write access in "page mode" is similar to a read access in "page mode". W-operations are used instead of R-operations. Data to be written to the DRAM memory is loaded into the DTM register at least one microinstruction cycle before the actual writing to the DRAM memory.

Fig. 7D är ett schematiskt tidsdiagrarn för en skriv-och-läsaccess i "page mode" enligt en föredragen utfözingsforrn av uppfinningen. Sekvensen av DRAM- styroperationer för en skriv-och-läsaccess i "page mode" anges i Tabell ll ovan. 10 15 20 25 30 512 773 20 Det bör noteras att W-operationen följs direkt av en R-operation, utan att det behövs en H-operation däremellan.Fig. 7D is a schematic time diagram of a page mode read-and-read access according to a preferred embodiment of the invention. The sequence of DRAM control operations for a read-and-read access in "page mode" is given in Table ll above. 10 15 20 25 30 512 773 20 It should be noted that the W operation is followed directly by an R operation, without the need for an H operation in between.

Fig. 7E är ett schematiskt tidsdiagram för en regenereringscykel av CAS- innan-RAS-typ enligt en föredragen utföringsform av uppfinningen. Sekvensen av DRAM-styroperationer för en sådan DRAM-accesscykel börjar med en H- operation i vilken ALLRAS sätts, följt av en E-operation. När ALLRAS är satt så går signalen A hög, och styrlogiken 52 (Fig. 6) påverkas i enlighet därmed.Fig. 7E is a schematic timing diagram of a CAS-before-RAS type regeneration cycle according to a preferred embodiment of the invention. The sequence of DRAM control operations for such a DRAM access cycle begins with an H operation in which ALLRAS is inserted, followed by an E operation. When ALLRAS is set, the signal A goes high, and the control logic 52 (Fig. 6) is affected accordingly.

Därefter upprepas en sekvens av DRAM-styroperationerna R, H och E ett lämpligt antal gånger, och under den sista upprepningen innefattar H- operationen en återställning av ALLRAS. Accesscykeln avslutas med en E- operation. Alternativt upprepas en sekvens av DRAM-styroperationerna H, E och R.Thereafter, a sequence of DRAM control operations R, H and E is repeated an appropriate number of times, and during the last iteration, the H operation includes a reset of ALLRAS. The access cycle ends with an E-operation. Alternatively, a sequence of DRAM control operations H, E and R is repeated.

I den för närvarande mest föredragna utföringsformen av uppfinningen är centralprocessorn en processor med komplex instruktionsuppsättning (CISC), och komplexa instruktioner lagras i DRAM-minnet och exekveras av mikrokodsinstruktioner som lagras i mikrokodsprogramminnet. Mikrokods- programminnet är företrädesvis statiskt, även om inget hindrar att det är dynamiskt. I detta fall lagras de komplexa instruktionerna, som också hänvisas till som högnivåmaskininstruktioner, såväl som data i DRAM- minnet, och därför kan datorsystemet hänvisas till som en CISC med "von Neumann"-arkitektur. När mikrokodsprogrammet har valt ut och aktiverat en rad i DRAM-minnet så har mikrokodsprogrammet snabb access till alla minnesceller i raden, i vilken godtycklig ordning som helst och med en godtycklig kombination av läsningar och skrivningar.In the presently most preferred embodiment of the invention, the central processor is a complex instruction set (CISC) processor, and complex instructions are stored in the DRAM memory and executed by microcode instructions stored in the microcode program memory. The microcode program memory is preferably static, although there is nothing to prevent it from being dynamic. In this case, the complex instructions, which are also referred to as high-level machine instructions, are stored as well as data in the DRAM memory, and therefore the computer system can be referred to as a CISC with "von Neumann" architecture. Once the microcode program has selected and activated a line in the DRAM memory, the microcode program has quick access to all memory cells in the line, in any order and with an arbitrary combination of readings and writes.

Alternativt är den aritrnetiska delen av processorn utformad att ha två DRAM- gränssnitt, ett gränssnitt för komplexa instruktioner och ett för data. Detta skulle medge en CISC med Harvard-arkitektur. 10 15 512 773 21 Emellertid skulle "mikrokodsinstruktionerna" kunna vara instruktionerna i (RISC) datorsystemet skulle hänvisas till som ett RISC-system med Harvard- en processor med förenklad instruktionsuppsättning så att arkitektur, där instruktioner och data lagras i olika minnen.Alternatively, the arithmetic part of the processor is designed to have two DRAM interfaces, one for complex instructions and one for data. This would allow a CISC with Harvard architecture. 10 15 512 773 21 However, the "microcode instructions" could be the instructions in the (RISC) computer system would be referred to as a RISC system with Harvard- a simplified instruction set processor so that architecture, where instructions and data are stored in different memories.

Det bör förstås att antalet DRAM-styroperationer inte är begränsat till fyra som i den föredragna utföringsforrnen av uppfinningen. Det är möjligt att använda mer eller mindre än fyra DRAM-styroperationer. Antalet styrbitar i varje mikrokodsinstruktion kommer då att modifieras i enlighet därmed. Om mer än fyra DRAM-styroperationer används av uppfinningen så måste varje mikrokodsinstruktion innefatta mer än två styrbitar. En enstaka styrbit kan särskilja mellan två DRAM-styroperationer.It should be understood that the number of DRAM control operations is not limited to four as in the preferred embodiment of the invention. It is possible to use more or less than four DRAM control operations. The number of control bits in each microcode instruction will then be modified accordingly. If more than four DRAM control operations are used by the invention, each microcode instruction must include more than two control bits. A single control bit can distinguish between two DRAM control operations.

De utföringsformer som beskrivits ovan ges enbart som exempel, och det bör förstås att föreliggande uppfinning inte är begränsad till dessa. Ytterligare modifikationer, förändringar och förbättringar som innehåller de grundläggande, bakomliggande principer som beskrivits, och definierats i patentkraven ligger inom uppfinningens omfattning och andemening.The embodiments described above are given by way of example only, and it should be understood that the present invention is not limited thereto. Further modifications, alterations, and improvements that incorporate the basic, underlying principles described and claimed in the claims are within the scope and spirit of the invention.

Claims (27)

10 15 20 25 30 512 773 22 PATENTKRAV10 15 20 25 30 512 773 22 PATENT REQUIREMENTS 1. Ett förfarande för styrning av access till ett dynamiskt direktminne (DRAM), kännetecknat av att förfarandet innefattar steget att man för varje DRAM- access utför en sekvens av ett på förhand bestämt antal DRAM- styroperationer i gensvar på en motsvarande sekvens av styrinstruktioner innefattade i en processors (10) mikrokodsinstruktioner.A method for controlling access to a dynamic direct memory (DRAM), characterized in that the method comprises the step of performing for each DRAM access a sequence of a predetermined number of DRAM control operations in response to a corresponding sequence of control instructions included. in the microcode instructions of a processor (10). 2. Förfarandet enligt krav 1, kännetecknat av att varje mikrokodsinstruktion innefattar en styrinstruktion, bildad av minst en styrbít, som styr vilken av ett flertal på förhand definierade DRAM-styroperationer (R, W, H, E) som ska utföras.The method according to claim 1, characterized in that each microcode instruction comprises a control instruction, formed by at least one control bit, which controls which of a plurality of predefined DRAM control operations (R, W, H, E) is to be performed. 3. Förfarandet enligt krav 2, kännetecknat av att de på förhand definierade DRAM-styroperationerna (R, W, H, E) kan ordnas för att bilda sekvensen av DRAM-styroperationer så att en läsaccess, en skrivaccess, en läsaccess i "page mode", en skrivaccess i "page mode", en läs-och-skrivaccess i "page mode" eller en skriv-och- läsaccess i "page mode" till DRAM-minnet (60) medges.The method according to claim 2, characterized in that the predefined DRAM control operations (R, W, H, E) can be arranged to form the sequence of DRAM control operations so that a read access, a write access, a read access in "page mode ", a write access in" page mode ", a read-and-write access in" page mode "or a write-and-read access in" page mode "to the DRAM (60) is allowed. 4. Förfarandet enligt något av föregående krav, kännetecknat av att minst en styrinstruktion i sekvensen av styrinstruktioner tillfälligt uppehåller DRAM-minnets (60) minnescykel.The method according to any of the preceding claims, characterized in that at least one control instruction in the sequence of control instructions temporarily interrupts the memory cycle of the DRAM memory (60). 5. Förfarandet enligt något av föregående krav, kännetecknat av att varaktigheten hos DRAM-styroperationerna passar mot cykeltiden för míkrokodsinstruktionerna.The method according to any of the preceding claims, characterized in that the duration of the DRAM control operations corresponds to the cycle time of the microcode instructions. 6. ' Förfarandet enligt krav 5, kännetecknat av att förfarandet vidare innefattar steget att man väljer cykeltiden för varje mikrokodsinstruktion från ett antal olika cykeltider. 10 15 20 25 30 512 773 23The method of claim 5, characterized in that the method further comprises the step of selecting the cycle time for each microcode instruction from a number of different cycle times. 10 15 20 25 30 512 773 23 7. Förfarandet enligt krav 2, kännetecknat av att en första operation, hänvisad till som en R-operation, av de på förhand definierade DRAM-styroperationerna innefattar stegen: att man selektivt, om signalen är inaktiv, aktiverar en strobsignal (RAS) för radadressen till DRAM-minnet; att man selektivt gör det möjligt för en giltig radadress att matas till DRAM-minnet (60), och att man en första på förhand bestämd tidsperiod senare gör det möjligt för en giltig kolumnadress att matas till DRAM-minnet (60): att man selektivt, om signalen är aktiv, deaktiverar en skrivsignal (WE) till DRAM-minnet; och att man selektivt, om signalen är aktiv, deaktiverar en strobsignal (CAS) för kolumnadressen till DRAM-minnet, och att man en andra på förhand bestämd tidsperiod senare, i nästa mikroinstruktionscykel, aktiverar CAS-signalen.The method according to claim 2, characterized in that a first operation, referred to as an R operation, of the predefined DRAM control operations comprises the steps of: selectively, if the signal is inactive, activating a strobe signal (RAS) for the line address to the DRAM memory; that you selectively enable a valid line address to be fed to the DRAM (60), and that a first predetermined time period later allows a valid column address to be fed to the DRAM (60): that you selectively , if the signal is active, deactivates a write signal (WE) to the DRAM memory; and selectively deactivating a strobe signal (CAS) for the column address to the DRAM memory selectively, if a signal is active, and activating the CAS signal a second predetermined period of time later, in the next microinstruction cycle. 8. Förfarandet enligt krav 2, kännetecknat av att en andra operation, hänvisad till som en W-operation, av de på förhand definierade DRAM-styroperationerna innefattar stegen: att man selektivt, om signalen är inaktiv, aktiverar en strobsignal- (RAS) för radadressen till DRAM-minnet; att man gör det möjligt för en giltig radadress att matas till DRAM- minnet (60), och att man en första på förhand bestämd tidsperiod senare gör det möjligt för en giltig kolumnadress att matas till DRAM-minnet; att man selektivt, om signalen är inaktiv, aktiverar en skrivsignal (WE) till DRAM-minnet; och att man selektivt, om signalen är aktiv, deaktiverar en strobsignal (CAS) för kolumnadressen till DRAM-minnet, och att man en andra på nästa mikroinstruktionscykel, förhand bestämd tidsperiod senare, i aktiverar CAS-signalen. | lll Ilvl 10 15 20 25 30 512 773 24The method according to claim 2, characterized in that a second operation, referred to as a W operation, of the predefined DRAM control operations comprises the steps of: selectively, if the signal is inactive, activating a strobe signal (RAS) for the line address of the DRAM memory; enabling a valid row address to be fed to the DRAM (60), and a first predetermined period of time later enabling a valid column address to be fed to the DRAM; selectively, if the signal is inactive, activating a write signal (WE) to the DRAM memory; and selectively, if the signal is active, deactivating one strobe signal (CAS) for the column address of the DRAM memory, and activating a second on the next microinstruction cycle, predetermined time period later, in the CAS signal. | lll Ilvl 10 15 20 25 30 512 773 24 9. Förfarandet enligt krav 2, kännetecknat av att en tredje operation, hänvisad till som en H-operation, av de på förhand definierade DRAM-styroperationerna innefattar stegen: att man deaktiverar en strobsignal (CAS) för kolumnadressen till DRAM-minnet; och att man deaktiverar en skrivsignal till DRAM-minnet.The method of claim 2, characterized in that a third operation, referred to as an H operation, of the predefined DRAM control operations comprises the steps of: deactivating a strobe signal (CAS) for the column address of the DRAM memory; and deactivating a write signal to the DRAM memory. 10. Förfarandet enligt krav 2, kännetecknat av att en fiärde operation, hänvisad till som en E-operation, av de på förhand definierade DRAM-styroperationerna innefattar stegen: att man deaktiverar en strobsignal (RAS) för radadressen till DRAM- minnet (60); att man selektivt, om signalen är aktiv, deaktiverar en strobsignal (CAS) för kolumnadressen till DRAM-minnet; att man selektivt, om signalen är aktiv, deaktiverar en skrivsignal (WE) till DRAM-minnet; och att man gör det möjligt för en giltig radadress att matas till DRAM- minnet.The method of claim 2, characterized in that a fourth operation, referred to as an E operation, of the predefined DRAM control operations comprises the steps of: deactivating a strobe signal (RAS) for the line address of the DRAM memory (60) ; selectively deactivating a strobe signal (CAS) for the column address of the DRAM memory selectively, if the signal is active; selectively deactivating a write signal (WE) to the DRAM memory if the signal is active; and enabling a valid line address to be fed to the DRAM. 11. Förfarandet enligt krav 7, 9 och 10, kännetecknat av att för en läsaccess till DRAM-minnet (60) så innefattar sekvensen av DRAM-styroperationer en R-operation, en H-operation samt en E-operation, i den ordningen.The method according to claims 7, 9 and 10, characterized in that for a read access to the DRAM memory (60), the sequence of DRAM control operations comprises an R operation, an H operation and an E operation, in that order. 12. Förfarandet enligt krav 8, 9 och 10, kännetecknat av att för en skrivaccess till DRAM-minnet (60) så innefattar sekvensen av DRAM-styroperationer en W-operation, en H-operation samt en E-operation, i den ordningen. 10 15 20 25 30 512 775 25The method according to claims 8, 9 and 10, characterized in that for a write access to the DRAM memory (60), the sequence of DRAM control operations comprises a W operation, an H operation and an E operation, in that order. 10 15 20 25 30 512 775 25 13. Förfarandet enligt krav 7, 9 och 10, kännetecknat av att för en läsaccess i "page mode" till DRAM-minnet (60) så innefattar sekvensen av DRAM-styroperationer ett på förhand bestämt antal R-operationer följt av en H-operation och en E-operation.The method according to claims 7, 9 and 10, characterized in that for a read access in "page mode" to the DRAM memory (60), the sequence of DRAM control operations comprises a predetermined number of R operations followed by an H operation and an E-operation. 14. Förfarandet enligt krav 8, 9 och 10, kännetecknat av att för en skrivaccess i "page mode" till DRAM-minnet (60) så innefattar sekvensen av DRAM-styroperationer ett på förhand bestämt antal W-operationer följt av en H-operation och en E-operation.The method according to claims 8, 9 and 10, characterized in that for a write access in "page mode" to the DRAM memory (60), the sequence of DRAM control operations comprises a predetermined number of W operations followed by an H operation and an E-operation. 15. En styrenhet för ett dynamiskt direktminne (DRAM), kännetecknad av att DRAM-styrenheten (50) gensvarar på en sekvens av styrinstruktioner för styrning av access till DRAM-minnet (60), varvid varje förhand bestämd del av en styrinstruktion bildas av en på mikrokodsinstruktion för en processor (10).A dynamic direct memory (DRAM) control unit, characterized in that the DRAM control unit (50) responds to a sequence of control instructions for controlling access to the DRAM memory (60), each predetermined part of a control instruction being formed by a on microcode instruction for a processor (10). 16. DRAM-styrenheten enligt krav 15, kännetecknad av att DRAM-styrenheten (50) styr access till DRAM-minnet genom att den utför en sekvens av ett på förhand bestämt antal DRAM- styroperationer i gensvar på sekvensen av styrinstruktioner.The DRAM controller according to claim 15, characterized in that the DRAM controller (50) controls access to the DRAM memory by performing a sequence of a predetermined number of DRAM controller operations in response to the sequence of control instructions. 17. DRAM-styrenheten enligt krav 15, kännetecknat av att varje styrinstruktion, bildad av minst en styrbit, styr vilken av ett flertal på förhand definierade DRAM-styroperationer (R, W, H, E) som ska utföras.The DRAM control unit according to claim 15, characterized in that each control instruction, formed by at least one control bit, controls which of a number of predefined DRAM control operations (R, W, H, E) are to be performed. 18. DRAM-styrenheten enligt krav 16 eller 17, kännetecknad av att varaktigheten hos DRAM-styroperationerna passar mot cykeltiden för mikrokodsinstruktionerna. 10 15 20 30 512 773 26The DRAM control unit according to claim 16 or 17, characterized in that the duration of the DRAM control operations corresponds to the cycle time of the microcode instructions. 10 15 20 30 512 773 26 19. DRAM-styrenheten enligt krav 18, kännetecknad av att cykeltiden för varje mikrokodsinstruktion är justerbar.The DRAM controller according to claim 18, characterized in that the cycle time for each microcode instruction is adjustable. 20. DRAM-styrenheten enligt krav 15, kännetecknad av att minst en styrinstruktion i sekvensen av styrinstruktioner tillfälligt uppehåller DRAM-minnets (60) minnescykel.The DRAM controller according to claim 15, characterized in that at least one control instruction in the sequence of control instructions temporarily stops the memory cycle of the DRAM memory (60). 21. DRAM-styrenheten enligt krav 15, kännetecknad av att processorns (10) mikrokodsinstruktioner lagras i ett programminne (22) som är åtskilt från DRAM-minnet (60).The DRAM controller according to claim 15, characterized in that the microcode instructions of the processor (10) are stored in a program memory (22) separate from the DRAM memory (60). 22. DRAM-styrenheten enligt krav 15, DRAM-styrenheten (50) antal av gensvarar på adress- ( 10) kännetecknad av att bestäms av ett SOITI pYOCCSSOITIS information, mikrokodsinstruktioner, för adressering av DRAM-minnet (60).The DRAM controller according to claim 15, the DRAM controller (50) number of responses to address (10), characterized by being determined by a SOITI pYOCCSSOITIS information, microcode instructions, for addressing the DRAM memory (60). 23. DRAM-styrenheten enligt krav 15, (10) instruktionerna för en processor med förenklad instruktionsuppsättning (Rise). kännetecknad av att processorns mikrokodsinstruktioner är (10), direktminne (DRAM) som samverkar med processorn, och en styrenhet (50) för DRAM-minnet (60), kännetecknat av att DRAM-styrenheten (50) gensvarar på en sekvens avThe DRAM controller of claim 15, (10) the instructions for a simplified instruction set (Rise) processor. characterized in that the microcode instructions of the processor are (10), direct memory (DRAM) cooperating with the processor, and a control unit (50) for the DRAM memory (60), characterized in that the DRAM control unit (50) responds to a sequence of 24. Ett datorsystem uppvisande en processor ett dynamiskt styrinstruktíoner från processorn (10) för styrning av access till DRAM- minnet (60), varvid varje styrínstruktion bildas av en på förhand bestämd del av en rnikrokodsinstruktion för processorn (10). 10 512 773 27A computer system having a processor dynamically control instructions from the processor (10) for controlling access to the DRAM memory (60), each control instruction being formed by a predetermined portion of a microcode instruction for the processor (10). 10 512 773 27 25. Datorsystemet enligt krav 24, kännetecknad av att DRAM-styrenheten (50) styr access till DRAM-minnet (60) genom att den utför en sekvens av DRAM-styroperationer i gensvar på sekvensen av styrinstruktioner.The computer system of claim 24, characterized in that the DRAM controller (50) controls access to the DRAM memory (60) by performing a sequence of DRAM control operations in response to the sequence of control instructions. 26. Datorsysternet enligt krav 24, kännetecknar! av att processorn ( 10) och DRAM-minnet (60) är anordnade på samma kretskort.The computer system according to claim 24, characterized in! in that the processor (10) and the DRAM memory (60) are arranged on the same circuit board. 27. Datorsystemet enligt krav 24, kännetecknad av att processorn (10) är en processor med komplex instruktionsuppsättning (CISC), och att komplexa instruktioner lagras i DRAM-minnet (60) och exekveras av mikrokodsinstruktioner som lagras i ett prograrnminne (22) i processorn (10).The computer system according to claim 24, characterized in that the processor (10) is a complex instruction set (CISC) processor, and that complex instructions are stored in the DRAM (60) and executed by microcode instructions stored in a program memory (22) in the processor. (10).
SE9803708A 1998-10-28 1998-10-28 Method and device for controlling / accessing DRAM memories SE512773C2 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE9803708A SE512773C2 (en) 1998-10-28 1998-10-28 Method and device for controlling / accessing DRAM memories
EP99958554A EP1125191A1 (en) 1998-10-28 1999-10-25 Controlling access to a primary memory
US09/830,094 US6938118B1 (en) 1998-10-28 1999-10-25 Controlling access to a primary memory
PCT/SE1999/001923 WO2000025205A1 (en) 1998-10-28 1999-10-25 Controlling access to a primary memory
AU15894/00A AU1589400A (en) 1998-10-28 1999-10-25 Controlling access to a primary memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE9803708A SE512773C2 (en) 1998-10-28 1998-10-28 Method and device for controlling / accessing DRAM memories

Publications (3)

Publication Number Publication Date
SE9803708D0 SE9803708D0 (en) 1998-10-28
SE9803708L SE9803708L (en) 2000-04-29
SE512773C2 true SE512773C2 (en) 2000-05-08

Family

ID=20413122

Family Applications (1)

Application Number Title Priority Date Filing Date
SE9803708A SE512773C2 (en) 1998-10-28 1998-10-28 Method and device for controlling / accessing DRAM memories

Country Status (5)

Country Link
US (1) US6938118B1 (en)
EP (1) EP1125191A1 (en)
AU (1) AU1589400A (en)
SE (1) SE512773C2 (en)
WO (1) WO2000025205A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4451010B2 (en) * 2001-04-09 2010-04-14 三菱電機株式会社 Programmable controller
US7171505B2 (en) * 2002-05-02 2007-01-30 International Business Machines Corporation Universal network interface connection
US7277971B2 (en) * 2003-06-26 2007-10-02 The Boeing Company Method and apparatus for communicating data over a bus according to redefinable configurations
WO2007075134A2 (en) * 2005-12-27 2007-07-05 Imsys Technologies Ab Method and system for cost-efficient, high-resolution graphics/image display system
FR2913784A1 (en) * 2007-03-14 2008-09-19 St Microelectronics Sa DATA MANAGEMENT FOR IMAGE PROCESSING
WO2011002371A1 (en) * 2009-07-03 2011-01-06 Axel Jantsch A programmable controller
CN111506531B (en) * 2020-03-27 2023-06-02 上海赛昉科技有限公司 Easy-master microcode module and configuration method thereof

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062041A (en) * 1988-12-29 1991-10-29 Wang Laboratories, Inc. Processor/coprocessor interface apparatus including microinstruction clock synchronization
JPH02210685A (en) 1989-02-10 1990-08-22 Tokyo Electric Co Ltd Dram controller
US5418924A (en) * 1992-08-31 1995-05-23 Hewlett-Packard Company Memory controller with programmable timing
US5278801A (en) * 1992-08-31 1994-01-11 Hewlett-Packard Company Flexible addressing for drams
JPH06150023A (en) * 1992-11-06 1994-05-31 Hitachi Ltd Microcomputer and system thereof
US5732236A (en) * 1993-05-28 1998-03-24 Texas Instruments Incorporated Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule
JPH07248963A (en) * 1994-03-08 1995-09-26 Nec Corp Dram controller
JPH07281948A (en) 1994-04-06 1995-10-27 Mitsubishi Electric Corp Memory controller
AU5368696A (en) 1995-03-22 1996-10-08 Ast Research, Inc. Rule-based dram controller
US5752269A (en) 1995-05-26 1998-05-12 National Semiconductor Corporation Pipelined microprocessor that pipelines memory requests to an external memory
JP3614956B2 (en) 1995-12-20 2005-01-26 株式会社東芝 Memory control system
US5636174A (en) * 1996-01-11 1997-06-03 Cirrus Logic, Inc. Fast cycle time-low latency dynamic random access memories and systems and methods using the same
GB2309559B (en) 1996-01-27 2000-01-26 Motorola Israel Ltd Microprocessor and system
JPH1049437A (en) 1996-07-30 1998-02-20 Toshiba Corp Dynamic ram controller
JPH10105457A (en) 1996-09-30 1998-04-24 Nec Data Terminal Ltd Memory control system and memory control circuitt
JPH10134008A (en) * 1996-11-05 1998-05-22 Mitsubishi Electric Corp Semiconductor device and computer system
US5933855A (en) * 1997-03-21 1999-08-03 Rubinstein; Richard Shared, reconfigurable memory architectures for digital signal processing
JP3189727B2 (en) * 1997-04-15 2001-07-16 日本電気株式会社 Packet-type memory LSI with built-in coprocessor, memory system using the same, and control method therefor
JP4246812B2 (en) * 1997-06-12 2009-04-02 パナソニック株式会社 Semiconductor circuit and control method thereof
US6192446B1 (en) * 1998-09-03 2001-02-20 Micron Technology, Inc. Memory device with command buffer

Also Published As

Publication number Publication date
EP1125191A1 (en) 2001-08-22
AU1589400A (en) 2000-05-15
SE9803708L (en) 2000-04-29
SE9803708D0 (en) 1998-10-28
WO2000025205A1 (en) 2000-05-04
US6938118B1 (en) 2005-08-30

Similar Documents

Publication Publication Date Title
KR101329018B1 (en) Bit line precharge in embedded memory
KR100244841B1 (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5596741A (en) Computer system which overrides write protection status during execution in system management mode
JPH0652633B2 (en) Memory subsystem
US20030093612A1 (en) Microcomputer
KR100386638B1 (en) A microprocessor for pipelining access requests to external memory
US6385691B2 (en) Memory device with command buffer that allows internal command buffer jumps
KR100476446B1 (en) A method and apparatus to perform a round robin and locking cache replacement scheme
JP5199090B2 (en) Method and system for providing an energy efficient register file
US7577791B2 (en) Virtualized load buffers
KR19990037572A (en) Design of Processor Architecture with Multiple Sources Supplying Bank Address Values and Its Design Method
EP1560123B1 (en) Information processing apparatus and method of accessing memory
SE512773C2 (en) Method and device for controlling / accessing DRAM memories
CA3053391A1 (en) Super-thread processor
KR100831491B1 (en) Address decode
US6055606A (en) Writeback cache cell with a dual ported dirty bit cell and method for operating such a cache cell
JPH0362243A (en) Apparatus for quickening memory access in information processing system
JPH07248963A (en) Dram controller
KR100298955B1 (en) Data processing system
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
WO2006003693A1 (en) Data processor
US11847461B2 (en) Out-of-order input / output write
WO2009092037A1 (en) Content addressable memory augmented memory
JP4921153B2 (en) System and method for selectively energizing based on write data
JP3956698B2 (en) Memory control device

Legal Events

Date Code Title Description
NUG Patent has lapsed