-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Sebastian Biały <h...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: CP/M i 64kB
Date: Tue, 5 Mar 2019 20:48:42 +0100
Organization: ATMAN - ATM S.A.
Lines: 102
Message-ID: <q5mjqq$qnm$1@node2.news.atman.pl>
References: <q4ufna$jiq$1@node2.news.atman.pl> <q51hnt$kgc$1@node1.news.atman.pl>
<q51irv$lji$1@node1.news.atman.pl>
<5c751d95$0$484$65785112@news.neostrada.pl>
<q53sh9$sta$1@node1.news.atman.pl>
<7409391785$20190226184734@squadack.com>
<q53v5o$vi6$1@node1.news.atman.pl>
<7088299527$20190226200906@squadack.com>
<q5450n$5hv$1@node1.news.atman.pl>
<5c759e46$0$514$65785112@news.neostrada.pl>
<q56jt7$7e8$1@node2.news.atman.pl>
<5c76f1b2$0$516$65785112@news.neostrada.pl>
<q5703b$up6$1@node1.news.atman.pl>
<a...@g...com>
<q59ets$eat$1@node1.news.atman.pl>
<1mjw2gp3k67mt$.y7hkvuqgt9xz.dlg@40tude.net>
<q5c0h6$uho$1@node1.news.atman.pl>
<l4zk3vwy61pa.l5x71g8limow$.dlg@40tude.net>
<q5dhtc$ghq$1@node2.news.atman.pl>
<1...@4...net>
<q5h2oe$s5c$1@node1.news.atman.pl>
<6grlaur8yg0l$.1mucio4ufvadf$.dlg@40tude.net>
<q5jrg8$8sq$1@node2.news.atman.pl>
<5c7e4e0c$0$500$65785112@news.neostrada.pl>
NNTP-Posting-Host: 176.115.86.81
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1551815322 27382 176.115.86.81 (5 Mar 2019 19:48:42 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 5 Mar 2019 19:48:42 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
Thunderbird/60.5.2
In-Reply-To: <5c7e4e0c$0$500$65785112@news.neostrada.pl>
Content-Language: en-US
Xref: news-archive.icm.edu.pl pl.misc.elektronika:741449
[ ukryj nagłówki ]On 05/03/2019 11:21, J.F. wrote:
>> I tu i tu musisz przestawiać segmenty. W przypadku 8086 masz tylko tą
>> zaletę że robisz to w cpu.
> Mam te zalete, ze ten segment jest przesuwny i obejmuje prawie 64KB.
Algorymika kopiąca w tyłek rejestr segmentowy jak sie nie mieścisz jest
bardzo podobna. Dupa zawsze z tyłu.
>> Zależy jaki duży masz ten obrazek. A jak nie wiesz jaki masz duży to i
>> tak musisz sprawdzać za każdym razem. Znowu dupa z tyłu.
> Nie sprawdzam - wyliczam adres pixela, jego trzy bajty sie w segmencie
> zmieszcza.
Adres jest na 67kB. I co teraz? Masz szklaną kulę kiedy to robić bądź
kiedy tego nie robić? Nie, masz if. Czyli cykle. Czyli dupa z tyłu jak
zwykle. Rozmiar segmentu ma tylko znaczenie kiedy znasz rozmiar danych,
wtedy można robić jakieśtam optymalizacje. Jak masz user input to nie.
> Moze nawet wystarczy adres dla poczatku linii policzyc, ale to juz
> lepiej sprawdzic ... albo i nie, kto ma takie glupie obrazki, ten moze
> miec klopoty :-)
Stronicowanie niczego nie rozwiązuje, jest tak samo durne jak
przepinanie RAMu w Atari czy Commodore.
> Nawiasem mowiac - gdzies w TIFF jest "chunk size", ktos przewidzial, ze
> moze byc dobrze podzielic obrazek na kawalki nie wieksze niz np 8KB.
> I to nie tylko w 8086 sie sprawdza - np te "memory mapped" pliki w unixie.
Memory mapped pliki mają jakiś związek z ogranizacją danych w pliku ;)?
Coś nowego :D
> https://en.wikipedia.org/wiki/Memory_segmentation
> I nie zaczyna sie od "8086 ..."
Intel tego nie wymyślił, oni to tylko użyli. Oczywiście bez sensu może
poza fake kompatybilnością z 8080.
>>>> Bo to problem segmentacji pamięci i jest obecy w każdej współczesnej
>>>> sytuacji kiedy nie ma kompaktacji pamięci. Segmenty nic nie zmieniają
>>>> ani nie ułatwiają.
>>>>> Z segmentami (ale nie takimi jak w 86) by sie dalo.
>> Nie dało. Program musi wiedzieć że mu pamięc kompaktujesz i wskaźnik
>> jest iwalidowany.
> Nie musi wiedziec, bo wskaznik sie nie zmienia.
> 3:1500 pozostaje, i tylko system wie, ze segment 3 jest teraz polozony
> gdzie indziej.
To mówisz o pamięci wirtualnej z translacją adresów. Ma się to nijak do
8086 gdzie adres jest adresem fizycznym i fizycznej pamieci ram i nie ma
żadnego OSa. Wirtualizacja pojawiła się później. Segmentacja do tego nie
jest w ogóle potrzebna, np. 68k ma wirtualizację a nie ma segmentacji.
> Nawiasem mowiac - mimo niewatpliwych zalet, zobacz jak dlugo sie 68k
> przebijala.
Trudno oceniać co to znaczy przebijała. 68k to cholerne popularna
architektura, niezliczona ilosć komputerów i urządzeń poganiana była tym
procesorem z powodu tego że zaprojektowano go nie po pijaku, jak 386,
był znacząco łatwiejszy.
> Za droga byla, czy zabraklo takiej lokomotywy jak IBM ... i CP/M?
> Tego CP/M to bym nie przecenial, bo niedawno wystartowal, a pisanie np
> kompilatora w assemblerze ... musialo byc ciekawe :-)
CP/M na 68k był ale w roku 85 Commodore Amiga pokazała że nawet na 68000
można zrobić system z preemptive multitaskingiem, okienkami i całkiem
współczesnym OSem. Patrzenie na mozliwosci Amigi i na CP/M powoduje
kłopot jak porównywanie samochodu z gwoździem.
> A moze jednak tak ogolnie 68k kiepska byla ?
Dzielnie do 68060 walczyła z 486 czy wczesnymi Pentium.
> Albo unix byl za malo "user friendly" i za drogi ?
Co może być mniej user friendly niż gówniany CP/M? Chyba że chodziło o
to słynne "uproszczenie" co zazwyczaj oznacza prostactwo.
> No i mowisz kompilatorom, one kompiluja, rezultat jest dobry i co cie to
> wiecej obchodzi ?
Cykle obchodzą. Jak musisz co dwie instrukcje poświęcać cykle na
przerzucanie rejestrów na stos i z powrotem to nie jest to zupełnie nie
Twoja sprawa.
> A i tak nie wiadomo, czy tak trzeba, czy tworcy kompilatorow poszli w
> takim kierunku, aby RISC obsluzyc.
Gdzie by nie poszli w przypadku x86 dupa zawsze z tyłu.
> Borland kompilowal bezposrednio na x86.
To że można nie oznacza niczego.
> I teraz trzeba podzielic biblioteke na dwie czesci, zaladowac osobno do
> pamieci,
> zrelokowac wskazniki w kodzie programu ... albo uzywac w programie
> adresowania wzgledem PC i po zaladowaniu absolutnie nie przesuwac.
I tutaj x86 pokazuje swoją moc niemożności posiadania wydajnego i
relokowalnego kodu na raz. Znowu ... a już się nie będę powtarzał.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
Najnowsze wątki
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=