SE515082C2 - Procedure and arrangement of a computer system - Google Patents
Procedure and arrangement of a computer systemInfo
- Publication number
- SE515082C2 SE515082C2 SE9300914A SE9300914A SE515082C2 SE 515082 C2 SE515082 C2 SE 515082C2 SE 9300914 A SE9300914 A SE 9300914A SE 9300914 A SE9300914 A SE 9300914A SE 515082 C2 SE515082 C2 SE 515082C2
- Authority
- SE
- Sweden
- Prior art keywords
- memory means
- stored
- software modules
- data block
- information
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
25 30 35 515 082 2 måste handgripligen fysiskt ställa om för att välja start- adress för motsvarande BIOS-programmodul. 25 30 35 515 082 2 must be physically manually reset to select the start address for the corresponding BIOS program module.
För att åstadkomma en snabbare åtkomst av programmodulerna kopieras dessa normalt från PROM-kapslarna till ett i sys- temet ingående primärminne, vilket har kortare accesstider.In order to achieve faster access to the program modules, these are normally copied from the PROM capsules to a primary memory included in the system, which has shorter access times.
Genom ett byte av minnesorgan får en del av primärminnet samma adresser som PROM-kapslarna. Kopieringen enligt känd teknik innebär att varje individuell programmodul kopieras till samma adress som den hade i FROM-kapseln, fast den efter kopieringen finns i primärminnet. Detta illustreras medelst pilar i fig 5, där fig 5A illustrerar det minnesområde som omfattar PROM-kapslarna och fig 5B illustrerar primärminnet.Through a change of memory means, a part of the primary memory gets the same addresses as the PROM capsules. The copying according to known technology means that each individual program module is copied to the same address as it had in the FROM capsule, even though it is in the primary memory after the copying. This is illustrated by arrows in Fig. 5, where Fig. 5A illustrates the memory area comprising the PROM capsules and Fig. 5B illustrates the primary memory.
De streckade områdena i fig 5A avser mjukvarumoduler som är lagrade i PROM-kapslar. Enligt känd teknik krävs en separat PROM-kapsel för varje mjukvarudul. Eftersom den rutin som sköter kopieringen inte har information om de olika program- modulernas uppgift, måste samtliga moduler kopieras. Det enda sättet för systemadministratören att undvika att primärminnet i onödan belastas med programmoduler som datorsystemet inte har behov av, är att handgripligen fysiskt avlägsna mot- svarande PROM-kapsel eller spärra den medelst en bygling.The dashed areas in Fig. 5A refer to software modules stored in PROM capsules. According to the prior art, a separate PROM capsule is required for each software module. Since the routine that handles the copying does not have information about the task of the various program modules, all modules must be copied. The only way for the system administrator to avoid that the primary memory is unnecessarily loaded with program modules that the computer system does not need, is to physically physically remove the corresponding PROM capsule or block it by means of a jumper.
Vidare är det av flera olika skäl, bl a på grund av att olika programmoduler upptar olika mycket minnesutrymme, enligt känd teknik omöjligt eller mycket svårt att effektivt utnyttja minnesutrymmet i datorsystemets PROM-enheter.Furthermore, for several different reasons, partly due to the fact that different program modules take up different amounts of memory space, according to known technology it is impossible or very difficult to efficiently utilize the memory space in the computer system's PROM units.
Definitioner Nedan följer en lista över uttryck och deras betydelse i föreliggande ansökan: Fastvara avser sådan information eller mjukvara som lagras i permanent-minnesorgan. Fastvara kan även kallas fast mjukvara eller inbyggd mjukvara. å 10 15 20 25 30 35 515 082 3 Permanent- minnesorgan Ett minnesorgan som bibehåller den i minnesorganet lagrade informationen även vid bortfall av kraftförsörjningen.Definitions The following is a list of terms and their meaning in the present application: Firmware refers to such information or software that is stored in permanent memory devices. Firmware can also be called firmware or firmware. å 10 15 20 25 30 35 515 082 3 Permanent memory means A memory means that retains the information stored in the memory means even in the event of a power failure.
Flyktigt minnesorgan Ett minnesorgan som förlorar den i minnesorganet lagrade informationen vid bortfall av kraftförsörjningen.Volatile memory means A memory means that loses the information stored in the memory means in the event of a power failure.
Arbetslagra Att lagra mjukvara på ett minnesområde som utnyttjas vid databearbetning.Work storage To store software in a memory area that is used for data processing.
Arbetslagring kan exempelvis ske i ett arbetsminne.Work storage can, for example, take place in a working memory.
Arbetsminne Ett minnesorgan som databearbetningsorganet primärt arbetar med.Working memory A memory body that the data processing body primarily works with.
Syften hos föreliggande uppfinning Huvudsyftet med föreliggande uppfinning är att åstadkomma ett förfarande för att i ett datorsystem på ett enkelt sätt kunna hantera fastvara.Objects of the present invention The main object of the present invention is to provide a method for being able to handle firmware in a computer system in a simple manner.
Ett ytterligare syfte med föreliggande uppfinning är att göra det möjligt att mjukvarumässigt välja vilka mjukvarumoduler som skall placeras vid vilka minnespositioner.A further object of the present invention is to make it possible to select in terms of software which software modules are to be placed at which memory positions.
Ett ytterligare syfte med föreliggande uppfinning är att åstadkomma ett förfarande som gör det lätt att i omplacera programmoduler eller datatabeller, som vid uppstart av datorsystemet är lagrade som fastvara, på ett sådant sätt att det kvarblivande lediga minnesutrymmet blir lätt att ut- nyttja.A further object of the present invention is to provide a method which makes it easy to relocate program modules or data tables, which are stored as firmware at the start-up of the computer system, in such a way that the remaining free memory space becomes easy to utilize.
Ett ytterligare syfte är att åstadkomma ett förfarande för att i ett datorsystem erhålla ett minskat behov av permanent- minnesorgan. 10 15 20 25 30 35 515 082 4 Ett ytterligare syfte är att automatiskt avkänna systemets konfiguration och i beroende därav anpassa valet av program- moduler och deras placering i minnesutrymmet.A further object is to provide a method for obtaining in a computer system a reduced need for permanent memory means. 10 15 20 25 30 35 515 082 4 A further purpose is to automatically sense the configuration of the system and, depending on this, adjust the selection of program modules and their location in the memory space.
Ett ytterligare syfte är att åstadkomma omflyttbart lagrad fastvara i ett datorsystemarrangemang.A further object is to provide movable stored firmware in a computer system arrangement.
Ett ytterligare syfte är att reducera den mängd hårdvara, såsom adressavkodare, byglar, socklar til permanentminnes- organ mm, som krävs i ett datorsystem.A further object is to reduce the amount of hardware, such as address decoders, jumpers, sockets for permanent memory devices, etc., that is required in a computer system.
Dessa och andra syften, som framgår av den fortsatta beskriv- ningen, uppnås enligt uppfinningen med ett förfarande av det slag, som anges i den kännetecknande delen av patentkravet 1.These and other objects, which appear from the following description, are achieved according to the invention with a method of the kind stated in the characterizing part of claim 1.
Ytterligare särdrag och vidareutvecklingar av förfarandet och ett arrangemang enligt uppfinningen anges i de övriga patent- kraven.Further features and further developments of the method and an arrangement according to the invention are set out in the other patent claims.
Kort beskrivning av ritningarna För att föreliggande uppfinning enkelt ska kunna förstås och utföras kommer den att beskrivas medelst åskådningsexempel och med hänvisning till de bifogade ritningarna, i vilka : Figur 1 visar en schematisk bild av ett datorsystem enligt en utföringsform av uppfinningen.Brief Description of the Drawings In order that the present invention may be readily understood and practiced, it will be described by way of illustration and with reference to the accompanying drawings, in which: Figure 1 shows a schematic view of a computer system according to an embodiment of the invention.
Figur 2 visar ett flödesdiagram över en utföringsform av ett förfarande vid uppstart av en datorenhet enligt föreliggande uppfinning.Figure 2 shows a flow chart of an embodiment of a method of starting up a computer unit according to the present invention.
Figur 3A, 3B, och 3C visar blockschemata över minnesareor i minnesorgan i datorsystemet enligt föreliggande uppfinning.Figures 3A, 3B, and 3C show block diagrams of memory areas in memory means in the computer system of the present invention.
Figur 4 visar ett flödesdiagram över en utföringsform av ett förfarande vid lagring av fastvara i en datorenhet enligt föreliggande uppfinning. 10 15 20 25 30 35 515 082 5 Figur 5A och SB visar blockscheman över minnesareor i minnesorgan ett datorsystem enligt känd teknik.Figure 4 shows a flow chart of an embodiment of a method of storing firmware in a computer unit according to the present invention. Figures 5A and SB show block diagrams of memory areas in memory means a computer system according to prior art.
Beskrivning av utföringsformer av uppfinningen I fig 1 visas en schematisk bild av ett datorsystem 10 vilket innefattar en datorenhet 20. Datorenheten 20, som exempelvis kan utgöras av en persondator, kan innefatta ett databearbet- ningsorgan 30, såsom exempelvis en eller flera mikroprocesso- rer.Description of embodiments of the invention Fig. 1 shows a schematic view of a computer system 10 which comprises a computer unit 20. The computer unit 20, which may for instance consist of a personal computer, may comprise a data processing means 30, such as for instance one or more microprocessors.
Vid uppstart av datorenheten 20 läser databearbetningsorganet 30 av information i ett minnesorgan 40. Minnesorganet 40 kan vara ett permanentminnesorgan. Enligt en utföringsform av uppfinningen utgörs permanentminnesorganet 40 av ett FLASH- minnesorgan. Enligt en annan utföringsform av uppfinningen utgörs permanentminnesorganet 40 av ett konventionellt EEPROM. Minnesorganet 40 kan vara försett med fastvara såsom exempelvis uppstartprogramvara och BIOS-programmoduler.At start-up of the computer unit 20, the data processing means 30 reads information in a memory means 40. The memory means 40 may be a permanent memory means. According to an embodiment of the invention, the permanent memory means 40 is constituted by a FLASH memory means. According to another embodiment of the invention, the permanent memory means 40 is constituted by a conventional EEPROM. The memory means 40 may be provided with firmware such as, for example, boot software and BIOS program modules.
Enligt uppfinningen kan vissa mjukvarumoduler i minnesorganet 40 vara lagrade i komprimerad form. Ett komprimerat datapaket innefattande en eller ett flertal mjukvarumoduler upptar mindre minnesutrymme vid lagring, än motsvarande mängd infor- mation upptar vid lagring i okomprimerad form, såsom är väl känt av fackmannen.According to the invention, certain software modules in the memory means 40 may be stored in compressed form. A compressed data packet comprising one or more software modules takes up less memory space during storage than the corresponding amount of information takes up when stored in uncompressed form, as is well known to those skilled in the art.
Databearbetningsorganet 30 kan utnyttja en minnesarea inom vissa adressgränsvärden där min_adr kan utgöra den lägsta adressen och max_adr kan utgöra den högsta adressen.The data processing means 30 may utilize a memory area within certain address limits where min_adr may be the lowest address and max_adr may be the highest address.
Adressvärdet mid_adr kan illustrera en adressgräns mellan minnesorgan som är tillgängliga för datorenheten 20.The address value mid_adr can illustrate an address boundary between memory means available to the computer unit 20.
Precis vid uppstart av datorenheten 20 kan databearbetnings- organ 30 använda sig av minnesorganet 40 vid arbete med adresser inom området mellan mid_adr och max_adr, och av ett minnesorgan 50 vid arbete med data vid adresser inom området mellan min_adr och mid_adr. Minnesorganet 50 kan vara ett flyktigt minnesorgan. 10 15 20 25 30 35 515 082 6 Efter att vissa uppstartsprocedurer är genomförda inträffar en brytpunkt, varvid databearbetningsorganet kan "byta ut" minnesorganet 40 mot ett annat minnesorgan 60. Detta innebär att databearbetningsorganet 30 efter brytpunkten kan nå minnesorganet 60 vid adressering till någon adress i området mid_adr till max_adr, istället för att nå minnesorganet 40.Just at start-up of the computer unit 20, data processing means 30 may use the memory means 40 when working with addresses in the range between mid_adr and max_adr, and a memory means 50 when working with data at addresses in the range between min_adr and mid_adr. The memory means 50 may be a volatile memory means. After certain start-up procedures are performed, a breakpoint occurs, whereby the data processing means can "replace" the memory means 40 with another memory means 60. This means that the data processing means 30 after the breaking point can reach the memory means 60 when addressing to any address. in the range mid_adr to max_adr, instead of reaching the memory means 40.
Att på detta vis koppla om från ett minnesorgan 40 till ett annat minnesorgan 60 kan ge den fördelen att utöka den mängd minnesarea som databearbetningsorganet 30 kan nå med kort accesstid. Enligt en utföringsform av uppfinningen är minnes- organet 60 ett flyktigt mínnesorgan med kort accesstid till data.Switching from one memory means 40 to another memory means 60 in this way can have the advantage of expanding the amount of memory area that the data processing means 30 can reach with a short access time. According to an embodiment of the invention, the memory means 60 is a volatile memory means with a short access time to data.
Till datorenheten 20 kan en eller flera kringutrustningar eller periferienheter vara anslutna. I fig 1 illustreras detta med enheterna 70, 80, 90 och 100. Vidare kan dator- enheten 20 vara anslutningsbar till ett nätverk 105, såsom exempelvis ett Local Area Network, genom vilket datorenheten 20 kan kommunicera med andra datorenheter.One or more peripherals or peripheral units may be connected to the computer unit 20. In Fig. 1 this is illustrated with the units 70, 80, 90 and 100. Furthermore, the computer unit 20 can be connectable to a network 105, such as for instance a Local Area Network, through which the computer unit 20 can communicate with other computer units.
I fig 2 visas en utföringsform av ett första förfarande enligt uppfinningen. Det i fig 2 illustrerade förfarandet ger möjlighet att välja vilka mjukvarumoduler som ska kopieras till arbetsminnet, samt att välja på vilka adresser i arbets- minnet respektive moduler ska lagras, oberoende av vilka adresser modulerna befinner sig på i permanentminnesorganet 40.Fig. 2 shows an embodiment of a first method according to the invention. The method illustrated in Fig. 2 makes it possible to select which software modules are to be copied to the working memory, and to select at which addresses in the working memory and modules are to be stored, regardless of which addresses the modules are located in the permanent memory means 40.
Steg S110: Det i fig 2 illustrerade förfarandet kan initieras vid upp- start eller omstart av datorenheten, som framgår av steg S110 i fig 2.Step S110: The procedure illustrated in Fig. 2 can be initiated at start-up or restart of the computer unit, as shown in step S110 in Fig. 2.
Steg S120 Och S130 Vid steg S120 exekverar den i datorenheten ingående data- bearbetningsenheten 30 ett första uppstartprogram. Detta 10 15 20 25 30 35 0515 082 7 uppstartprogram kan exekveras, och vid exekvering kan det första uppstartprogrammet innefatta en rutin att kontrollera vilka kringutrustningar som ingår i den hårdvara som ingår i datorsystemet, såsom illustreras med steg S130 i fig 2. Den nu erhållna konfigureringsinformationen kan lagras i en konfigureríngstabell som sålunda anger vilka programmoduler datorsystemet defakto har behov av med den konfigurering datorsystemet har.Step S120 And S130 At step S120, the data processing unit 30 included in the computer unit executes a first startup program. This boot program can be executed, and upon execution, the first boot program may include a routine to check which peripherals are included in the hardware included in the computer system, as illustrated by step S130 in Fig. 2. The now obtained the configuration information can be stored in a configuration table which thus indicates which program modules the computer system de facto needs with the configuration of the computer system.
Enligt en annan utföringsform av förfarandet så kan konfigu- reringstabellen ändras av en användare av datorenheten, och enligt den utföringsformen kan steg S120 följas av steg S140.According to another embodiment of the method, the configuration table can be changed by a user of the computer unit, and according to that embodiment, step S120 can be followed by step S140.
Det ligger vidare inom uppfinningens ram att konfigurerings- tabellen kan ändras både automatiskt, enligt steg S130, och manuellt, såsom beskrives nedan. Enligt en utföringsform av uppfinningen kan konfigureringstabellen uppdateras automa- tiskt vad avser en första grupp av mjukvarumoduler medan konfígureringstabellen uppdateras medelst interaktion med en användare vad avser en andra grupp av mjukvarumoduler.It is further within the scope of the invention that the configuration table can be changed both automatically, according to step S130, and manually, as described below. According to an embodiment of the invention, the configuration table can be updated automatically with respect to a first group of software modules while the configuration table is updated by interaction with a user with respect to a second group of software modules.
Steg S140 I steg S140 genomför det första uppstartprogrammet ett anrop till ett dekomprimeringsprogram som utför uppackning eller dekomprimering av de fastvarumoduler som anges i konfigure- ringstabellen och som är lagrade i komprimerat skick. Enligt en annan utföringsform av förfarandet genomför det första dekomprimeringsprogrammet dekomprimering av alla i minnes- organet 40 lagrade fastvarumoduler, varvid urvalet av de moduler som ska användas sker i enlighet med konfigureríngs- tabellen efter dekomprimeringen.Step S140 In step S140, the first boot program performs a call to a decompression program that performs unpacking or decompression of the firmware modules listed in the configuration table and stored in a compressed state. According to another embodiment of the method, the first decompression program performs decompression of all firmware modules stored in the memory means 40, the selection of the modules to be used taking place in accordance with the configuration table after the decompression.
Med hänvisning till fig 3A visas en schematisk bild av minnesutrymmet i datorenhetens minnesorgan. Enligt den i fig 3A illustrerade utföringsformen av uppfinningen avser minnes- områdena a, b, c, d och e sådana minnesområden som innehåller fastvara, d v s information som inte förloras vid bortfall av 10 15 20 25 30 35 515 (182 s kraftförsörjningen. Denna fastvara finns då på minnesområden i permanentminnesorganet 40 (fig 1 och fig 3A).Referring to Fig. 3A, a schematic view of the memory space in the memory means of the computer unit is shown. According to the embodiment of the invention illustrated in Fig. 3A, the memory areas a, b, c, d and e refer to such memory areas which contain firmware, ie information which is not lost in the event of loss of the power supply. are then located in memory areas in the permanent memory means 40 (Fig. 1 and Fig. 3A).
Beskrivning av minnesområden enligt en utföringsform av uppfinningen Minnesområdet a kan innefatta den programkod som exekveras vid uppstart av datorenheten, och minnesområdet b kan vara en allmän parameterarea i vilken en mängd parametrar lagras.Description of memory areas according to an embodiment of the invention Memory area a may comprise the program code executed at start-up of the computer unit, and memory area b may be a general parameter area in which a plurality of parameters are stored.
Området c kan innefatta den ovan nämnda konfigurerings- tabellen med information om vilka mjukvarumoduler som skall användas, och information om på vilka adresser respektive mjukvarumodul ska arbetslagras. Vidare kan minnesområdet c innefatta det ovan nämnda dekomprimeringsprogrammet, vilket kan användas för att dekomprimera komprimerad data.The area c may include the above-mentioned configuration table with information about which software modules are to be used, and information about at which addresses each software module is to be stored. Furthermore, the memory area c may comprise the above-mentioned decompression program, which can be used to decompress compressed data.
Minnesområdet d kan vara ett minnesområde som innefattar komprimerade mjukvarumoduler.The memory area d may be a memory area that includes compressed software modules.
Minnesområdet e kan innefatta en kontrolltabell med infor- mation såsom första lagrade checksummor för de komprimerade modulerna och dekomprimeringskoden. Enligt en utföringsform av uppfinningen finns i kontrolltabellen en lagrad checksumma som gäller för dekomprimeringskoden och de komprimerade modulerna. Enligt en annan utföringsform av uppfinningen finns också en lagrad checksumma som gäller för de dekompri- merade mjukvarumodulerna i kontrolltabellen. Vidare kan kontrolltabellen i till den konfigureringstabell som lagras i minnesområdet c. minnesområdet e innefatta minnesadressen Vidare kan minnesområdet e innefatta information såsom det datum då den i området c lagrade konfigureringstabellen senast ändrades. Dessutom kan minnesområdet e innefatta information om antalet gånger som fastvaran ändrats. Den sistnämnda informationen är speciellt viktig i det fall att fastvaran är lagrad i minnesorgan som endast klarar ett visst antal omprogrammeringar, såsom exempelvis är fallet med en del FLASH-minnen. 10 15 20 25 30 35 1515 Û82 9 I steget S140, enligt fig 2, beräknas en andra checksumma med alla komprimerade mjukvarumoduler som underlag, och före dekomprimering av modulerna jämförs denna andra checksumma med den i kontrolltabellen lagrade checksumman. Om check- summorna stämmer överens så kan sålunda uppstartprogrammet avläsa den i minnesområdet c lagrade konfigureringstabellen och därefter kan fastvaruprogrammet dekomprimera mjukvara och, såsom illustreras med pilen 110 i fig 3, lagra den i minnesorganet 50 där åtkomsttiden är kort. Denna lagring i minnesorganet 50 kan dock vara en mellanlagring för att sedan, så som beskrivs nedan, "arbetslagra" utvalda mjukvaru- moduler.The memory area e may comprise a control table with information such as the first stored checksums for the compressed modules and the decompression code. According to an embodiment of the invention, there is a stored checksum in the control table which applies to the decompression code and the compressed modules. According to another embodiment of the invention, there is also a stored checksum that applies to the decompressed software modules in the control table. Furthermore, the control table i to the configuration table stored in the memory area c. The memory area e may include the memory address. Furthermore, the memory area e may include information such as the date when the configuration table stored in the area c was last changed. In addition, the memory area e may include information on the number of times the firmware has been changed. The latter information is especially important in the case that the firmware is stored in memory means which can only handle a certain number of reprogramming, as is the case, for example, with some FLASH memories. In step S140, according to Fig. 2, a second checksum is calculated with all compressed software modules as a basis, and before decompressing the modules, this second checksum is compared with the checksum stored in the control table. Thus, if the checksums match, the startup program can read the configuration table stored in the memory area c and then the firmware program can decompress software and, as illustrated by the arrow 110 in Fig. 3, store it in the memory means 50 where the access time is short. However, this storage in the memory means 50 may be an intermediate storage to then, as described below, "work store" selected software modules.
I det fall att checksummorna enligt ovan inte stämmer överens kan, enligt förfarandet, en larmfunktion aktiveras.In the event that the checksums as above do not match, according to the procedure, an alarm function can be activated.
Fig 3A visar det minnesområde som databearbetningsorganet 30 når vid uppstart av datorenheten. Med pilen 110 illustreras att information d som lagrats i form av fastvara i minnes- organet 40 dekomprimeras och flyttas till minnesorganet 50.Fig. 3A shows the memory area that the data processing means 30 reaches at start-up of the computer unit. The arrow 110 illustrates that information d stored in the form of firmware in the memory means 40 is decompressed and moved to the memory means 50.
I fig 3B illustreras det minnesområde i minnesorganet 50 som upptas av den dekomprimerade informationen d med streckade ytor, 120.Fig. 3B illustrates the memory area in the memory means 50 occupied by the decompressed information d with dashed areas, 120.
Vidare innefattar steget S140 kopiering av mjukvarumodulerna a, c och e till en minnesarea 125 i minnesorganet 50 (fig 3B). Detta innebär att det exekverande programmet kan kopiera sig självt, och sedan fortsätta att exekveras från minnes- arean 125.Further, step S140 includes copying the software modules a, c and e to a memory area 125 in the memory means 50 (Fig. 3B). This means that the executing program can copy itself, and then continue to be executed from the memory area 125.
Enligt en utföringsform av uppfinningen innefattar även mjukvarumodulerna i minnesområdena c och e komprimerad data, såsom exempelvis konfigureringstabellen, varför den ovan beskrivna dekomprimeringen även berör dessa moduler, enligt den utföringsformen. 10 15 20 25 30 35 515 082 10 Steg S145 I steg S145 kan den ovan nämnda brytpunkten inträffa, varvid minnesorganet 40 byts ut mot minnesorganet 60. Kombinationen av minnesorganet 50 och minnesorganet 60 kallas i det föl- jande för arbetsminnet 130 (fig 3C). Arbetsminnet kan utgöras av ett primärminne.According to an embodiment of the invention, the software modules in the memory areas c and e also comprise compressed data, such as for example the configuration table, so that the decompression described above also concerns these modules, according to that embodiment. Step S145 In step S145, the above-mentioned breaking point may occur, the memory means 40 being replaced by the memory means 60. The combination of the memory means 50 and the memory means 60 is hereinafter referred to as the working memory 130 (Fig. 3C). . The working memory can be a primary memory.
Steg S150 I steg S150 kan uppstartprogrammet använda sig av informa- tionen i konfigureringstabellen för att avgöra vilka av programmodulerna som skall utnyttjas i datorsystemet, och för att erhålla information om var, dvs på vilka adresser, res- pektive mjukvarumodul skall placeras i arbetsminnet 130 för den framtida användningen, fram till dess datorenheten stop- pas och startas om igen.Step S150 In step S150, the startup program may use the information in the configuration table to determine which of the program modules to use in the computer system, and to obtain information on where, i.e. at which addresses, the respective software module is to be placed in the working memory 130 for the future use, until the computer unit is stopped and restarted.
Vidare sker i steget S150 ett urval, varvid endast utvalda mjukvarumoduler placeras på de adresser i arbetsminnet där de ska finnas tillgängliga under den normala driften av datorsystemet (fig 2 och 3C). I fig 3B visas bl a tre dekom- primerade programmoduler 150, 160 och 170. Modulen 150 kan exempelvis vara en initieringsrutin för en Novel dataserver, medan modulen 160 kan vara en rutin för en Unix server och modulen 170 kan vara en annan motsvarande modul som endast behövs ibland. Pilen 140 illustrerar ett exempel då endast en, nämligen modulen 160, av modulerna 150, 160 eller 170 väljs ut och lagras för användning i datorsystemet.Furthermore, in step S150 a selection takes place, whereby only selected software modules are placed at the addresses in the working memory where they are to be available during the normal operation of the computer system (Figs. 2 and 3C). Fig. 3B shows, among other things, three decompressed program modules 150, 160 and 170. The module 150 may, for example, be an initialization routine for a Novel data server, while the module 160 may be a routine for a Unix server and the module 170 may be another corresponding module which only needed sometimes. Arrow 140 illustrates an example where only one, namely module 160, of modules 150, 160 or 170 is selected and stored for use in the computer system.
Detta urval sker, i steg S150, med hjälp av information i konfigureringstabellen. Konfigureringstabellen kan innefatta en deltabell per mjukvarumodul. Varje enskild deltabell är då relaterad till en enskild mjukvarumodul. En deltabell kan innefatta information i form av en modulflagga, varvid varje modulflagga kan inta endera av två skilda värden, och om flaggan har ett första värde så ska motsvarande modul arbets- lagras i arbetsmínnet 130, så som illustreras med pilen 180 i fig 3 som visar att mjukvarumodulen 190 flyttas eller kopie- 10 15 20 25 30 35 515 082 ll ras till ett adressområde i minnesorganet 60. Om flaggan har ett andra värde så ska motsvarande modul inte användas under systemets drift med nuvarande konfiguration och modulen arbetslagras därför inte i arbetsminnet. Det sistnämnda gäller exempelvis för modulerna 150 och 170 i det i fig 3 illustrerade exemplet. Dessa båda moduler lämnas kvar på de adresser de har enligt fig 3B, och så småningom kommer de att bli överskrivna av annan information vid datorsystemets drift.This selection is made, in step S150, using information in the configuration table. The configuration table may include one sub-table per software module. Each individual sub-table is then related to an individual software module. A sub-table may include information in the form of a module flag, each module flag may have either of two different values, and if the flag has a first value, the corresponding module shall be work stored in the working memory 130, as illustrated by arrow 180 in Fig. 3 as shows that the software module 190 is moved or copied to an address area in the memory means 60. If the flag has a second value, the corresponding module should not be used during system operation with the current configuration and the module is therefore not stored in the working memory. . The latter applies, for example, to modules 150 and 170 in the example illustrated in Fig. 3. These two modules are left at the addresses they have according to Fig. 3B, and eventually they will be overwritten by other information during the operation of the computer system.
Deltabellen kan vidare innefatta modulassocierad information om vilken typ motsvarande mjukvarumodul är. Detta kan vara exempelvis information om huruvida modulen innefattar pro- gramkod eller annan data, och/eller information om vilken typ av programkod det är.The sub-table may further include module-associated information about the type of corresponding software module. This can be, for example, information about whether the module includes program code or other data, and / or information about what type of program code it is.
När de aktuella mjukvarumodulerna arbetslagrats i arbets- minnet i enlighet med konfigureringstabellen kan arbetsminnet 130 vara beskaffat så som visas i fig 3C. I fig 3C visas ett exempel varvid mjukvarumodulen 190 förflyttats från mellan- lagringen i minnesorganet 50 till arbetslagring i en första minnesarea i minnesorganet 60. På samma sätt har modulen 160 flyttats till en andra minnesarea i minnesorganet 60, vilken andra minnesarea adressmässigt ligger nära eller alldeles angränsande till den första minnesasrean. De adressområden som utnyttjas för arbetslagring av mjukvarumodulerna i arbetsminnet kan skrivskyddas för att hindra att de senare raderas eller skrivs över under systemets drift.When the current software modules are working stored in the working memory in accordance with the configuration table, the working memory 130 may be provided as shown in Fig. 3C. Fig. 3C shows an example in which the software module 190 has been moved from the intermediate storage in the memory means 50 to working storage in a first memory area in the memory means 60. Similarly, the module 160 has been moved to a second memory area in the memory means 60, which second memory area is close to or near adjacent to the first memorial sale. The address ranges used for job storage of the software modules in the working memory can be write-protected to prevent the latter from being deleted or overwritten during the operation of the system.
Dekomprimeringen, enligt steg S140, av minnesarean d resulte- rade också i mjukvarumoduler 200, 210, 220 och 230 som mel- lanlagrats inom området 120 i minnesorganet 50.The decompression, according to step S140, of the memory area d also resulted in software modules 200, 210, 220 and 230 which are intermediate stored within the area 120 of the memory means 50.
Mjukvarumodulerna 210 och 220 kan vara moduler som är använd- bara endast före laddning av operativsystem till datoren- heten. Enligt den utföringsform av uppfinningen som illustre- ras i fig 38 och 3C bibehålles dessa moduler på de minnes- adresser där de först lagrats i arbetsminnet, och dessa adressareor behöver inte skrivskyddas. 10 15 20 30 35 515 (182 12 I adressområdet under den andra minnesarean med modulen 160 och angränsande till densamma kan modulen 200 placeras.The software modules 210 and 220 can be modules that can be used only before loading the operating system to the computer unit. According to the embodiment of the invention illustrated in Figs. 38 and 3C, these modules are retained at the memory addresses where they were first stored in the working memory, and these address areas do not need to be write-protected. In the address area below the second memory area with the module 160 and adjacent to it, the module 200 can be placed.
Enligt en utföringsform av uppfinningen placeras modulen 230 så att ett visst adressutrymme 240 erhålles mellan modulen 200 och modulen 230. Adressarean 240 kan exempelvis utnyttjas för ett tillkopplingsbart minnesorgan, såsom exempelvis ett PCMCIA-kort.According to an embodiment of the invention, the module 230 is placed so that a certain address space 240 is obtained between the module 200 and the module 230. The address area 240 can for instance be used for a connectable memory means, such as for instance a PCMCIA card.
Steg S160 När steg S150 slutförts kan datorenheten övergå till normal drift, såsom illustreras med steget S160 i fig 2.Step S160 When step S150 is completed, the computer unit can return to normal operation, as illustrated by step S160 in Fig. 2.
Steg S170 180 och 190 Under den normala driften kan det finnas möjligheter för användaren eller operatören att initera en förändring av konfigurationstabellen, såsom indikeras med steg S170 i fig 2. Detta kan exempelvis åstadkommas genom ett speciellt omkonfigureringskommando som ger åtkomst till den i minnes- organet 40 lagrade konfigureringstabellen. Enligt den ut- föringsform då konfigureringstabellen lagras i komprimerad form i minnesorganet 40 kan omkonfigureringskommandot ge tillgång till den dekomprimerade konfigureringstabellen i arbetsminnet 130. Enligt denna sistnämnda utföringsform av uppfinningen kan användaren vidare initiera en komprimering och nedlagring av den modifierade tabellen till permanent- minnesorganet 40.Steps S170 180 and 190 During normal operation, there may be possibilities for the user or operator to initiate a change of the configuration table, as indicated by step S170 in Fig. 2. This can be accomplished, for example, by a special reconfiguration command that provides access to it in the memory means. 40 stored configuration table. According to the embodiment where the configuration table is stored in compressed form in the memory means 40, the reconfiguration command can provide access to the decompressed configuration table in the working memory 130. According to this latter embodiment of the invention, the user can further initiate a compression and storage of the modified table 40 to the permanent memory means.
I steg 180 kan operatören lagra adressinformation i konfigu- reringstabellen, så att mjukvarumodulerna kan arbetslagras på ett sådant sätt att arbetsminnet kan utnyttjas på ett opti- malt sätt.In step 180, the operator can store address information in the configuration table, so that the software modules can be stored in such a way that the working memory can be utilized in an optimal manner.
Vidare kan operatören mata in information om vilka mjukvaru- moduler som skall lagras och skrivskyddas i arbetsminnet. 10 15 20 25 30 35 515 082 13 Steg S195 Om användaren inte begär någon bearbetning av konfigurerings- informationen så följs steget S150 endast av systemets norma- la drift fram till dess datorenheten stängs av eller åter- ställes så som indikeras med steg S195.Furthermore, the operator can enter information about which software modules are to be stored and write-protected in the working memory. 10 15 20 25 30 35 515 082 13 Step S195 If the user does not request any processing of the configuration information, step S150 is followed only by the normal operation of the system until the computer unit is switched off or reset as indicated by step S195.
Enligt en utföringsform av uppfinningen är fastvarumodulerna i minnesorganet 40 lagrade i okomprimerad form, och enligt den utföringsformen genomförs inte någon dekomprimering.According to an embodiment of the invention, the firmware modules in the memory means 40 are stored in uncompressed form, and according to that embodiment no decompression is performed.
Sätt att åstadkomma omkonfiggrerbarhet av data lagrad som fastvara Uppfinningen omfattar vidare ett förfarande att lagra fast- vara i en datorenhet på ett sådant sätt att mjukvarumoduler lagrade som fastvara på ett enkelt sätt kan göras flyttbara till valda adresser i arbetsminnet 130. Vidare kan det för fastvara utnyttjade minnesutrymmet i en datorenhet avsevärt reduceras, enligt uppfinningen. Detta andra förfarande enligt uppfinningen illustreras i fig 4 och beskrivs nedan.Ways to achieve reconfigurability of data stored as firmware The invention further comprises a method of storing firmware in a computer unit in such a way that software modules stored as firmware can be easily made movable to selected addresses in working memory 130. Furthermore, utilized memory space in a computer unit is significantly reduced, according to the invention. This second method according to the invention is illustrated in Fig. 4 and described below.
Steg S210 Vid inlagring av den blivande inbyggda mjukvaran i dator- enheten sker följande: Förfarandet påbörjas och i ett första steg S210 anges den blivande inbyggda mjukvara, även kallad fast mjukvara, som önskas få inladdad i datorenhetens perma- nentminnesorgan.Step S210 When storing the future firmware in the computer unit, the following takes place: The procedure is started and in a first step S210 the future firmware, also called firmware, is specified, which it is desired to have loaded into the computer unit's permanent memory means.
Steg S220 Och S230 I steg S220 komprimeras den utvalda mjukvaran, och i steg S230 lagras den i ett utvalt minnesområde i det första min- nesorganet 40 som behåller data även vid spänningsbortfall. 10 15 20 25 30 35 515 0182 14 Steg S240 I steg S240 matas ett dekomprimeringsprogram in och även det kan lagras i det första minnesorganet 40.Step S220 And S230 In step S220, the selected software is compressed, and in step S230, it is stored in a selected memory area in the first memory means 40 which retains data even in the event of a power failure. Step S240 In step S240 a decompression program is entered and also it can be stored in the first memory means 40.
Steg S250 I steg S250 matas, enligt en utföringsform av förfarandet konfigureringsinformation in och även den kan lagras i det första minnesorganet. Konfigureringsinformationen kan vara i form av en datatabell som anger bl a vid vilka minnesadresser de olika mjukvarumodulerna skall lagras vid dekomprimering.Step S250 In step S250, according to an embodiment of the method, configuration information is entered and it can also be stored in the first memory means. The configuration information can be in the form of a data table which indicates, among other things, at which memory addresses the various software modules are to be stored during decompression.
Vidare kan tabellen innefatta information om vilka mjuk- varumoduler som ska arbetslagras i arbetsminnet och/ eller på vilka adresser modulerna ska arbetslagras när det första förfarandet enligt uppfinningen utförs, såsom beskrivits ovan.Furthermore, the table may include information about which software modules are to be stored in the working memory and / or at which addresses the modules are to be stored when the first method according to the invention is performed, as described above.
Enligt en alternativ utföringsform av det andra förfarandet sammanställs all den blivande inbyggda mjukvaran, inklusive såväl BIOS-programvara som konfigureringstabell och andra mjukvarumoduler innan all denna information väsentligen samtidigt lagras i permanentminnesorganet 40. Enligt detta förfarande av uppfinningen sker komprimering av utvalda moduler innan denna sammanställning utförs, så att det data- paket som sedan laddas in på permanentminnesorganet har precis det innehåll som önskas lagrat i permanentminnes- organet 40.According to an alternative embodiment of the second method, all the future firmware, including both BIOS software and configuration table and other software modules, is compiled before all this information is stored substantially simultaneously in the permanent memory means 40. According to this method of the invention, selected modules are compressed before this compilation is performed , so that the data packet which is then loaded on the permanent memory means has exactly the contents desired to be stored in the permanent memory means 40.
Eftersom en stor del av fastvaran, enligt uppfinningen kan lagras i komprimerad form blir behovet av minneutrymme i permanentminnesorgan i motsvarande grad mindre. Detta innebär att mängden hårdvara kan minskas för samma mängd fastvara.Since a large part of the firmware, according to the invention, can be stored in compressed form, the need for memory space in permanent memory means becomes correspondingly less. This means that the amount of hardware can be reduced for the same amount of firmware.
Enligt en utföringsform av uppfinningen lagras all fastvara i en och samma FLASH-minneskapsel.According to one embodiment of the invention, all firmware is stored in one and the same FLASH memory capsule.
Enligt en annan utföringsform av uppfinningen lagras mjuk- varumodulerna i permanentminnesorganet 40 i okomprimerad 515 082 15 form, tillsammans med den ovan nämnda konfigureringsinfor- mationen och ett uppstartprogram.According to another embodiment of the invention, the software modules are stored in the permanent memory means 40 in uncompressed form, together with the above-mentioned configuration information and a start-up program.
Claims (13)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9300914A SE515082C2 (en) | 1993-03-19 | 1993-03-19 | Procedure and arrangement of a computer system |
GB9405085A GB2276257B (en) | 1993-03-19 | 1994-03-16 | A method and arrangement relating to computer systems |
FI941288A FI108897B (en) | 1993-03-19 | 1994-03-18 | Method and Arrangement for Computer Systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9300914A SE515082C2 (en) | 1993-03-19 | 1993-03-19 | Procedure and arrangement of a computer system |
Publications (3)
Publication Number | Publication Date |
---|---|
SE9300914D0 SE9300914D0 (en) | 1993-03-19 |
SE9300914L SE9300914L (en) | 1994-09-20 |
SE515082C2 true SE515082C2 (en) | 2001-06-05 |
Family
ID=20389283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SE9300914A SE515082C2 (en) | 1993-03-19 | 1993-03-19 | Procedure and arrangement of a computer system |
Country Status (3)
Country | Link |
---|---|
FI (1) | FI108897B (en) |
GB (1) | GB2276257B (en) |
SE (1) | SE515082C2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4060414B2 (en) * | 1997-10-03 | 2008-03-12 | 日本テキサス・インスツルメンツ株式会社 | Program load device |
US20050010811A1 (en) | 2003-06-16 | 2005-01-13 | Zimmer Vincent J. | Method and system to support network port authentication from out-of-band firmware |
US6976145B1 (en) * | 2003-08-06 | 2005-12-13 | Storage Technology Corporation | Method and apparatus for automatically configuring data storage subsystems |
US20050132160A1 (en) * | 2003-12-15 | 2005-06-16 | Everett Gerald L. | Platform independent method for establishing a run-time data area |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210875A (en) * | 1989-08-25 | 1993-05-11 | International Business Machines Corporation | Initial bios load for a personal computer system |
-
1993
- 1993-03-19 SE SE9300914A patent/SE515082C2/en not_active IP Right Cessation
-
1994
- 1994-03-16 GB GB9405085A patent/GB2276257B/en not_active Expired - Fee Related
- 1994-03-18 FI FI941288A patent/FI108897B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
SE9300914D0 (en) | 1993-03-19 |
GB2276257B (en) | 1997-05-28 |
FI941288A0 (en) | 1994-03-18 |
GB9405085D0 (en) | 1994-04-27 |
GB2276257A (en) | 1994-09-21 |
SE9300914L (en) | 1994-09-20 |
FI108897B (en) | 2002-04-15 |
FI941288A (en) | 1994-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100394391C (en) | Systems and methods for storing data on computer systems | |
JP3372964B2 (en) | Computer system | |
KR100415371B1 (en) | Computer | |
KR20080003490A (en) | System motion control device and method | |
JP2013152695A (en) | Image forming apparatus | |
US20220043724A1 (en) | Memory Device Providing Fast Data Recovery | |
US5537531A (en) | Portable computer with a bank switch for switching between a ROM and a memory, both allocated to the same address space, by changing a port address of a keyboard controller | |
JP2006285600A (en) | Storage, memory management device, memory management method, and program | |
KR20170037017A (en) | Memory upgrade system and method | |
US8775768B2 (en) | Information processing apparatus and method of controlling the same | |
SE515082C2 (en) | Procedure and arrangement of a computer system | |
JPH08129495A (en) | Computer system and self test method therefor | |
US10936045B2 (en) | Update memory management information to boot an electronic device from a reduced power mode | |
JP3822030B2 (en) | Control display device | |
CN114020308A (en) | A method, device, device and medium for upgrading camera equipment | |
JP2017084001A (en) | Electronic control unit for automobile | |
KR930005778Y1 (en) | Universal ROM Writer Circuit in Computer Systems | |
JPH06161929A (en) | Computer | |
US11989435B2 (en) | Re-partitioning of a flash memory device | |
JP2017142754A (en) | Information processing device and control method thereof, and program | |
CN114327659A (en) | Equipment starting method and wireless ultrasonic equipment | |
JPH07191856A (en) | Information processor | |
KR20060031192A (en) | Embedded system capable of fast boot and its method | |
KR100978533B1 (en) | Data storage system for computer using RAM and method | |
CN116610446A (en) | Edge computing platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
NUG | Patent has lapsed |