3013
edycji
Nie podano opisu zmian |
Nie podano opisu zmian |
||
(Nie pokazano 17 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
Poniże lista pytań, które pojawiły się podczas prac nad EM400, emulatorem systemu MERA-400. Kolejność przypadkowa. | |||
= Aktualne = | |||
== Procesor == | |||
* | * Jak dla użytkownika zachowywało się R0 przy instrukcjach innych niż przesłania (przesunięcia, dodawanie, ...), kiedy było argumentem? | ||
* | * Jak zachowywało się R0 przy instrukcjach przesuwania kiedy było argumentem? | ||
* | |||
* | == Pulpit techniczny == | ||
* | |||
* < | == Pamięć == | ||
* < | |||
* | * Jak zachowywała się pamięć Elwro, kiedy w dwóch rejestrach RAL była ta sama wartość (dwa segmenty fizyczne chcą "odpowiedzieć" na adres logiczny)? | ||
* | |||
* | = Wyjaśnione = | ||
* | |||
* | == Procesor == | ||
* < | |||
* | * '''Q:''' Jak instrukcja MW ustawia flagę V?<br/>'''A:''' Ustawia tak, jak AD i SD, czyli w praktyce nigdy nie ustawia. | ||
* | * '''Q:''' Czy instrukcje zmiennoprzecinkowe ustawiały flagę C na "wypadający" najmłodszy bit wyniku?<br/>'''A:''' Tak, ale po krągleniu. | ||
* < | * '''Q:''' Jaka jest kolejność elementów w priorytetowym układzie rezerwacji?<br/>'''A:''' Taka, jak kolejność modułów "na kablu interfejsu". | ||
* < | * '''Q:''' Jak często mogło być zgłaszane [[przerwanie zegarowe]]? Różne dokumentacje podają różne wartości.<br/>'''A:''' Wszystkie schamty mówią, że: 2, 4, 8, 10, 20 milisekund. | ||
* | * '''Q:''' Jak naprawdę działały przeróbki procesora?<br/>'''A:''' Patrz: [[Modyfikacje sprzętowe procesora]] | ||
* '''Q:''' Czy rozkazy SV* rzeczywiście nie zerują flagi V, jeśli była ustawiona?<br/>'''A:''' Tak, nie zerują. | |||
* '''Q:''' Czy rozkazy arytmetyczne rzeczywiście nie zerują flagi V, jeśli była ustawiona?<br/>'''A:''' Tak, nie zerują. | |||
* '''Q:''' Czy w przypadku braku pamięci podczas pobierania rozkazu zwiększany jest licznik rozkazów?<br/>'''A:''' Tak. | |||
== Pulpit techniczny == | |||
* '''Q:''' Czy instrukcja odczytywania kluczy pulpitu technicznego (RKY) przepisywała klucze do rejestru zawsze, czy tylko, gdy przełącznik obrotowy był w pozycji KB? (a w przeciwnym wypadku zawartość rejestru nie była zmieniana)<br/>'''A:''' Zawsze. | |||
* '''Q:''' Czy można z pulpitu pisać rejestry, gdy maszyna jest running?<br/>'''A:''' Nie, tylko w stanie STOP. | |||
* '''Q:''' Czy odwołanie z pulpitu do nieistniejącej pamięci powoduje błąd/przerwanie?<br/>'''A:''' Tak, operacje na pamięci z pulpitu są wciąż operacjami wykonywanymi przez procesor. | |||
== Pamięć == | |||
* '''Q:''' Dlaczego adres był 15-bit? Przecież mógł być 16-bit i MERA mogła obsłużyć dwa razy więcej pamięci. Czy to ma związek z MEGA? Jeśli 15-bit, to co MERA robiła z 16 bit.<br/>'''A:''' Patrz: [[Adresowanie pamięci]] | |||
* '''Q:''' Co było w komórce o adresie 0xffff przy odsłoniętym segmencie PROM [[Pamięć MEGA|pamięci MEGA]]?<br/>'''A:''' Numer procesora (unikalny identyfikator systemu, de facto MEGI). | |||
== CROOK == | |||
* '''Q:''' Dlaczego tablica opisu dysków WINCHESTER CROOK-a pokrywa się z wektorami obsługi niezainstalowanych opcji (brak arytmometru)? Czy może to nie blok pamięci OS? Czy CROOK wymagał arytmometru wielokrotnej precyzji?<br/>'''A:''' Bo CROOK nie obsługiwał konfiguracji bez arytmometru, więc mógł nadpisać obszar z wektorami. | |||
* '''Q:''' Jak wygląda bootstrap systemu?<br/>'''A:''' [[Ładowanie systemu operacyjnego]] | |||
* '''Q:''' Pod jaki adres ładowany był system operacyjny? (czy też jakikolwiek "startowy" program ładowany do pamięci OS)<br/>'''A:''' Pod adres 0 | |||
* '''Q:''' Jak wyglądał proces instalacji CROOK-a?<br/>'''A:''' Inicjalizacja talerza, wkopiowanie plików. | |||
* '''Q:''' Jaka jest organizacja bloku pamięci systemu operacyjnego? (patrz: [[Mapa pamięci]])<br/>'''A:''' [[Mapa pamięci CROOK-5]] | |||
* '''Q:''' Gdzie jest stos? Jak duży? (patrz: [[Mapa pamięci]])<br/>'''A:''' Stos jest tam, gdzie wskaże wskaźnik. | |||
* '''Q:''' Jak wygląda praca systemu dwuprocesorowego? jak dwuprocesorowość wykorzystywał CROOK?<br/>'''A:''' CROOK nie obsługiwał konfiguracji dwuprocesorowej. | |||
== Urządzenia Amepolu == | |||
* '''Q:''' Co było na pamięci PROM zainstalowanej w module zegarze czasu rzeczywistego AMEPOL-u? Jak duży był ten PROM? Czy można zabootować CROOK-a bez niego?<br/>'''A:''' PROM miał 256 bajtów, był tam bootloader, na przykład (standardowo) CROOK-a. | |||
* '''Q:''' Co to jest MULTIX?<br/>'''A:''' Patrz: [[MULTIX]] |