Boczna przestrzeń adresowa

Boczna przestrzeń adresowa w mikrokomputerze Acorn BBC , mikrokomputerze z serii Electron i Master była implementacją przełączania banków firmy Acorn , zapewniającą stałą rozbudowę systemu w czasach, zanim dyski twarde , a nawet stacje dyskietek były powszechne. Systemy plików , aplikacje i oprogramowanie narzędziowe oraz sterowniki zostały udostępnione w postaci bocznych pamięci ROM , a dodatkowa pamięć RAM mogła zostać zamontowana poprzez boczną przestrzeń adresową.

Zaawansowany podręcznik użytkownika BBC Micro odnosi się do bocznej przestrzeni adresowej jako „stronicowanej pamięci ROM”, ponieważ istniała jeszcze przed użyciem tej przestrzeni adresowej do rozszerzania pamięci RAM. Wszystkie BBC B+, B+ 128 i BBC Master były standardowo wyposażone w boczną pamięć RAM.

Boczna przestrzeń adresowa

Maszyny wykorzystywały 8-bitowe procesory 6502 i 65C102 z 16-bitową przestrzenią adresową. Przestrzeń adresowa została podzielona na 32 KB pamięci RAM (0x0000 do 0x7FFF), 16 KB bocznej przestrzeni adresowej (0x8000 do 0xBFFF) i 16 KB przestrzeni systemu operacyjnego (0xC000 do 0xFFFF).

Boczna przestrzeń adresowa to przestrzeń adresowa z przełączaniem banków (określana przez Acorn jako „stronicowana”) przestrzeń adresowa , która umożliwia dostęp do jednego banku o rozmiarze 16 KB na raz. Każdy bank może być pamięcią ROM lub RAM.

Zarówno w BBC Micro, jak i BBC Master na płycie głównej znajdują się gniazda ROM (cztery w przypadku BBC Micro), do których można włożyć umieszczone z boku ROMy. BBC Micro jest dostarczany z pojedynczą pamięcią ROM zawierającą BBC BASIC ; do komputera można dodać kolejne pamięci ROM, aby dodać oprogramowanie, które będzie zawsze dostępne. Boczna przestrzeń adresowa Electrona została ujawniona dopiero po dodaniu dodatku Plus 1 lub odpowiednika strony trzeciej; Plus 1 wprowadził również gniazda na kasety, które zostały przeniesione do projektu BBC Master jako alternatywny sposób pakowania ROMów.

Boczne ROMy umożliwiły dodanie nowych systemów plików do systemu operacyjnego (takich jak Disc Filing System ) oraz oprogramowania aplikacyjnego i narzędziowego. Oprogramowanie dostarczane w postaci pamięci ROM ma dwie główne zalety: ładuje się natychmiast (jeśli jest dostarczane w postaci pamięci ROM języka lub usługi) i wymaga do działania bardzo małej ilości pamięci RAM (i może wykorzystywać wydzieloną stronicowaną część pamięci RAM, której nie wykorzystuje zwykłe oprogramowanie). Dzięki temu oprogramowanie aplikacyjne miało więcej przestrzeni roboczej, niż byłoby to normalnie możliwe, a oprogramowanie narzędziowe, takie jak debugery , mogło działać na oprogramowaniu przechowywanym w pamięci RAM.

System plików ROM umożliwiał również przechowywanie oprogramowania w ROMach w postaci plików, które można było załadować w podobny sposób jak programy kasetowe. Takie ładowanie nie było natychmiastowe, ponieważ obejmowało przeniesienie plików do pamięci RAM, ale mimo to zostało wykorzystane przez firmę Acorn do dostarczenia oprogramowania opartego na kartridżach, takiego jak gry i narzędzia, rzekomo ze względu na możliwość ponownego wdrożenia oprogramowania opartego na kasetach na inny nośnik bez konieczności wprowadzić istotne zmiany w oprogramowaniu.

Model boczny

Pierwsze kilka bajtów bocznych pamięci ROM zawiera szczegóły informujące system operacyjny, jak sobie z nimi radzić. Należą do nich punkty wejścia języka i usługi, kod typu ROM, numer wersji i wskaźnik do informacji o prawach autorskich. Podczas resetowania system operacyjny sprawdza każdy bank boczny, sprawdzając ciąg znaków autorskich. Podczas działania system operacyjny komunikuje się z prawidłowymi pamięciami ROM, przeskakując do dwóch punktów wejścia z określoną wartością zestawu akumulatorów . Zapewnia to przejrzysty interfejs API do rozbudowy systemu operacyjnego i negocjowania zmiany banku i udostępniania pamięci RAM.

ROMy mają dwa punkty wejścia: punkt wejścia usługi zapewnia dostęp API do ROM i punkt wejścia języka jest punktem wyjścia dla oprogramowania aplikacyjnego zawartego w pamięci ROM. „Usługowe” ROMy nie muszą mieć punktu wejścia dla języka i istnieją jedynie w celu rozszerzenia systemu operacyjnego. ROMy „językowe” to ROMy dostarczające oprogramowanie aplikacyjne, a swoją nazwę zawdzięczają temu, że język BBC BASIC jest dostarczany jako domyślny ROM w banku 15. ROMy często zawierają oba punkty wejścia, ponieważ całe oprogramowanie użytkownika musi mieć punkt wejścia usługi aby umożliwić systemowi operacyjnemu wywołanie go. Pamięci ROM zawierające wyłącznie usługi zazwyczaj rozszerzają jedynie funkcje samego systemu operacyjnego, bez dostarczania żadnego oprogramowania aplikacyjnego.

BBC Micro i Electron wymagają obecności pamięci ROM z jednym językiem podczas testu POST , aby zapewnić komputerowi interfejs użytkownika, w przeciwnym razie system operacyjny wyświetli komunikat „Język?” i zatrzymaj się. Wersja Acorn MOS na BBC Master ma wbudowaną linię poleceń i wyświetli ją, jeśli nie skonfigurowano domyślnej pamięci ROM w języku.

Boczna pamięć RAM

Oprócz pamięci ROM, do komputera można dodać banki pamięci RAM za pośrednictwem bocznej przestrzeni adresowej. Można ich używać do ładowania i używania obrazów ROM z dysku lub jako dodatkowy obszar roboczy dla programów w kodzie maszynowym.

BBC Model B jest okablowany na stałe, aby zapobiec zapisowi w obszarze bocznym, więc sygnał zapisu musi skądś zostać zebrany. Metody są różne, ale dwie najczęstsze metody to wyjmowanie chipów z płyty i umieszczanie ich w karcie rozszerzeń, która zajmuje oryginalne gniazda chipów, oraz instalowanie modułu RAM w gnieździe ROM za pomocą wolnego przewodu podłączonego do sygnału zapisu w innym miejscu na płycie głównej.

Model B+ 64 KB miał 12 KB „specjalnej” bocznej pamięci RAM. Używało to adresu bocznego, ale zostało wybrane przez wyższy bit rejestru wyboru ROM i nie mogło zostać użyte do załadowania obrazów ROM. Model B + 128 KB miał kartę rozszerzeń z 64 KB „zwykłej” bocznej pamięci RAM oprócz 12 KB „specjalnej” bocznej pamięci RAM na płycie głównej.

BBC Master był wyposażony w 64 KB zwykłej, bocznej pamięci RAM i można go było skonfigurować za pomocą łączy do płyty głównej, określających, które banki to ROM, a które RAM. Ponadto miał 4 KB „specjalnej” bocznej pamięci RAM i 8 KB pamięci RAM stronicowanej przez system operacyjny. W przeciwieństwie do B+, gdzie dla aplikacji użytkownika dostępna była „specjalna” boczna pamięć RAM, te obszary pamięci na urządzeniu Master były używane jako obszar roboczy systemu operacyjnego i systemu plików.

Okablowanie portu kasety różni się w modelach Electron i Master 128 pod względem niektórych sygnałów związanych z pamięcią RAM. Gniazda Master zastępują sygnał READY bardziej ogólnym sygnałem R/W, zachowując sygnał CSRW (wybór chipa, odczyt/zapis) tylko dla niektórych adresów na stronach FC, FD i FE, podczas gdy CSRW odpowiada linii odczytu/zapisu procesora w interfejsie wkładu Electron Plus 1. Obydwa systemy obsługują jednak wkłady RAM.

Ekspansja na boki

Acorn MOS obsługuje do 16 banków bocznych. Ze względu na ograniczoną przestrzeń na płycie głównej, karty rozszerzeń innych firm udostępniły dodatkowe boczne gniazda. Niektóre płyty, takie jak Watford Electronics Sidewise, zapewniały również opcję stałej pamięci RAM podtrzymywanej bateryjnie. Umożliwia to programistom testowanie nowego oprogramowania typu sided ROM bez nagrywania pamięci EPROM przy każdej próbie. Można zastosować przełącznik ochrony przed zapisem, aby zapobiec modyfikacji zawartości bocznej pamięci RAM.

Linki zewnętrzne