[#71]
Re: NatAmi uzyskuje kontakt ze światem
@Banter,
post #69
Zgadzam się z tym, że nie ma problemu pojemności współczesnych układów FPGA w kontekście upchnięcia tam procesora klasy 68060. Zwracam tylko uwagę na fakt, że konstrukcja tego odpowiednika (zwanego 68050) nie musi odpowiadać konstrukcji prawdziwego 68040 czy 68060. Wystarczy, że będą wykonywać tę samą listę rozkazów w ten sam sposób i zachowywać się zewnętrznie ("na pinach") też w ten sam sposób. 68050 nie musi mieć np. konstrukcji superskalarnej, co upraszcza budowę, choć może zmniejszyć wydajność. Zgadzam się też, że stały postęp w technologii FPGA gwarantuje, że będzie można z czasem podnosić wydajność tych procesorów. Przykładowo układy Stratix 3 L Altery mogą pracować z zegarami w okolicach 600 MHz, co oznacza, że osiągnięcie wydajności hipotetycznego 68060 @ 300 MHz (a może nawet nieco więcej przy dobrym projekcie) jest realne, co da wydajność w okolicach 300 do 400 MIPS. Największy układ z tej serii ma pojemność ponad 300 000 przeliczeniowych bramek logicznych, co powinno wystarczyć do upchania logiki 68060. Przy okazji - osobiście bym się nie wysilał na pełną implementację 68060 tylko zrobił bardzo szybki 68020 + 68882. Ani AmigaOS3 ani AROS nie mają ochrony pamięci, więc implementowanie MMU to kwiatek do kożucha moim zdaniem.
FPGA pozwala też na próbę twórczego rozwoju architektury. Rodzina 68k ma bardzo elastyczny system dodawania koprocesorów (zewnętrznych lub wewnętrznych) i możnaby dodać np. jednostkę wektorową a'la AltiVec z PowerPC. Oczywiście miałoby ją tylko NatAmi, ale to w końcu hobby, więc można sobie zaszaleć.
Nie zgadzam się natomiast z tym, że programowa emulacja FPU będzie wydajniejsza niż oryginalny FPU np. w 68060. Proszę sięgnąć po kod chociażby programowej obsługi FPU z biblioteki standardowej któregoś z kompilatorów C i zobaczyć jak długie są to funkcje.