NL8120082A - - Google Patents

Download PDF

Info

Publication number
NL8120082A
NL8120082A NL8120082A NL8120082A NL8120082A NL 8120082 A NL8120082 A NL 8120082A NL 8120082 A NL8120082 A NL 8120082A NL 8120082 A NL8120082 A NL 8120082A NL 8120082 A NL8120082 A NL 8120082A
Authority
NL
Netherlands
Prior art keywords
address
memory address
internal memory
previous
memory
Prior art date
Application number
NL8120082A
Other languages
English (en)
Inventor
Marc Kaufman
Original Assignee
Marc Kaufman
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 Marc Kaufman filed Critical Marc Kaufman
Publication of NL8120082A publication Critical patent/NL8120082A/nl

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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

.. .81 2 0 0 8 ¾ -1- 22220/JF/rav . Titel: Geheugenadresseerinrichting en -werkwijze.
Samenvatting.
Geheugenadresseerinrichting (1, 20, 90), omvattende een schakeling 5 (5, 26, 96), die in responsie op een geldend uitwendig geheugenadres op een ingangsleiding (2, 21, 91) en een signaal, opgewekt door een extra ge-heugenschakeling (8, 29, 93) een geldend inwendig geheugenadres verschaft voor het adresseren van een inwendig geheugen (15, 19, 101). Voor maximale programmabeveiliging zijn alle hierboven beschreven componenten onder-10 gebracht in een enkele geïntegreerde schakelingsverpakking.
Achtergrond van de uitvinding .
De onderhavige uitvinding is gericht op digitale geheugens en geheu-genadresseerschakelingen in het algemeen en in het bijzonder op een adres-vertalingsinrichting voor het vertalen van adressen van een conventioneel 15 adresregister in een conventionele centrale verwerkingseenheid (CPU) in een "verborgen" of "inwendige" adres voor het adresseren van een inwendig geheugen.
Inwendige geheugens omvatten kenmerkend conventionele lees/schrijf-geheugens, vrij toegankelijke geheugens (RAM's) en dode geheugens (ROM's) 20 Van de opgesomde geheugens worden ROM's vaak gebruikt voor het opslaan van computerprogramma's, gegevenslijsten en andere gelijksoortige materie, waarvan de bedoeling is dat die niet wordt gewijzigd. Zoals bij andere conventionele niet-vluchtige opneemmedia, zoals papieren band, magnetische band en magnetische schijven, voorzien ROM's eveneens ineen geschikt middel voor 25 het permanent opslaan en verspreiden van computerprogramma's, gegevenslijsten en dergelijke.
Bij een niet aflatend toenemend gebruik van computers voor zaken en in de industrie, is er een overeenkomstige toeneming geweest in de verspreiding van bepaalde programma's onder gebruikmaking van verschillende soorten 30 niet-vluchtige geheugens, inclusief ROM's. Bij de toenemende verspreiding van particuliere programma's, is er eveneens een toenemend onrechtmatig kopiëren van de programma's geweest, hetgeen ernstig en aanzienlijk economisch verlies heeft veroorzaakt aan diegenen, die grote hoeveelheden tijd en geld hebben geïnvesteerd in de ontwikkeling van de programma's.
35 Evenals andere opneemmedia, zoals papieren band, magnetische band en magnetische schijven, kunnen ROM's direct worden gekopieerd. De structuur ervan echter maakt de massaprogrammering ervan gebruikelijk ontoelaatbaar duur.
8120082 -2- 22220?JF/mv
De aanzienlijke kosten verbonden met het direct kopiëren van de ROM’s zijn echter een niet onoverkombaar obstakel gebleken. Conventionele ROM’s, zoals vele andere soorten vooraf opgenomen media, verschaffen onafhankelijke en vri^ toegang tot elke plaats binnen de ROM’s. Dat wil zeggen 5 elle toegang is onafhankelijk van elke andere toegang. In deze gevallen, waarin het onoverkomend duur wordt voor het dupliceren van een ROM, maakt deze onafhankelijke en vrije toegang het relatief eenvoudig om onder gebruik making van conventionele middelen een programma uit het ROM te lezen en de gelezen gegevens over te dragen naar een band of schijf. Later, na het 10 herladen van het programma in een ander 'type geheugen, zoals een vrij toegankelijk geheugen (RAM), kan het programma op elke willekeurige bekende wijze worden gebruikt.
In het verleden zijn verschillende werkwijzen toegepast bij een poging een onrechtmatige vermenigvuldiging van een computerprogramma of 15 gegevenslijst, opgeslagen in een ROM te voorkomen. In een dergelijke werkwijze is bijvoorbeeld voorzien in aanvankelijke veiligheidsinstructies voor een ROM-programma. Wanneer een onrechtmatige gebruiker het ROM uitleest, worden de veiligheidsinstructies tezamen met de rest van de in-houd van het ROM overgedragen naar een RAM of een ander lees/schrijf- ge-20 heugen dat kenmerkend wordt gebruikt gedurende de uitlezing van gegevens en de overdrachtswerking. Daarna, wanneer de instructies worden uitgevoerd door de RAM of het andere lees/schrijf-geheugen, slaat deze nullen of andere buiten de zaak staande informatie in sommige of alle programma-plaatsen in het geheugen op. Dit is mogelijk, omdat bij de overdracht van 25 de inhoud van een ROM naar een conventioneel lees/schrijf-geheugen, zoals door een sequentieel adresseren van het ROM, de adressen van de inhoud van het ROM noodzakelijkerwijs worden bewaard in het conventionele lees/schrijf-geheugen. Dit resulteert in feite in een ROM-programma, dat wanneer dit wordt gedupliceerd in een conventioneel lees/schrijf-geheugen een programma 30 is dat zichzelf vernietigt.
Een van de problemen, geassocieerd met de hierboven beschreven werkwijze voor het frustreren van niet-gerechtigde duplicatie van ROM-programma ’s is dat de veiligheidswerkwijze zelf kan worden gefrusteerd door een niet-gerechtigd gebruiker. Dit kan door de gebruiker worden gedaan door 35 het eenvoudig verkrijgen van een afdruk van het programma met behulp van conventionele middelen en door het met de hand of automatisch op bekende wijze ontrafelen van procedures, het detecteren en ineffectief maken van de buiten de zaak staande veiligheidsinstructies.
8120082 -3- 22220/JF/mv
Een ander nadeel van conventionele geheugens en geheugenadresseer-inrichtingen is de beperkte adresruimte, die in vele adresseerinrichtingen beschikbaar is. Dit is zo omdat de beperkte adresruimte de grootte van de programma’s en de gegevensopslag die kan worden gebruikt met de adresseer-inrichting aanzienlijk beperkt.
5 Omdat computerprogramma’s reeksen opdrachten omvatten, die in het algemeen in opeenvolgende geheugenplaatsen worden geschreven, is het mogelijk voordeél te trekken uit dit feit en een groot programma terug te winnen met relatief weinig adressen. In principe zijn de enige adressen „die vereist zijn geassocieerd met aanvankelijke en voorwaardeüjke springopdrach-10 ten. Vanwege deze reden, kunnen extra adresseerinrichtingen met voordeel worden gebruikt.
Samenvatting van de uitvinding.
Met het oog op het voorgaande is een hoofddoel, van de onderhavige uitvinding een inwendig geheugen-en geheugenadresseerinrichting en -werk-15 wijze, waarin is voorzien in middelen, die in responsie op een geldig uitwendig geheugenadres en een signaal, dat is opgewekt in responsie op een voorafgaand geheugenadres, wordt voorzien in een geldend inwendig geheugenadres voor het adresseren van het inwendige geheugen.
Een ander doel van de onderhavige uitvinding is een inwendige ge-20 heugen-en geheugenadresseringsinrichting en -werkwijze, waarin er is voorzien in middelen, die in staat zijn een inwendig geheugenadres te veranderen, onafhankelijk van een uitwendig geheugenadres, bij elke opeenvolgende ondervraging van het geheugen.
Nog een ander doel van de onderhavige uitvinding is een inwendig 25 geheugen_en geheugenadresseringsinrichting en -werkwijze, waarin is voorzien in middelen voor het uitvoeren van een programma van het geheugen onder gebruik making van inwendige adressen, opgewekt aan de hand van aanvankelijke uitwendige adressen.
Nog een ander doel van de onderhavige uitvinding is een inwendig 30 geheugen-en geheugenadresseringsinrichting en -werkwijze, waarin er is voorzien in een extra geheugen, dat is responsie op of voorafgaande inwendige geheugenadressen of voorafgaande uitwendige geheugenadressen geldende inwendige geheugenadressen opwekt.
Nog een ander doel van de onderhavige uitvinding is een geheugen-35 en adresseerinrichting en -werkwijze, waarin is voorzien in een aantal registerorganen voor het opslaan van terugkeeradressen voor gebruik in programma's met meerdere inwendige subroutines.
8120082 -4- 22220/JF/mv
Nog een ander doel van de onderhavige uitvinding is een geheugen-en geheugenadresseerinrichtingen-werkwijze die het gebruik toestaat van geheugen met een kapaciteit, die de adresseerruimte van het centralever-werkingseenheid waarmee de geheugen- en adresseerinrichting wordt gebruikt, 5 overschreidt.
Nog een ander doel van de onderhavige uitvinding is een geheugen-en geheugenadresseerinrichting en -werkwijze, zoals hierboven beschreven, waarin de geheugen- en de geheugenadresseerinrichting zijn geïntegreerd in dezelfde geïntegreerde schakelingsverpakking.
10 In overeenstemming met de hierboven opgesomde doelen wordt voorzien in een inrichting, die, wanneer op de juiste wijze geprogrammeerd, voorziet in een vooraf bepaalde opeenvolging van ingangssignalen in responsie op een voorafbepaalde opeenvolging van ingangsadressen. Alle andere opeenvolgingen van ingangsadressen zullen geen uitgangssignaal of een uitgangs-15 signaal dat onbruikbaar is verschaffen. Dit maakt de uitvoering van een programma in het inwendige geheugen mogelijk, terwijl wordt voorkomen dat dit wordt gekopieerd door conventionele werkwijzen en middelen.
Met de inwendige geheugen- en geheugenadresseerinrichting en -werkwijze volgens de onderhavige uitvinding geïntegreerd in dezelfde geïntegreer-20 de schakelingsverpakking, wordt het nagenoeg onmogelijk zonder het gebruik van zeer intelligente apparatuur, zoals een microaftaster of elektronen-aftastmocriscoop een programma uit het geheugen te kopieeren. Zonder het gebruik van een micro-aftaster, microscoop of dergelijke, teneinde een volledige kopie van het programma zonder welke informatie dan ook of 25 al dan niet twee of meer voorwaardelijke sprongen in serie zijn, is het noodzakelijk elk mogelijke uitvoeringsweg te bewandelen. Om elke mogelijke uitvoeringsweg te bewandelen is het vereist dat een minimum van 2n uitvoeringen van een programma, waarbij het aantal icorwaardelijke sprongin-structies tegen gekomen bij een uitvoering van het programma is. Met 30 zelfs een weinig lussen in de code, dient een aanzienlijk aantal opeenvolgend te worden uitgeprobeerd. In een programma dat bijvoorbeeld 5 voorwaardelijke sprongen bevat, dient de kopieerder het programma 32 keer uit te voeren om elke weg te bewandelen. Wanneer het programma 50 voorwaardelijke sprongen omvat, niet een ongebruikelijk groot aantal, zal 35 het bewandelen van elke weg verscheidene jaren in beslag nemen onder gebruik making van de geldende technologie. Vanwege deze reden, is het geheim houden van de structuur van een programma en in het bijzonder de inrichting van de voorwaardelijke sprongen wenselijk voor het voorkomen van 8120082 -5- 22220/JF/mv ongerechtigde vermenigvuldiging van een programma.
Korte beschrijving van de tekening.
De hierboven beschreven en andere doelen, kenmerken en voordelen van de onderhavige uitvinding zullen duidelijk worden aan de hand van 5 de volgende gedetailleerde beschrijving van de bijbehorende tekening, waarin:
Fig. 1 een blokschema is van een uitvoeringsvorm van de onderhavige uitvinding, waarin een voorafgaand inwendig geheugenadres wordt gebruikt in samenhang met gekozen bits van een geldend uitwendig geheugenadres 10 voor het opwekken van een geldend inwendig geheugenadres;
Fig. 2 een alternatieve uitvoeringsvorm van de onderhavige uitvinding is, welke gelijksoortig aan de inrichting van fig. 1 een aantal terugkeeradresregisters omvat;
Fig. 3 een blokschema is van een andere uitvoeringsvorm van de onder-15 havige uitvinding, die gebruik maakt van een voorafgaand uitwendig geheugenadres in samenhang met gekozen bits van een geldend uitwendig geheugenadres voor het opwekken van een geldend inwendig geheugenadres;
Fig. A een stroomschema van een programma is met besluitpunten in serie en parallel; en 20 Fig. 5 een stroomschema is van een programma met besluitpunten al leen in serie.
Gedetailleerde beschrijving van de tekening.
Verwijzend naar fig. 1 is er in een uitvoeringsvorm van de onderhavige uitvinding voorzien in een geheugenadresseerinrichting, die in 25 het algemeen is aangeduid met het verwijzingscijfer 1. In de inrichting 1 is er voorzien in een ingangsleiding 2. De ingangsleiding 2 is aanwezig voor het verbinden de inrichting 1 met een uitwendige bron van geheugen-adressen, zoals bijvoorbeeld een conventioneel adresregister van een centrale verwerkingseenheid (CPU) (niet getoond). Gekoppeld met de leiding 30 2 is er voorzien in een bitkeuzeschakeling 3. De bitkeuzeschakeling 3 is aangebracht voor het in responsie op een ingangsstuursignaal kiezen van geen, een of meer bits van een adres, verschaft door de uitwendige bron van geheugenadressen, gekoppeld met de ingangsleiding 2. Gekoppeld met de bitkeuzeschakeling 3 door een leiding 4 is een eerste ingangs-35 klem van een optelschakeling 5. Een uitgangsklem van de optelschakeling 5, een inwendig adres, is door middel van een leiding 6 gekoppeld met een adresseerbaar inwendig.geheugenschakelingsorgaan 15 en door middel van een leiding 7 met een extra-geheugenschakelingsorgaan 8, dat daarin 8120082 -6- 22220/JF/mv een adresseerbaar geheugen 8a bevat. Gekoppeld door middel van een leiding 9 met een eerste uitgangsklem van het extra- geheugenschakelingsorgaan 8 is voorzien in een direct adresregister 10. Het direct adresregister 10 is door middel van een leiding 11 gekoppeld met een tweede ingangsklem van de optelschakeling 5 5. Het register is gekoppeld met de optelschakeling 5 voor het toevoeren aan de optelschakeling 5 van een direct adres, verschaft door het extra-geheugenschakelingsorgaan 8 in de responsie op een voorafgaand inwendig adres. Een tweede uitgangsklem van het extra-geheugenschakelingsorgaan 8 is door middel van een leiding 12 gekoppeld met een ingangsklem van een 10 N-bitsschakeling 13. De N-bitsschakeling 13 is door middel van een leiding 14 gekoppeld met een tweede ingangsklem van de bitkeuzeschakeling 3.
De N-bitsschakeling 13 is aangebracht om het hierboven stuursignaal toe te voeren naar de bitkeuzeschakeling 3 voor het kiezen van geen, een of meer bits van een uitwendig adres op de leiding 2 in responsie op een 15 signaal van het extra-geheugenschakelingsorgaan 8.
In de praktijk is het inwendige geheugen 15 gekoppeld met de uit-gangsleiding 6 van optelschakelingsorgaan 5 en het geheugen 8a in het extra geheugenschakelingsorgaan 8 worden gelijktijdig geprogrammeerd.
De gelijktijdige programmering van het inwendige geheugen 15 en het 20 geheugen 8a in het extra-geheugenschakelingsorgaan 8 verschaft zekere voordelen. Een van de voordelen is dat directe adressen voor het register 10, opgewekt door het extra-geheugenschakelingsorgaan 8 in responsie op voorafgaande inwendige geheugenadressen, zo kan worden gekozen, dat herhalende invoeringen van hetzelfde uitwendige geheugenadres op de ingangs-25 leiding 2 zal resulteren in een ander inwendig geheugenadres, elke keer dat het uitwendige geheugenadres wordt gebruikt. Omgekeerd kan het directe adres zo worden gekozen dat verschillende specifieke uitwendige geheugenadressen kunnen resulteren in de opwekking van hetzelfde inwendige geheugenadres. De keuze is geheel aan de programmeerder.
30 Een.-ander voordeel van het gelijktijdig programmeren van het inwen dige geheugen 15 en het geheugen 8a in het extra-geheugenschakelings-orgaan 8 brengt het instellen van de N-bitsschakeling 13 voor het kiezen van geen, een of meer bils van een uitwendig adres, optredend op de leiding 2, met zich mee.
35 Gedurende het programmeren van het inwendige geheugen 15 en het geheugen 8a in het extra-geheugenschakelingsorgaan 8, kent de programmeerder die uitwendige geheugenadressen, die zijn geassocieerd met voorwaardelijke sprongopdrachten. Met die kennis kan de programmeerder bijvoorbeeld 8120082 -7- 22220/JF/mv een, mogelijkerwijs het laagste,bit van het volgende adres, dat volgt op een voorwaardeliijke sprong optredend op ingangsleiding 2, kiezen. Zoals zal worden ingezien zal het volgende adres, optredend op de ingangsleiding 2, dat een voorwaardelijke sprongopdracht volgt, op het direct opvolgende adres 5 van het programma adresregister in de CPU zijn of zal dit het richtings-adres zijn, geassocieerd met de voorwaardelijke spronginstructie, waarnaar de CPU dient te springen, wanneer aan de voorwaarde wordt voldaan. In elk geval is het door het beperken van het uitgangssignaal van de bitkeuze schakeling 3 tot een enkel bit van een adres, volgend op een voorwaarde-10 lijke spronopdracht, niet noodzakelijk af te wijken van de werkelijke uitvoeringsweg door het programma.
De bitkeuzeschakeling 3 kan eveneens worden gebruikt voor het lezen van gegevens van lijsten in het inwendige geheugen. In deze gevallen echter is de waarde van N-'in de N-bitsschakeling 13 in het algemeen groter dan 1.
15 Wanneer bijvoorbeeld het uitwendige geheugenadres verzoekt om een van 360 items in een lijst te lezen, identificeert het uitwendige geheugenadres onder gebruik making van een conventionele adresseertechniek de lijst en het specifieke item in de lijst dat wordt gewenst. In een dergelijk geval identificeert het directe adres in het directe adresregister 10 de 20 lijst en tot negen bits van het uitwendige geheugenadres worden gekozen door de bitkeuzeschakeling 3 en de N-bitsschakeling 13 voor het opwekken van het inwendige geheugenadres om de inhoud van het lijstitem op de gewenste plaats in het inwendige geheugen 15 te lezen.
Verwijzend naar fig. 2 is in een alternatieve uitvoeringsvorm van 25 de onderhavige uitvinding voorzien in een geheugenadresseerinrichting, die in het algemeen is aangegeven met het verwijzingscijfer 20. In de inrichting 20 is er voorzien in een uitwendige geheugeningangsadresleiding 21 voor het koppelen van de inrichting 20 met een uitwendige bron van ge-heugenadressen, zoals het adresregister in een CPU (niet getoond).
30 Gekoppeld met de ingangsleiding 21 is er voorzien in een startadres- detector 22. De startadresdetector 22 is aangebracht voor het detecteren van een startadres van de bron van uitwendige geheugenadressen, optredend op de leiding 21. Gekoppeld met de startadresdetector 22 door middel van een lijn 23 is er voorzien in een bitkeuzeschakeling 24. De bitkeuze-35 schakeling 24 voert dezelfde functie uit als de bitkeuzeschakeling 3, die hierboven met betrekking tot de inrichting in fig. 1 is beschreven. Gekoppeld met de bitkeuzeschakeling 24 door middel van een leiding 25 is er voorzien in een eerste ingangsklem van een optelschakeling 26. Gekoppeld 8120082 -8- 22220/JF/mv met een uitgangsklem van de optelschakeling 26 door middel van leiding 27 is er voorzien in een inwendig geheugen 19 en door middel van een leiding 28 een extra-geheugenschakelingsorgaan 29 en een plus 1 optelschakeling 30.
In het extra-geheugenschakelingsorgaan 29 is voorzien in een adresseerbaar 5 extra geheugen 29a. Gekoppeld met de uitgangsklem van het extra-geheugen-schakelingsorgaan 29 door middel van een leiding 31 is er voorzien in een direct-adresschakelingsorgaan 32. Gekoppeld met een tweede uitgangsklem van het extra-geheugenschakelingsorgaan 29 door middel van een leiding 33 is er voorzien in een eerste schakelbesturingsschakeling 34, aange-10 duid met het verwijzingssymbool S^. Gekoppeld met een derde uitgangsklem van het extra-geheugenschakelingsorgaan 29 door middel van een leiding 35 is er voorzien in een tweede schakelbesturingsschakeling 36, aangeduid met verwijzingssymbool S^. Gekoppeld met een vierde uitgangsklem van het extra-geheugenschakelingsorgaan 29 door middel van een leiding 37 is 15 er voorzien in een derde schakelbesturingsschakeling 38, aangeduid met het verwijzingscijfer S^. Gekoppeld met een vijfde uitgangsklem van het extra-geheugenschakelingsorgaan 29 door middel van een leiding 39 is er voorzien in een N-bitsstuurschakeling 40. De N-bitsstuurschakeling 40 voert dezelfde functie uit als de N-bitsstuurschakeing 13, die hierboven 20 met betrekking tot fig. 1 is beschreven.
De stuurschakelingen 34 en 36 zijn aangebracht voor het besturen van een schakelaar met meerdere contacten en meerdere lopers, in het algemeen aangeduid met het verwijzingscijfer 45. De schakelaar 45 is voorzien van een tweetal bestuurbare contactorganen 46 en 47 en een aantal vast con-25 tactorganen 48, 49, 50^ 50^,..., 50^. Het bestuurbare contactorgaan 47 is gekoppeld met de stuurschakeling 34 voor het selectief koppelen van het contact 47 en de vaste contacten 48 en 49.
Het vaste contact 48 is gekoppeld met de plus 1 optelschakeling 30 en het vaste contact 49 is gekoppeld met de uitgang van het direct-adres-30 register 32. Het bestuurbare contactorgaan 46 is gekoppeld met de stuurschakeling 36 voor het selectief koppelen van het bestuurbare contact 46 en de vaste contacten 50^ 502,...,50^. De contacten 50^, 502, ...
50^ zijn gekoppeld met een respectief register van een aantal registers 60^, 602,..., 60^ voor het opslaan van een aantal directe adressen A^, 35 ·»«, A^..
De uitgangssignalen van de registers 60^, 602,...,60^, zijn gekoppeld met een schakelaar, die in het algemeen is aangegeven met het verwijzingscijfer 70. In de schakelaar 70 is er voorzien in een bestuurbaar contact 8120082 -9- 22220/JF/mv 71, een vast contact 72 en een aantal vaste contacten 73^, 732.....73^.
Het vaste contact 72 is gekoppeld door middel van een leiding 74 met een startadresconstanteschakeling 75. De vaste contacten zijn gekoppeld met respectievelijk de registers 60^, 602>..»60k. Het bestuurbare contact 71 5 is door middel van leidng 76 gekoppeld met de tweede ingangsklem van de optelschakeling 26.
Een registerkeuzestuurschakeling 81 voor het schakelen van de schakelaar 70 is gekoppeld met de schakelaar 70 en door middel van een leiding 80 met de stuurschakeling 38. De registerkeuzestuurschakeling 81 is even-10 eens gekoppeld met de startadresdetectorschakeling 22 door middel van een leiding 82.
De werking van de inrichting van fig. 2 is in hoofdzaak identiek aan de werking van de inrichting van fig. 1 met een zekere programmeer-flexibiliteit, toegevoegd door de voorziening van het aantal registers 15 60^, 60^,..,60^·
Zoals hierboven beschreven met betrekking tot de inrichting van fig. 1, worden het inwendige geheugen 19 en het extra geheugen 29a gelijktijdig geprogrammeerd. Het extra geheugen 29a .in het extra- ge-heugenschakelingsorgaan 29 en het inwendige geheugen 90 worden gelijktij-20 dig geprogrammeerd, zodat het extra-geheugenschakelingsorgaan 29 een geschikt direct adres kan verschaffen voor overdracht naar het direct adresregister 32, geschikte stuursignalen voor de schakelaarstuurschakelingen 34, 36 en 38 en een geschikt stuursignaal voor overdracht naar de N-bits-stuurschakeling 40 voor de keuze van bits uit uitwendige adressen door 25 de bitkeuze schakeling 24.
In werking ondervraagt, wanneer uitwendige geheugenadressen van een uitwendige bron van geheugenadressen optreden op de ingangsleiding 21, de startadresdetector 22 elk'van de adressen, totdat een startadres wordt gedetecteerd. Wanneer een startadres wordt gedetecteerd, koppelt het keuze-30 register 81, dat is vrij gemaakt door een geschikt stuursignaal van stuurschakeling 38, het bestuurbare contact 71 en het vaste contact 72. Met het bestuurbare contact 71 gekoppeld met het vaste contact 72, wordt een startadres een constante van de startadresconstanteschakeling 75 door middel van de leidingen 74 en 6 verzonden naar de optelschakeling 26. Af-35 hankelijk van de waarde N in de stuurschakeling 40 wordt geen, een of meer bits van het startadres gekozen door de bitkeuzeschakeling 24 en gezonden naar de optelschakeling 26. In de opteLschakeling 26, worden de gekozen bits van het uitwendige geheugenadres en de startadresconstante 8120082 -10- 22220/JF/mv opgeteld voor het opwekken op de leiding 27 van een inwendige geheugen-adres voor het inwendige geheugen 19.
Na het aanvankelijke uitwendige geheugenadres en de opwekking van het aanvankelijke inwendige geheugenadres, worden op de volgende inwen-5 dige geheugenadressen opgewekt, onder gebruik making van of een direct adres van het directe-adresregister 32 in responsie op een uitgangssignaal van het extra geheugenschakelingsorgaan 29 of de som van het voorafgaande inwendige adres en een constante, zoals 1, van de plus 1 opteller 30. Of het directe adres of het voorafgaande inwendige adres wordt gebruikt voor 10 het opwekken van een inwendige geheugenadres, wordt de keuze bepaald door de stand van het bestuurbare contact 47 en de schakelaar 45.
Wanneer het extra-geheugenschakelingsorgaan 29 een signaal toevoert naar de stuurschakelingen 34 en 36 voor het koppelen van het contact 47 en het vaste contact 49 en het contact 46 en een van de vaste contacten 15 50^, 50^, ...,50^ in de schakelaar 45, wordt een direct adres van het directe adresregister 32 opgeslagen in een van registers 60^, 60^, ..,60k, afhankelijk van de stand van het contact 46 in de schakelaar 45. Op gelijksoortige wijze wordt wanneer het programma in het extra-geheugenschakelingsorgaan 29 de stuursignalen toevoert naar de stuurschakelingen 34 en 36 20 voor het positioneren van de contacten 46 en 47 van de schakelaar 45 om het contact 47 en het vaste contact 48 te koppelen en het contact 46 en een van de vaste contacten 50^, 502,..,?n^, de som van het voorafgaande inwendige adres en de constante, zoals plus 1, van de plus 1 opteller 30 opgeslagen in een van de registers 60^, 602*..,60^., afhankelijk van de 25 stand van het contact 46 met betrekking tot de vaste contacten 50^, 50^, ..,50^ van de schakelaar 45.
Zoals hierboven beschreven verschaft het extra-geheugenschakelingsorgaan 29 eveneens een stuursignaal aan de stuurschakeling 38 en het re-gisterkeuzeschakelingsorgaan 81 door middel van de leidingen 37 en 80 om 30 een bepaald register? 60^, δΟ^,.-.,δΟ^ met de optelschakeling 26 te koppelen. Het stuursignaal koppelt contactorgaan 71 van de schakelaar 70 en een van de vaste contacten 73^ 73^, -.., 73^.
Met de registers 60^, 60^,..,60^, is het met de geheugenadresseer-inrichting van de onderhavige uitvinding mogelijk een programma met de k 35 inwendige subroutines volledig onafhankelijk van de externe CPU uit te voeren door het opslaan van het terugkeeradres, geassocieerd met sub-routinesprongen in een van de registers. Wanneer bijvoorbeeld een programmeerbaar inwendige adressen opwekt onder gebruik making van de plus 8120082 -11- 22220/JF/mv 1 opteller 30 en in een bepaald programma er twee subroutinesprongen zijn, kan de programmeerder het uitgangssignaal van de opteller 30 in het register 60^ opslaan en het terugkeeradres voor de twee subroutinesprongen in register 602 en 60^. Onder deze omstandigheden schakelen naar mate 5 het programma voortschreidt de schakelaars 45 en 70 om te voorzien in een geschikte constante en de gewenste directe adressen in de gekozen registers 60^, 602,..,60^. en om op de geschikte tijdstippen de uitgangssignalen van de registers toe te voeren naar de optelschakeling 26.
Verwijzend naar fig. 3 is er een alternatieve uitvoeringsvorm van 10 de onderhavige uitvinding getoond. In dé uitvoeringsvormen van de figuren 1 en 2 is er voorzien in een inrichting, waarin een inwendig geheugen-adres wordt opgewekt onder gebruik making van een type terugkoppelschakeling, waarin een geldend inwendig geheugenadres wordt opgewekt onder gebruik making van een voorafgaand inwendig geheugenadres in samenhang met een gel-15 dend uitwendig geheugenadres. In de inrichting van fig. 3 wordt er een meekoppelschakeling gebruikt, waarin een voorafgaand uitwendig geheugen-signaal wordt gebruikt in samenhang met een geldend uitwendig -geheugenadres voor het opwekken van een geldend inwendig geheugen adres.
Zoals te zien in fig. 3 is er voorzien in een geheugenadresseerin-20 richting, die in het algemeen is aangegeven met het verwijzingscijfer 90.
In de inrichting 90 is er voorzien in een ingangsleiding 91. De ingangs-leiding 91 is aangebracht voor het koppelen van de inrichting 90 met een bron van de uitwendige geheugenadressen, zoals een adresregister in een CPU. Gekoppeld.,met ingangsleiding 91 is er voorzien in een bitkeuze-25 schakeling 92 en een extra - schakelingsgeheugenorgaan 93 .Het extra-geheu-genschakelingsorgaan 93, waarin is voorzien in een extra geheugen 93a, is eveneens gekoppeld met de bitkeuze schakeling 92 door middel van een leiding 94. Gekoppeld door middel van een leiding 95 met de uitgangsklem van de bitkeuzeschakeling 92 is voorzien in een optelschakeling 96. Gekop-30 peld met de uitgangsklem van het extra-geheugenschakelingsorgaan 93 door middel van een leiding 97 is voorzien in een directe- adresschakeling 98.
De uitgang van de directe-adresschakeling 98 is gekoppeld met de optelschakeling 96 door middel van een leiding 99.
In werking, zoals beschreven met betrekking tot de inrichtingen 35 van fig. 1 en 2, worden geen, een of meer gekozen bits van een uitwendig geheugenadres, optredend op leiding 91 door de bitkeuzeschakeling 92 gezonden naar de optelschakeling 96 en gecombineerd met een direct adres door de directe-adresschakeling 98. Zoals in de inrichting van fig. 1 en 8120082 r -12- 22220/JF/mv 2 wordt het directe adres, opgeslagen in de schakeling 98, verschaft door het extra geheugenschakelingsorgaan 93 voor het opwekken van een inwendig geheugenadres op een lijn 100 aan de uitgangsklem van de optelschakeling 96. Zoals in het geval van de geheugens 15 en 19, wordt het aldus opge-5 wekte inwendige adres geschaft voor het adresseren van een inwendig geheugen 101.
Vanwege de hierboven in de beschrijving van de inrichtingen van de figuren 1 en 2 besproken redenen, worden het inwendige geheugen 101 en het geheugen 93a in het extra-geheugenschakelingsorgaan 93 gelijktijdig 10 geprogrammeerd. Door gelijktijdige programmering van het geheugen 93a in het extra-geheugenschakelingsorgaan 93 en het geheugen 101 kiest de programmeerder het geschikte directe adres voor het modificeren van het uitwendige geheugenadres en het aantal en de positie van de bits in het uitwendige-geheugenadres om te worden gecombineerd met het directe 15 adres in de optelschakeling 95· Na een aanvankelijk uitwendige geheugenadres worden bijvoorbeeld geen, een of meer gekozen bits van opvolgende adressen op de uitwendige*geheugenadresleiding 91 gecombineerd met het directe adres van de directe-adresschakeling 98 in de optelschakeling 96. De bepaalde bits, gekozen door het uitwendige adres en het karakter 20 van het directe adres worden volkomen bepaald door de programmeerder bij het programmeren van het geheugen 101 en het geheugen 93a in het extra geheugenschakelingsorgaan 93. In het algemeen, echter niet noodzakelijkerwijs, bepaald bij elke ondervraging van de inwendige geheugens 15, 19 en 91 bepaald het respectieve extra-geheugenschakelingsorgaan 8, 29 of 93 25 het directe adres van een voorafgaand uitwendig of inwendig geheugenadres afhankelijk van de uitvoeringsvorm. Vanwege deze reden is de werking van de inrichtingen van fig. 1, 2 en 3 dynamisch. Deze is dynamisch, omdat de inwendige geheugenadressen, opgewekt in de inrichting, continu veranderen als een functie van de inwendige werking van de in-30 richting zelfs in die gevallen, waarin het uitwendige geheugenadres niet verandert.
Verwijzend naar fig. 4 is er in een kort voorbeeldprogramma, dat wordt beschreven voor het illustreren van de voordelen van de uitvinding, voorzien in een aantal opdrachten S., S0,..,S_ en een aantal voorwaarde- i c y 35 lijke sprongen of besluitpunten D^, D^ en D^. Elk besluitpunt heeft een ja*en een nee-uitgang. De opdrachten en besluitpunten zijn in parallelle wegen en elke weg heeft twee besluitpunten in serie, bijvoorbeel D.|, D^ en D^, D^· Zonder een afdruk van het programma, teneinde alle 8120082 r -13- 22220/JF/mv opdrachten in het totale programma te kunnen zien, is het noodzakelijk elke weg te bewandelen. In dit geval 2n-wegen, waarbij n het aantal parallel- 2 le wegen is, bijvoorbeeld 2 is gelijk aan vier wegen. Na analyse kan worden ingezien dat een redelijk complex programma er eenvoudig het 5 aantal parallelle besluitpunten kan zijn, waardoor het aantal tests enorm groot wordt en ontoelaatbaar tijdverslindend.
Verwijzend naar fig. 5 is er in een ander voorbeeldprogramma voorzien in een aantal opdrachten S^, en een aantal besluitpunten D^, D^. De besluitpunten in het voorbeeld zijn alle in serie gekoppeld.
10 Met alle besluitpunten in serie gekoppeld, is het mogelijk alle instructies te zien door een eenvoudigweg volgen van twee wegen, ongeacht het aantal besluitpunten. Dit is echter alleen mogelijk wanneer de gebruiker weet dat alle besluitpunten in serie zijn. Wanneer de gebruiker niet weet dat alle besluitpunten in serie zijn, wordt de gebruiker gedwongen 15 langs 2n wegen te gaan waarbij n het aantal besluitpunten is; opnieuw een potentieel ontoelaatbaar groter aantal.
Aan de hand van het voorgaande kan worden ingezien dat zolang de gebruiker wordt belet het programma in het inwendige geheugen 15, 19 en 103 te zien, een redelijk complex programma nagenoeg onmogelijk is 20 te kopiëren. Het de gebruiker onmogelijk maken het programma te zien wordt op het eenvoudigst verwezenlijkt door het fabriceren van alle componenten van elk van de beschreven uitvoeringsvormen, inclusief het inwendige en uitwendige geheugen in een enkele geïntegreerde schakelings-verpakking.
25 Hoewel verschillende uitvoeringsvormen van de onderhavige uitvinding zijn beschreven, wordt naar voren gebracht dat verschillende modificaties van de beschreven uitvoeringsvormen kunnen worden uitgevoerd door vaklui op dit gebied van de techniek zonder buiten de geest en strekking van de onderhavige uitvinding te komen. De optelschakelingen 5, 26 en 96 30 in fig. 1, 2 en 3 bijvoorbeeld kunnen worden vervangen door een aantal andere combinerende schakelingsorganen, zoals aftrek- en exclusieve OF-schakelingsorganen onder andere. Overeenkomstig is het bedoeld dat de beschreven uitvoeringsvormen alleen worden gebruikt met het doel de onderhavige uitvinding te illustreren en dat de beschermingsomvang van de uit-35 vinding alleen wordt bepaald door de hierna verschafte conclusies en de equivalenten ervan. .
8120082

Claims (19)

1. Een geheugenadresseerinrichting, omvattende middelen, die in responsie op een geldend uitwendig geheugenadres en een signaal, opgewekt in responsie op een voorafgaand uitwendig geheugenadres, een geldend inwendig geheugenadres verschaffen en middelen voor het koppelen van het geldende inwendige geheugenadres met een adresseerbaar geheugen.
2. Een inrichting volgens conclusie 1, met het kenmerk, dat de middelen voor het verschaffen van een geldend inwendig geheugenadres middelen omvatten voor het detecteren van èen startend uitwendig geheugenadres en middelen voor het in responsie op de detectiemiddelen verschaffen van een aanvankelijk geldend inwendig geheugenadres wanneer een startend uitwendig geheugenadres wordt gedetecteerd.
3. Een inrichting volgens conclusie 1, met het kenmerk, dat de middelen voor het verschaffen van een geldend inwendig geheugen adres middelen omvatten, welke in responsie op een voorafgaand inwendig geheugenadres het in responsie daarop opgewekte signaal verschaffen aan een voorafgaand uitwendig geheugenadres.
4. Een inrichting volgens conclusie 3, met het kenmerk, dat de signaal-verschaffingsmiddelen een extra geheugenschakelingsorgaan omvatten, dat reageertiop het voorafgaande inwendige geheugenadres.
5. Een inrichting volgens conclusie 4, met het kenmerk, dat de signaal-verschaffingsmiddelen een aantal registerorganen omvatten, middelen voor het selectief opslaan van het signaal van het extra geheugenschakelingsorgaan in de registerorganen en middelen voor het kiezen van de inhoud van de registerorganen.
6. Een inrichting volgens conclusie 3, met het kenmerk, dat het signaal een gemodificeerd inwendig geheugenadres bevat en de signaalverschaffings-middelen middelen omvatten, die in responsie op het voorafgaande inwendige geheugenadres het gemodificeerd inwendige geheugenadres verschaffen.
7. Een inrichting volgens conclusie 6, met het kenmerk, dat de middelen voor het verschaffen van het gemodificeerde voorafgaande inwendige geheugenadres middelen omvatten voor het door een constante modificeren van het voorafgaande inwendige adres.
8. Een inrichting volgens conclusie 7, met het kenmerk, dat de constante één is.
9· Een inrichting volgens conclusie 3, met het kenmerk, dat de middelen voor het verschaffen van het inwendige geheugenadres middelen omvatten, 8120082 , 9 -15- 22220/JF/mv die in responsie op het voorafgaande inwendige geheugenadres en het geldende uitwendige geheugenadres van de uitwendige bron van geheugenadressen selectief voorzien in een gemodificeerd geldend uitwendig geheugenadres. 1°· Een inrichting volgens conclusie 9> met het kenmerk, dat het gemodifi-5 ceerde geldende uitwendige geheugenadres gekozen bits van een geldend uitwendig geheugenadres omvat en dat de middelen voor het selectief verschaffen van het gemodificeerde geldende uitwendige geheugenadres middelen omvat voor het kiezen van de gekozen bits.
11. Een inrichting volgens conclusie 10, met het kenmerk, dat de middelen 10 voor het kiezen van de gekozen bits middelen omvatten, welke reageren op een stuursignaal, dat de te kiezen bits identificeert en middelen, die in responsie op het voorafgaande inwendig geheugenadres het stuursignaal verschaffen.
12. Een inrichting volgens conlcusie 11, met het kenmerk, dat de middelen 15 voor het verschaffen van het stuursignaal een extrajgeheugenschakelings- orgaan omvatten, welk' reageert op het voorafgaande inwendige geheugenadres.
13. Een inrichting volgens conclusie 1, met het kenmerk, dat de middelen voor het verschaffen van het geldende geheugenadres middelen omvatten, welke in responsie op een voorafgaand uitwendig geheugenadres van de bron 20 van uitwendige adressen,het signaal, dat is opgewekt in responsie op een voorafgaand uitwendig geheugenadres, verschaffen.
14. Een inrichting volgens conclusie 13, met het kenmerk, dat de signaal verschaf fingsmiddelen een extra geheugenschakelingsorgaan omvatten, welk reageert op het voorafgaande uitwendige geheugenadres.
15. Een inrichting volgens conclusie 1, met het kenmerk, dat deze een inwendig geheugen omvat en dat de middelen voor het verschaffen van een inwendig geheugenadres en de koppelmiddelen zijn aangebracht in dezelfde geïntegreerde schakelingsverpakking.
16. Een werkwijze voor het adresseren van een inwendig- geheugen voor 30 het beschermen van een computerprogramma, opgeslagen in het inwendige geheugen, tegen ongerechtigde vermenigvuldiging en gebruik, met het kenmerk, dat deze de volgende stappen omvat: het verschaffen van een extra geheugen en het gebruik maken van het extra geheugen voor het opwekken in responsie op een voorafgaand adres, 35 gebruikt voor voorafgaande adressering van het inwendige geheugen, van een geldend adres voor het adresseren van het inwendige geheugen.
17. Een werkwijze volgens conclusie 16, met het kenmerk, dat het voorafgaande adres een voorafgaand uitwendig adres omvat. 8120082 I » -16- 22220/JF/mv
18. Een werkwijze volgens conclusie 16, met het kenmerk, dat het voorafgaand adres een voorafgaand inwendig geheugenadres omvat.
19. Een werkwij®volgens conclusie 16, met het kenmerk, dat de responsie op een voorafgaand adres een responsie op gekozen bits van een voorafgaand 5 uitwendig adres omvat.
20. Een werkwijze volgens conclusie 16, met het kenmerk, dat de stap voor het verschaffen van het extra geheugen de stap omvat van het fabriceren van het uitwendige geheugen en het inwendige geheugen in dezelfde geïntegreerde schakelingsverpakking. 10 Eindhoven, oktober 1981. 8120082
NL8120082A 1980-02-20 1981-02-17 NL8120082A (nl)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US06/122,836 US4377844A (en) 1980-02-20 1980-02-20 Address translator
US12283680 1980-02-20
US8100211 1981-02-17
PCT/US1981/000211 WO1981002480A1 (en) 1980-02-20 1981-02-17 Memory addressing apparatus and method

Publications (1)

Publication Number Publication Date
NL8120082A true NL8120082A (nl) 1982-01-04

Family

ID=22405050

Family Applications (1)

Application Number Title Priority Date Filing Date
NL8120082A NL8120082A (nl) 1980-02-20 1981-02-17

Country Status (8)

Country Link
US (1) US4377844A (nl)
JP (1) JPS57500310A (nl)
CA (1) CA1155966A (nl)
DE (1) DE3136066A1 (nl)
FR (1) FR2476367B1 (nl)
GB (1) GB2081946B (nl)
NL (1) NL8120082A (nl)
WO (1) WO1981002480A1 (nl)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4519036A (en) * 1983-01-05 1985-05-21 Emi Limited Program storage hardware with security scheme
DE3415209A1 (de) * 1983-04-29 1984-10-31 N.V. Philips' Gloeilampenfabrieken, Eindhoven Speichereinheit mit einem speicher und einer schutzeinheit
DE3318083A1 (de) * 1983-05-18 1984-11-22 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung mit einem speicher und einer zugriffskontrolleinheit
US4716586A (en) * 1983-12-07 1987-12-29 American Microsystems, Inc. State sequence dependent read only memory
GB2165377A (en) * 1984-09-19 1986-04-09 Itt Ind Ltd A computer element
US4701847A (en) * 1985-01-09 1987-10-20 Logical Services, Inc. Adaptive instruction sequence synthesizer and process
US5155829A (en) * 1986-01-21 1992-10-13 Harry M. Weiss Memory system and method for protecting the contents of a ROM type memory
US5687354A (en) * 1990-02-09 1997-11-11 Harry M. Weiss Memory system and method for protecting the contents of a ROM type memory
US5542059A (en) * 1994-01-11 1996-07-30 Exponential Technology, Inc. Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
GB2308905A (en) * 1996-01-08 1997-07-09 John Robert Miller Protected system processor
KR100253328B1 (ko) * 1997-09-30 2000-05-01 김영환 메모리의 데이터 보호회로

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5128728A (nl) * 1974-09-04 1976-03-11 Hitachi Ltd
US3949378A (en) * 1974-12-09 1976-04-06 The United States Of America As Represented By The Secretary Of The Navy Computer memory addressing employing base and index registers
US4128875A (en) * 1976-12-16 1978-12-05 Sperry Rand Corporation Optional virtual memory system
US4155119A (en) * 1977-09-21 1979-05-15 Sperry Rand Corporation Method for providing virtual addressing for externally specified addressed input/output operations
FR2471004B1 (fr) * 1979-11-30 1985-09-13 Dassault Electronique Installation et dispositif de controle de l'acces a une memoire electronique

Also Published As

Publication number Publication date
WO1981002480A1 (en) 1981-09-03
GB2081946B (en) 1985-01-30
JPS57500310A (nl) 1982-02-18
GB2081946A (en) 1982-02-24
FR2476367A1 (fr) 1981-08-21
CA1155966A (en) 1983-10-25
US4377844A (en) 1983-03-22
FR2476367B1 (fr) 1986-12-26
DE3136066A1 (en) 1982-05-19

Similar Documents

Publication Publication Date Title
US5056009A (en) IC memory card incorporating software copy protection
NL8120082A (nl)
US5321824A (en) Accessing last recorded data in a continuation chain
EP0487331B1 (en) Directory management system
Lewis et al. Media-based navigation with generic links
NL8201847A (nl) Inrichting voor het beschermen tegen onbevoegd uitlezen van in een geheugen te memoriseren programmawoorden.
US6643450B1 (en) Digital versatile disc playback system with program chain object searching capabilities
US5303380A (en) Object code processing system for forming an executable image by tranforming LISP-type object files into a format compatible for storage by a linker
US6636967B1 (en) Electronic-watermark control apparatus and method, information control apparatus and method, and storage medium capable of being read by a computer
CA2099914A1 (en) Method and system for generating compiled raster operation code
US4183464A (en) Hash-coding data storage apparatus with error suppression
NL8600217A (nl) Dataverwerkende inrichting bevattende een geheugeninrichting voorzien van een coincidentieschakeling die in een foutherkennings- en een coincidentiemode schakelbaar is.
FR2683061A1 (fr) Systeme de segmentation de memoire.
KR940006044A (ko) 엔티티-관련 데이타 베이스
FR2533736A1 (fr) Unite de gestion de memoire pour un ordinateur numerique
US6279152B1 (en) Apparatus and method for high-speed memory access
US6591264B1 (en) Method that allows I/O requests to run concurrently with a rollback from a snapshot in a drive array
CN102880461A (zh) 一种编译链接方法及装置
US20020069376A1 (en) Method, article of manufacture and apparatus for copying information to a storage medium
JPH04232575A (ja) 画像内の焦点シフトの局部階層的処理方法
JP2006318493A (ja) マルチメディアシステム
JP4281066B2 (ja) デジタルコンテンツデータ処理装置およびプログラム
Huisman Simulation of embedded memories by defective hashing
JP2545587B2 (ja) ガベージコレクション方式
Royston et al. The construction and description of algorithms