Re: Re[4]: x86, generacje procesorów

Autor: Gotfryd Smolik - listy dyskusyjne (smolik_at_stanpol.com.pl)
Data: Wed 20 Dec 2000 - 11:31:15 MET


 Witam znowu !

On Tue, 19 Dec 2000, Piotr Sobolewski wrote:

>+ Hello Gotfryd,
[...]
>+ >>+ Crusoe Transmety nie należy do x86. On tylko wykonuje kod x86 poprzez
>+ >>+ emulacje softwerową. A sam procesor ma swoje instrukcje nie mające nic
[...]
>+ GSld> Ano. Właśnie sam sobie zaprzeczyłeś -;)
>+
>+ GSld> Architektura prezentuje obraz funkcjonalny,
[...]
>+ GSld> To że Crusoe ma własną architekturę (pytanie, czy będzie
>+ GSld> dostępna specyfikacja...) to jedno; to że po załadowaniu
>+ GSld> konkretnego mikrokodu robi *dokładnie* wszystko, czego
[...]
>+ To jaki kod wykonuje crusoe zależy od morph code, czyli oprogramowania
>+ emulatora.

 Zgoda.
 I jeśli robi *wszystko* co do architektury X86 należy - to
ją realizuje. Oczywiście: tylko *po* załadowaniu właściwego kodu :)

>+ Jeśli mam pc a na nim odpalony WinUAE to czy procesor mojego
>+ pc zmieni architektóre z x86 na 68k???

 Zaraz.
 Ty masz emulację Windows, IBM-PC czy X86 ?
 Jeśli potrafisz w trybie kernel zmodyfikować (bezpośrednim wpisem
do pamięci !) tablicę stron X86 - i wywoła to właściwy skutek, jeśli
wtawienie IRET pod NMI, zablokowanie przerwań i HALT "powiesi"
skutecznie komputer, jeśli... [tu parę{dziesiąt} podobnych wymagań]
to rzeczywiście twój komputer realizuje X86; on nie musi jej
"zmieniać", on ją *realizuje* !
 Krok obok jest realizacja architektury IBM-PC, która oprócz
używania X86 nakłada kolejne ograniczenia: procesor X86 "spodziewa
się" w konkretnym miejscu sterownika DMA, NMI można zablokować
stosownym portem IO kontrolera klawiatury a połączenie kontrolerów
przerwań jest wykonane w najprymitywniejszej z form architektury...
 I teraz jest problem: nie mogę ci poradzić żebyś na swoim
komputerze podejrzewanym -;) (ja *nie* sądzę, żeby umiał...)
o realizację X86 odpalił Linuxa-X86 i sprawdził czy pójdzie
- bo tenże Linux oprócz realizacji architektury X86 wymaga
realizacji IBM-PC.
 Dotąd dobrze czy za mało kawy wypiłem ?

>+ Prziecież to jest realizacja
>+ architektury 68k poprzez emulacje softwerową, czyli tak samo jak w cpu
>+ Transmety

 Y... tego... właśnie widzę że zrobiłem opis "w drugą stronę" (tj.
emulatora X86 na 68k, a miał być 68k na X86 :]) - co w niczym
chyba nie przeszkadza w interpretecji zasad -;)

>+ I programista o emulacji nie wie. ;-:>

...i tu się mogę nie zgodzić.
 *Programista systemowy* - również nie wie ??

 Bo zrobić emulator systemu operacyjnego można realizując
tylko *część* architektury procesora + funkcje systemowe,
systemowe struktury danych itp. a *niekoniecznie* emulując
wszystkie drobiazgi w trybach kernel i interrupt (jeśli
architektura je rozróżnia) o executive i reszcie nie
wspominając -:)
 Owszem - taka realizacja (tj. że emulujemy nie *komputer*
i nie *procesor* a konkretny *system operacyjny* plus
wybrane [no, dobra - "na sztuki" to jest ich znaczna
wiekszość !] rozkazy procesora) wymaga napisania własnej
obsługi wielu elementów - ale *nie wymaga* za to fatygowania
się *pełną* emulacją ani architektury procesora, ani architektury
komputera...
 I IMHO do pełnej emulacji mającej wartość użytkową
- nawet tylko procesora - niezbędne jest pewne wsparcie
sprzętowe; najprościej uzyskać je na poziomie procesora
z dostępnym mikrokodem -:)
 Bez tego wsparcia - mogę sobie wyobrazić emulację, ale
pod warunkiem *znacznej* utraty prędkości - nie w "%"
a w rzędach dziesiętnych !

BTW: Crusoe ani nie będzie pierwszym procesorem (ICL
dobrych kilkanascie lat temu produkował komputery serii
ME - były takie w Polsce - które emulowały ich "duże"
[stare] systemy ładując mikrokod, niektóre VAXy miały
rozszerzenia pozwalające ładować własny mikrokod) ani
pierwszym mikroprocesorem z mikrokodem ładowalnym
(np. Alpha może ładować emulacje rozkazów do cache,
tzw. PAL code) - co najwyżej pierwszym dedykowanym
do takiego użycia -:) całego zakresu kodów
(w Alphie "łata się" tylko niewielką część)

>+ Pozdrawiam

 Wzajemnie !

-- 
 Gotfryd Smolik, PTH Stanpol Zabrze.
 Pilne listy na gs_at_stanpol.zabrze.pl, nt. VMS: gotfryd_at_stanpol.zabrze.pl


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 21:03:52 MET DST