-
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.telefonia.gsm
Subject: Re: W teście szybkości iPhone6s+puszcza z dymem Galaxy Note 5
Date: Mon, 16 Nov 2015 22:14:18 +0100
Organization: ATMAN - ATM S.A.
Lines: 94
Message-ID: <n2dh03$of8$1@node1.news.atman.pl>
References: <n27hfb$rlr$1@dont-email.me> <n27jer$old$1@node2.news.atman.pl>
<X...@1...0.0.1>
<n27qgt$rk$1@dont-email.me> <n27s62$14m$1@node2.news.atman.pl>
<n27sgj$9ca$1@dont-email.me> <n27tkq$2mq$1@node2.news.atman.pl>
<a...@n...neostrada.pl>
<n29if0$ihn$2@node2.news.atman.pl> <n29uql$hsj$1@dont-email.me>
<n2a15q$17n$1@node2.news.atman.pl>
<a...@n...neostrada.pl>
<n2a5mc$5i0$1@node2.news.atman.pl>
<1t0380f7adygx$.mhqilt61aps8$.dlg@40tude.net>
<n2d563$2aa$1@node2.news.atman.pl>
<564a330f$0$701$65785112@news.neostrada.pl>
<n2dcv5$k5r$1@node1.news.atman.pl>
<564a4143$0$646$65785112@news.neostrada.pl>
NNTP-Posting-Host: 176-115-85-233.via.zamek.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1447708483 25064 176.115.85.233 (16 Nov 2015 21:14:43
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 16 Nov 2015 21:14:43 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.0; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
In-Reply-To: <564a4143$0$646$65785112@news.neostrada.pl>
Xref: news-archive.icm.edu.pl pl.misc.telefonia.gsm:1073543
[ ukryj nagłówki ]On 2015-11-16 21:48, J.F. wrote:
>> CPU do telefonów potrafi zrobić Apple. Jaki problem dodać dowolny
>> hardware?
> Zaden, ale jesli (nie wiem) telefon sie dalo zrobic bez, to moze nie ma
> potrzeby dokladac :-)
Dalo się zrobić bez ale ma kłopoty funkcjonalne z update. Jesli istniał
by motywator ekonomiczny to wszystko jest możliwe. Ale nie ma.
>> pomiędzy hardware i cpu. Uzycie IOMMU i MMU pozwala widzieć pamięć gfx
>> czy czegotam chcesz bez żadnych "uprawnień kernela".
> Tak, ale to bedzie np pamiec video. Czy pamiec obiektow graficznych do
> wykorzystania.
> A sterowac tym gfx trzeba przez inne rejestry - tak, zeby wiedzial ze
> zostalo do nich zapisane, bo przeciez nie bedzie stale zawartosci
> pamieci sprawdzal.
Te rejstry leżą obok w pamięci od 0x400000 w górę. W czym problem?
> A w tym IOMMU nie pomoze. Chyba, ze jakos sprytnie w dwie strony bedzie
> dzialalo.
IOMMU pozwala na dowolne machloje głównie dlatego że powstalo do duzych
systemów. Do systemów małych, szczególnie typu SoC mozna wprost
zaprojektować hardware tak aby załatwiało to w całości MMU. Nie widze
żadnych przeszkód aby IOMMU w SoC nie istniało a system dalej mapowal
wszelkie rejestry i pamięc jakiegoś hardware w dowolne miejsce dowolnego
procesu.
> Mozliwe, tym niemniej switch sie wydluza, jak trzeba zachowac rejestry
> (a przybywa ich), przestawic MMU, byc moze przestawic IOMMU itd.
I tutaj bingo: im mniejszy driver tym mniej do przestawiania w MMU. To
kwestia napisania tak kernela aby switch kontekstu do drivera dzwięku
był minimalistyczny. Kilka stron z rejestrami hardware, troszkę
sharowanej pamięci i do widzenia. Tak, cache pewnie się z lekka
uszkodzi, ale te kilkaset instrukcji sterownika to raczej duzych szkod
nie poczyni.
Ponadto jak mówie - CPU pożerają głównie aplikacje z userlandu. Drivery
nic nie robią bo czekają na przerwanie albo nikt ich nie chce w tej chwili.
>>> Ale mi chodzi o to, czy Dalvik w ogole przewiduje operacje np "zapisz
>>> pod adres C2000000 w pamieci".
>> Nie musi. Wystarczy że może (a musi) wołać metody natywne. I wtedy w
>> javie widzisz os.raw.memory.write( address, value ) czy coś w ten deseń.
> i wydajnosc dalej spada :-)
Nie, ponieważ JIT kompiluje to do natywnego mov. To że coś w javie ma
skomplikowany zapis nie oznacza że po translacji do kodu maszynowego
dalej ma skomplikowany zapis.
> No wlasnie o to chodzi - albo z poziomu kodu Dalvika musze miec dostep
> do tego umowionego adresu w pamieci procesora, albo kernel musi wiedziec
> jak mapowac aby ten dalvikowy kod dobrze trafial .
Żaden problem. To dość proste zagadnienie.
>>> Jeszcze jakies inne rozkazy zostaja, typu np zablokowanie przerwan,
>>> sterowanie nimi, operacje atomowe itp.
>> To wszystko to są trywializmy. Przecież nikt nie mówi że API/ABI
> Oczywiscie, ale moge wymagac wiekszych uprawnien.
Te uprawnienia ma proces drivera nadane przez kernel. W czym problem?
Na marginesie: wszelkie problemy z MMU i IOMMU tak naprawdę występują
rowniez w kernelu. To jest *dokładnie* to samo zagadnienie. Ja tylko
mówie że nie ma problemu aby przenieść drivery razem z ich hardware do
osobnych procesów. Nawet jesli to będzie kosztowac całe 0.1%[*] czasu
CPU na machanie MMU. A przeniesienie do osobnych procesów - żeby nie
zgubić o co w tej dyskusji chodzi - ma za zadanie umożliwić ich
aktualizację bez względu na dziadostwo prezentowane przez wytwórców
telefonów.
>> sterownika zaczyna się od main(argc,argv). naprawde, nie ma roznicy
>> czy porty hardware smerane sa przez kod maszynowy czy przez ten sam
>> kod maszynowy wygenerowany z dalvika.
> Ale sam dalvik moze nie przewidywac np operacji atomowych, bo i po co to
> na poziomie abstrakcji Javy.
Ale nie musi na poziomie Javy. Wystarczy że na poziomie fake "pakietu"
os.driver.* znajdzie się zbiór metod "writeAtomic64BitLongInteger( ptr,
value ); itd. ktore translują się wprost do czego tam na aktualnej arch
trzeba. Atomowośc jakiejś operacji jest okreslana przez sterownik. Tak,
to oznacza że kod sterownika jest pisany głównie z użyciem wywołań do
jakiegoś os.driver i nie wygląda ładnie. Ale mało ktory sterownik
wygląda ładnie.
[*] Jest kilka prac z tej dziedziny, np:
http://choices.cs.illinois.edu/ExpCS07.pdf
PS. Nie na darmo współczesne CPU mają kilka rdzeni - to powoduje że nie
trzeba robić switcha kontekstu za każdym razem kiedy wołasz driver.
Następne wpisy z tego wątku
- 16.11.15 22:36 Sebastian Biały
- 17.11.15 10:29 Marek
- 17.11.15 10:44 Marek
- 17.11.15 10:50 atm
- 17.11.15 11:02 atm
- 17.11.15 11:21 atm
- 17.11.15 11:34 atm
- 17.11.15 11:50 Marek
- 17.11.15 11:57 Marek
- 17.11.15 14:07 Pszemol
- 17.11.15 14:10 Pszemol
- 17.11.15 14:18 Pszemol
- 17.11.15 14:21 Pszemol
- 17.11.15 14:23 Pszemol
- 17.11.15 14:27 Pszemol
Najnowsze wątki z tej grupy
- uwazajmy na haczyki w umowach
- doładowania 5zł
- nawigacyjna dokładność latawca
- Thunderbird na androida
- Nie można pobrać nowego Firefoxa na telefon
- Próby RCB SMS alarmowy
- Bye Bye Aero2
- Re: Taniocha!!!
- Smartwatch do mierzenia poziomu cukru za 59 dolarów
- Najnowszy iPhone i filmy na Whatsup
- Aple ma przycisk APARATU. SERIO? Tyle lat im to zajęło?
- Mulitisim
- Jaki telefon dla "SENIORA"? ;-)
- Android 11, jak odzyskać zdjęcie z kosza?
- Sterownik USB OTG - chyba nie jestem na czasie? :)
Najnowsze wątki
- 2024-10-19 Warszawa => Software Engineer .Net <=
- 2024-10-19 Warszawa => Senior SAP HANA Developer <=
- 2024-10-19 Warszawa => Specjalista Helpdesk <=
- 2024-10-19 PUE ZUS -- administracyjna nuda...
- 2024-10-18 Marsz niepodleglosci
- 2024-10-18 Pożar parkingu w Luton
- 2024-10-18 Łódź => Spedytor Międzynarodowy <=
- 2024-10-18 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-10-18 Warszawa => Head of International Freight Forwarding Department <=
- 2024-10-18 uwazajmy na haczyki w umowach
- 2024-10-18 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-10-18 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-10-18 Gdańsk => Software .Net Developer <=
- 2024-10-18 Warszawa => Junior Rekruter <=
- 2024-10-18 Warszawa => Key Account Manager <=