Adressutrymme i sidled
Adressutrymmet i sidled på mikrodatorn Acorn BBC Microcomputer , Electron och Master-serien var Acorns implementering av bankväxling , vilket gav permanent systemexpansion under dagarna innan hårddiskar eller till och med diskettenheter var vanliga. Filsystem , applikations- och verktygsprogram och drivrutiner gjordes tillgängliga som sidleds- ROM och extra RAM-minne kunde monteras via adressutrymmet i sidled.
BBC Micro Advanced User Guide hänvisar till adressutrymmet i sidled som "paged ROMs" eftersom det föregick användningen av detta adressutrymme för RAM-expansion. BBC B+, B+ 128 och BBC Master hade alla sidledes RAM som standard.
Adressutrymme i sidled
Maskinerna använde 8-bitars 6502- och 65C102- processorer med ett 16-bitars adressutrymme. Adressutrymmet delades upp i 32 KB RAM (0x0000 till 0x7FFF), 16 KB i sidled (0x8000 till 0xBFFF) och 16 KB operativsystemutrymme (0xC000 till 0xFFFF).
Adressutrymmet i sidled är ett bankomkopplat (av Acorn kallat "paged") adressutrymme som tillåter åtkomst till en 16 KB-bank åt gången. Varje bank kan vara ROM eller RAM.
På både BBC Micro och BBC Master finns det ROM-uttag på moderkortet (fyra på BBC Micro) som tar sidleds ROM. BBC Micro levereras med en enda ROM, innehållande BBC BASIC ; ytterligare ROM-skivor kan läggas till datorn för att lägga till programvara som alltid är tillgänglig. Elektronens adressutrymme i sidled exponerades endast genom tillägget av ett Plus 1-tillägg eller en motsvarighet från tredje part; Plus 1 introducerade också patronplatser som överfördes till BBC Master-designen som ett alternativt sätt att paketera ROM.
Sideways ROMs tillät tillägg av nya arkiveringssystem till operativsystemet (som Disc Filing System ) och applikations- och verktygsprogram. Mjukvara som levereras som ROM-skivor har två huvudsakliga fördelar: den laddas omedelbart (om den levereras som språk- eller service-ROM), och den kräver mycket lite RAM för att fungera (och kan använda det dedikerade sidorna av RAM-minne som normal programvara håller undan från). Detta gjorde det möjligt för applikationsprogramvara att ha mer arbetsutrymme än vad som normalt skulle vara möjligt, och för verktygsprogram som debuggers att fungera på programvara som hölls i RAM.
ROM-arkivsystemet tillät också programvara att finnas i ROM-skivor som filer som skulle laddas på liknande sätt som kassettprogram. Sådan laddning skedde inte omedelbar eftersom den innebar att filerna överfördes till RAM-minnet, men användes ändå av Acorn för att leverera viss patronbaserad programvara som spel och verktyg, till synes på grund av möjligheten att omdistribuera kassettbaserad programvara i ett annat medium utan att behöva göra betydande ändringar i programvaran.
Modell i sidled
De första byten med sidleds-ROM innehåller detaljer som informerar operativsystemet om hur de ska hanteras. Dessa inkluderar språk- och serviceingångar, ROM-typkod, versionsnummer och en pekare till upphovsrättsinformationen. Vid återställning validerar operativsystemet varje sidobank genom att leta efter en upphovsrättssträng. Under drift talar OS med giltiga ROM genom att hoppa till de två ingångspunkterna med ett specifikt värde för ackumulatoruppsättningen . Detta ger ett rent API för att utöka operativsystemet och förhandla om bankväxling och RAM-delning.
ROM-skivor har två ingångspunkter: tjänstens ingångspunkt ger API- åtkomst till ROM-minnet, och språkingångspunkten är startpunkten för applikationsprogramvara som finns i ROM. "Service" ROM behöver inte ha en språkingångspunkt och existerar endast för att utöka OS. "Language" ROMs är ROMs som tillhandahåller applikationsprogramvara och får sitt namn från det faktum att BBC BASIC-språket tillhandahålls som standard ROM i bank 15. ROMs innehåller ofta båda ingångspunkterna, eftersom all användarprogramvara måste ha en serviceingångspunkt för att tillåta operativsystemet att anropa det. Ren service-ROM utökar vanligtvis bara funktionerna i själva operativsystemet, utan att tillhandahålla någon applikationsprogramvara.
BBC Micro och Electron kräver att ett språk ROM finns vid POST för att förse datorn med ett användargränssnitt, annars kommer operativsystemet att rapportera "Language?" och stanna. Versionen av Acorn MOS på BBC Master har en inbyggd kommandorad och kommer att presentera detta om inget standardspråk ROM är konfigurerat.
RAM i sidled
Förutom ROM kan banker av RAM-minne läggas till datorn via adressutrymmet i sidled. Dessa kan antingen användas för att ladda och använda ROM-avbildningar från disk eller som extra arbetsyta för maskinkodsprogram.
BBC Model B är hårdkopplad för att förhindra skrivning i sidled, så en skrivsignal måste samlas in någonstans ifrån. Metoderna varierar, men de två vanligaste metoderna är att ta bort chips från kortet och placera dem i ett expansionskort som upptar chipsens ursprungliga uttag, och att montera en RAM-modul i ett ROM-uttag med en flygande ledning ansluten till en skrivsignal någon annanstans på moderkortet.
64 KB modell B+ hade 12 KB "speciellt" sidleds RAM. Denna använde sidledsadressen men valdes av den höga biten i ROM-valregistret och kunde inte användas för att ladda ROM-bilder. 128 KB modell B+ hade ett expansionskort med 64 KB "vanligt" sidleds RAM utöver de 12 KB "speciellt" sidleds RAM på huvudkortet.
BBC Master kom med 64 KB vanligt sidleds RAM och kunde konfigureras med moderkortslänkar om vilka banker som var ROM och vilka som var RAM. Dessutom hade den 4 KB "speciellt" sidleds RAM och 8 KB RAM som söktes över operativsystemet. Till skillnad från på B+ där det "speciella" sidleds-RAM-minnet hade varit tillgängligt för användarapplikationer, användes dessa minnesområden på Master som operativsystem och arkivsystems arbetsyta.
Kassettportens ledningar skiljer sig mellan Electron och Master 128 med avseende på vissa RAM-relaterade signaler. Masterns slots ersätter READY-signalen med en mer allmän R/W-signal, och bevarar CSRW-signalen (chip select, read/write) endast för vissa adresser på sidorna FC, FD och FE, medan CSRW motsvarar CPU:s läs/skriv-linje i Electron Plus 1-kassettgränssnittet. Båda systemen stöder dock RAM-kassetter.
Utvidgning i sidled
Acorn MOS stöder upp till 16 sidledsbankar. På grund av begränsat moderkortsutrymme gjordes extra sidouttag tillgängliga av tredjeparts expansionskort. Vissa kort, såsom Watford Electronics Sidewise-kort, gav också möjligheten till permanent, batteribackuperat RAM-minne. Detta gör det möjligt för utvecklare att testa ny sidleds ROM-programvara utan att bränna ett EPROM för varje försök. En skrivskyddsomkopplare kan användas för att förhindra att innehållet i sidledes RAM-minne ändras.
externa länkar
- Sidade ROM-artikel om BeebWiki-spegeln på mdfs.net
- Sidominne använt på Apple [klockkort 1982 och demonstrerat på Compec 1982]
- Originaldesignanteckningar för sidleds-RAM