W EEE PC Asus montuje dyski SSD oparte na układach Flash. Wg. tego co twierdzi Asus ich dyski powinny przetrwać około 10 tysięcy cykli zapisów.
[Update: 1 września 2008, 23:00 :-)
Poczytałem jeszcze trochę o pamięciach flash i pocieszający wniosek jest taki, że zapisywanie non-stop do pojedynczej komórki pamięci flash w praktycznie wszystkich urządzeniach bazujących na flash nie oznacza pisania do tej samej komórki fizycznej :-)]
W sieci można znaleźć trochę opracowań na temat tego jak limit cykli zapisów przekłada się na żywotność dysków SSD. Są to jednak głównie opracowania dla dużych dysków [od 64GB wzwyż] montowanych w serwerach [gdzie limit cykli zapisu to około 5 mln]. Tu można znaleźć jedno z nich - http://www.storagesearch.com/ssdmyths-endurance.html
Nie do końca przekonuje mnie metodologia tamtych obliczeń [choć jej nie kwestionuję, artykuły te pisali ludzie, którzy zajmują się takimi sprawami, ja jestem amatorem]. [Update: 1 września 2008, 23:00, większość badań o których tu mowa to badania zakładające zapis całego dysku, w takiej sytuacji mechanizmy rozpraszające zapisy na nic się nie zdadzą bo i tak wszystkie komórki fizyczne muszą zostać zapisane.]
Ja postanowiłem przeprowadzić swoje własne wyliczenia :-)
Założenia:
Wbudowany dysk SSD w EEE 900/XP [i większość innych modeli z rodziny EEE] ma 4GB pojemności, jednostka alokacji liczy 4KB, dostępnych jest 977948 jednostek alokacji, choć dla prostoty obliczeń założymy ze jest ich dokładnie 1048576 ;-) [czyli 220].
Zapis każdej komórki fizycznej oznacza zapis do tego samego obszaru flash. [to jest błędne założenie, teraz to już wiem ;-)]
W pierwszym przybliżeniu można przyjąć, że każda z około 1 mln jednostek alokacji ma takie samo prawdopodobieństwo, że będzie zapisana. Czyli co najmniej jej pierwszy bit będzie zapisany [pomijamy to, że zapisany będzie w rzeczywistości tylko wtedy gdy się zmieni czyli za każdym razem z prawdopodobieństwem 1/2, co oznacza że za 1 zapis można by było uznać średnio 2 ;-)]
Oznacza to na chłopski rozum [ale wskazały to też moje symulacje - symulacja polegała na wielokrotnym losowaniu liczby od 0 do 220 i zwiększaniu o jeden odpowiadającej tej liczbie "komórki", póty puki któraś z komórek nie przekroczyła wartości 10000], że każda z jednostek alokacji musiałaby zostać zapisana około 10 tysięcy razy, co daje nam łącznie około 10 mld zapisów. Co przy zapisie powiedzmy 10 jednostek alokacji na sekundę daje około 31-32 lata. 10 jednostek alokacji na sekundę daje zapis około 340 MB w ciągu doby.
Wydaje się więc bezpiecznym założeniem przyjęcie, że żywotność dysku SSD w takim reżimie to minimum około 10 lat.
Może jednak być tak, że na dysku mogą być obszary do których system pisze częściej niż na innych. Co prawda dyski SSD mają podobno wbudowane mechanizmy rozpraszające zapis po "powierzchni" tak by obciążenie komórek było w miarę równomierne, ale nie wiadomo jak to działa w EEE. [Update: 1 września 2008, wszystkie urządzenia Flash mają podobno takie mechanizmy, dlatego rozsądnym założeniem jest, że dysk EEE też ma :-)]
Z moich eksperymentów jakie przeprowadziłem jak na razie z Linuksem przy pomocy zmodyfikowanej lekko wersji emulatora JPC [tak go zmodyfikowałem by logował wszystkie zapisy na dysk] wynika, że w trakcie startu systemu Linuks zawsze próbuje zapisać 2 bajty do sektora o numerze 2 na dysku.
W takim przypadku żywotność dysku SSD ogranicza się do około 10 tysięcy restartów, a to już może być zbyt mało. Przy założeniu, że komputer włączamy raz dziennie, przez 20 dni w miesiącu, czyli 240 razy w roku, oznacza to wytrzymałość na poziomie 41-42 lat.
Jeżeli jednak będziemy restartować komputer codziennie 2-3 razy przez wszystkie dni roku to dysku SSD starczy nam na około 10 lat.
Jak jednak widzę z logów mój badany Linuks także przy zamykaniu systemu pisze do sektora numer 2 na dysku. A to oznacza, że w rzeczywistości przy 1 włączeniu i wyłączeniu komputera w ciągu dnia nasz limit skończy się po tych 10 latach.
Przy bardziej intensywnym włączaniu/wyłączaniu limit wyczerpać się może odpowiedni wcześniej........
Jak widać można uznać 10 lat to bezpieczny limit przy oszczędnym używaniu EEE.
Wszystko jednak przy założeniu, że na dysku system nie ma jakichś plików do których szczególnie ochoczo zapisuje.
Jeśli się uda [co nie jest pewne] to postaram się przeprowadzić eksperymenty z tym jak to jest z Windows XP, ale nie wydaje mi się by było to jakoś szczególnie różne jeśli chodzi o start. Rozsądne jednak wydaje się wyłączenie pliku wymiany i rozważenie stworzenia RAMDysku na pliki tymczasowe.
Podobne postybeta
Algorytm ;-)
Defragmentacja SSD - o tym dlaczego nie należy jej robić
Niepomyśleli....
Tablet marzeń
GAE zmienia ceny i darmową quota'ę... a ja zmieniam kod ;-)
niedziela, sierpnia 31, 2008
Jestem na książkowym głodzie.....
Popadłem ostatnio w nałóg...
Codziennie, po kilka razy wchodzę na tę stronę wydawnictwa Etiuda i sprawdzam czy aby przypadkiem nie pojawiła się tam już kolejna książka Arthura C. Clarke'a......
Od śmierci ACC w marcu tego roku wydali 4 jego książki, ostatnią na początku sierpnia, czyli jak utrzymają tendencję to koło połowy września powinna być nowa książka..... przy założeniu, że mają tak szybkiego tłumacza.
Swoją szosą czy to nie straszne, że o tak znamienitym autorze przypomniano sobie dopiero gdy umarł?
Podobne postybeta
Oko czasu
Wiedźmin mnie pokonał ;-)
Clarke
O! "Ostatnie Twierdzenie" Arthura C. Clarke'a po polsku :-)
Stefan albinos przybył... i trochę przerażający jest ;)
Codziennie, po kilka razy wchodzę na tę stronę wydawnictwa Etiuda i sprawdzam czy aby przypadkiem nie pojawiła się tam już kolejna książka Arthura C. Clarke'a......
Od śmierci ACC w marcu tego roku wydali 4 jego książki, ostatnią na początku sierpnia, czyli jak utrzymają tendencję to koło połowy września powinna być nowa książka..... przy założeniu, że mają tak szybkiego tłumacza.
Swoją szosą czy to nie straszne, że o tak znamienitym autorze przypomniano sobie dopiero gdy umarł?
Podobne postybeta
Oko czasu
Wiedźmin mnie pokonał ;-)
Clarke
O! "Ostatnie Twierdzenie" Arthura C. Clarke'a po polsku :-)
Stefan albinos przybył... i trochę przerażający jest ;)
Niechciejśpizm
Niechciejśpizm to przypadłość na którą cierpię. Od bezsenności różni się tym, że w bezsenności chory na nią, chciałby usnąć, ale nie może.W moim przypadku, jestem śpiący, ale jest jeszcze tyle rzeczy do zrobienia, że nie chcę się jeszcze kłaść spać.Wczoraj np. miałem już iść spać [około 2:10 w nocy] i włączyłem telewizor jeszcze żeby sobie poskakać po programach [tutaj, w domu, w Wodzisławiu mam kabel, a w Krakowie nie mam ;-)] i na HBO zobaczyłem w pasku informację, że zaraz zacznie się film Apokalipsa Androidów.Po 10 minutach oglądania wiedziałem, że to będzie chała.... ale i tak oglądałem bo dopadła mnie jakaś perwersyjna ciekawość jak to się skończy [czasem tak mam, np. co jakiś czas oglądam TV Trwam tylko po to żeby usłyszeć co oni tam naopowiadają tym razem ;-)]. Oczywiście złe androidy zostały zgładzone, a dobry android który pomagał człowiekowi znalazł w człowieku przyjaciela... standard, ale i tak obejrzałem ;-) [btw. androidów to od czasu obejrzenia Terminator - Kroniki Sarah Connor chce napisać jakiś wpis o maszynach, które myślą.. a może już napisałem? Hmm, chyba jeszcze nie napisałem ;-)]Ogólnie niechciejśpizm jest dość dziwny. Jest np. 2 w nocy, w końcu uda mi się udać w kierunku wanny, włażę do niej, ale nie, nie myję głowy i reszty od razu i spać, nie ja czytam książkę, a w pewnym momencie czuję, że mi prawie wpadła do wody, więc ją odkładam z postanowieniem, że na chwilę przymknę oczy i zaraz myję głowę....... i zaczynam ją myć koło 3 ;-) Rezultat jest taki, że gdy wstaje o 9 by iść do pracy to jestem strasznie zaspany..... i w nocy znów siedzę do 2 albo 3 ;-)Ale przecież jest jeszcze tyle rzeczy do zrobienia. Można np. napisać taki wpis ;-) albo napisać cosia, który szuka odpowiedzi kto napisał ten tekst [jak ktoś jest ciekaw to w komentarzu do tego wpisu [wszystko na blogu Bogdana Misia] wstawiłem listę możliwych autorów, a gdy autor bloga podał już nazwisko autora tekstu to dodałem przykładowy tekst tego autora do mojej bazy i znów porównałem zestawy...... i okazało się, że jest na 2 miejscu wśród podejrzanych o autorstwo ;p chyba mój algorytm nie jest zbyt doskonały ;-)].Można poczytać, albo nawet posiedzieć przez 10 czy 20 minut ze słuchawkami na głowie słuchając kawałka Circumitus Down projektu Era [bo tak chyba o nich pisać należy].Pewnie jak się kiedyś dziecka doczekam to w środku nocy będę miał rozrywkę siedząc, czy stojąc przy łóżeczku i gapiąc się jak śpi ;-) żeby widzieć jak rośnie.Lubię spać, ale tyle rzeczy się dzieje dookoła :-) może stąd mój niechciejśpizm?Albo to, albo mi odbija ;-) [co nie jest do wykluczenia, choć sam tego raczej nie zdiagnozuję, ale z trzeciej strony ja tak mam od zawsze - czyli jak mi miało odbić to już dawno odbiło]
Podobne postybeta
Koronawirus - jak na mnie wpływa
Terminatorowa refleksja ;-)
Kilka Androidów w domu... jak to jest?
Język programowania na Apokalipsę ;-)
Dajcie mi język marzeń ;-)
Podobne postybeta
Koronawirus - jak na mnie wpływa
Terminatorowa refleksja ;-)
Kilka Androidów w domu... jak to jest?
Język programowania na Apokalipsę ;-)
Dajcie mi język marzeń ;-)
sobota, sierpnia 30, 2008
Niezbyt imponujące 30 sekund na start Windows XP na EEE 900/XP ;-)
W kilku miejscach powołałem się na fakt, że mój EEE 900/XP potrzebuje około 30 sekund od przyciśnięcia przycisku power do momentu gdy Menu Start Windows XP jest dostępne.Oto dowód ;-) [filmik zrobiony moim aparatem, muzyka w tle jest przypadkowa, po prostu sobie leciała z głośników :-), komputer jest uruchomiony na baterii]Wiele wskazuje, że mam szczęście gdyż posiadam model EEE 900/XP z 12 GB dysków, z czego pierwszy to 4 GB a drugi 8 GB.... tutaj powinienem napisać, że jeden jest taki, a drugi taki, ale nie wiem jak one się różnią. Ogólnie ten 4 GB jest podobno szybszy od 8 GB. W czasie gdy kupowałem dostępny był jeszcze EEE 900 z Xandrosem z 20 GB dysków (4 GB + 16 GB), ostatnio zaś pojawił się właśnie jakiś nieszczęśliwy model EEE 900 16 GB z Xandrosem, w którym jak wiele wskazuje nie ma tego dysku 4 GB [tego szybszego] przez co po instalacji Windows XP na takim komputerku jest tragedia. [swoją szosą po co kupować tańszą wersję 16 GB z Xandrosem by później wydać jeszcze więcej pieniędzy i kupić licencję na XP?].[Updata: 23/09/2008, jak słusznie zauważył kretes w komentarzach, 4+8 to nie 16, a 12 :-) dlatego poprawiłem to w tekście :-)]
Podobne postybeta
ISS poraz kolejny :-) tym razem poprzedzona HTV :-)
Lądowanie Perseverance pokazuje, że komputery są potężne ;-)
Nie czaję... ;-)
Asus EEE 900 - Tips & Tricks ;-)
Teoretyczny limit życia dysku SSD w Asus EEE.
Podobne postybeta
ISS poraz kolejny :-) tym razem poprzedzona HTV :-)
Lądowanie Perseverance pokazuje, że komputery są potężne ;-)
Nie czaję... ;-)
Asus EEE 900 - Tips & Tricks ;-)
Teoretyczny limit życia dysku SSD w Asus EEE.
piątek, sierpnia 29, 2008
Prawdy życiowe - tezy przemkizmu ;-)
Podstawowa i najbardziej przydatna prawda życiowa brzmi:
Nigdy nie jest tak źle jak się obawiamy, ani tak dobrze jak mamy nadzieję.
Kolejne są takie:
Strach o kogoś bliskiego jest co najmniej wprost proporcjonalny do tego jak ten ktoś jest dla Ciebie ważny.
Prawo ważności: najpierw Ty i Twoi bliscy, później praca.
Prawo przemijania telefonów służbowych: częściej zmieniasz firmę niż telefon, dlatego lepiej mieć swój własny prywatny. [to prawo stosuje się również do adresów e-mail]
Walcz tylko o ważne sprawy, o reszcie dyskutuj. [to nie wyklucza dyskusji o ważnych sprawach, mówi tylko, że o ważne sprawy warto walczyć]
Najtrudniej znaleźć błąd w swoim rozumowaniu.
To, że masz wątpliwości znaczy, że myślisz.
Gdy widzisz na drodze idiotę - ustąp mu. W końcu jeżeli ktoś musi się rozbić na tym drzewie za zakrętem to z dwojga złego lepiej on, niż Ty.
Gdy masz wątpliwości żądaj by Cię przekonano, gdy jesteś pewien żądaj by obalono Twoje tezy.[a tak sobie pofilozofowałem ;-) w ogólności próbuję stosować te prawdy życiowe i nawet mi to czasem wychodzi ;-)]
Ktoś się podzieli swoimi prawdami?
A może zaneguje którąś z moich? :-)
Podobne postybeta
Jak ukraść kraj?
"Powszechnie znane" prawdy o wydajności to często bujdy na resorach
Radość przedurlopowa - przycinanie ;-)
Zły provider, albo głupi ja ;-)
Metoda na idiotę, czyli sposób pokonywania autostrady we mgle
Nigdy nie jest tak źle jak się obawiamy, ani tak dobrze jak mamy nadzieję.
Kolejne są takie:
Strach o kogoś bliskiego jest co najmniej wprost proporcjonalny do tego jak ten ktoś jest dla Ciebie ważny.
Prawo ważności: najpierw Ty i Twoi bliscy, później praca.
Prawo przemijania telefonów służbowych: częściej zmieniasz firmę niż telefon, dlatego lepiej mieć swój własny prywatny. [to prawo stosuje się również do adresów e-mail]
Walcz tylko o ważne sprawy, o reszcie dyskutuj. [to nie wyklucza dyskusji o ważnych sprawach, mówi tylko, że o ważne sprawy warto walczyć]
Najtrudniej znaleźć błąd w swoim rozumowaniu.
To, że masz wątpliwości znaczy, że myślisz.
Gdy widzisz na drodze idiotę - ustąp mu. W końcu jeżeli ktoś musi się rozbić na tym drzewie za zakrętem to z dwojga złego lepiej on, niż Ty.
Gdy masz wątpliwości żądaj by Cię przekonano, gdy jesteś pewien żądaj by obalono Twoje tezy.[a tak sobie pofilozofowałem ;-) w ogólności próbuję stosować te prawdy życiowe i nawet mi to czasem wychodzi ;-)]
Ktoś się podzieli swoimi prawdami?
A może zaneguje którąś z moich? :-)
Podobne postybeta
Jak ukraść kraj?
"Powszechnie znane" prawdy o wydajności to często bujdy na resorach
Radość przedurlopowa - przycinanie ;-)
Zły provider, albo głupi ja ;-)
Metoda na idiotę, czyli sposób pokonywania autostrady we mgle
czwartek, sierpnia 28, 2008
Zły OpenOffice.org Base...
Tak naprawdę to nie OO.org jest zły, a po prostu ja niedouczony ;-)Chciałbym użyć bazy stworzonej w OO.org i silnika bazowego OO.org do stworzenia programu z bazą książek.Po kilku próbach stworzyłem bazę z aż 3 tabelami ;-) books [jak łatwo się domyśleć książki, czyli tytuł, tytuł oryginału i numer], authors [imię i nazwisko oraz numer] i links [czyli łączenie między książkami, a autorami....].Proste i logiczne.I niby teraz wystarczyłoby zacząć kodować w Java'ie. Ale nie umiem znaleźć żadnego oczywistego sposobu dostępu, wiem, wiem JDBC, ale jak zrobić by to wszystko działało gdy przeniosę aplikację na inny komputer z OO.org? A gdybym tak zapragnął poznać bliżej Base z OpenOffice.org? Szukałem w sieci jakichś przykładowych baz i znalazłem dokładnie jedną :-( miała całe 3 tabele i 3 formularze, z czego nadal nie rozumiem po co są te formularze......Momentami mam wrażenie, że z OO.org Base jest jak z Linuksem, jest naprawdę świetny, tylko że trzeba przejrzeć tony dokumentacji by znaleźć odpowiedź na swoje pytanie ;-)Żeby było ciekawiej dokumentacja dla programistów OO.org jest chyba bardziej dokładna niż dla użytkowników, choć też nadal nie znalazłem w niej prostego sposobu na pokazywanie i znikanie ikonek na toolbarze.... może po prostu prostego sposobu nie ma? ;-)Writer i Calc są udokumentowanie, dla nich w sieci można znaleźć masę ciekawych i przydatnych poradników, ale dla Base'a nie :-(
Podobne postybeta
Google Friend Connect.... ja (na razie?) rezygnuję ;-)
Dalsze ładne rzeczy
Duży ekran - największy plus Nexus 5
Coś się dzieje w Android Market ;-)
Podróże w czasie ;-)
Podobne postybeta
Google Friend Connect.... ja (na razie?) rezygnuję ;-)
Dalsze ładne rzeczy
Duży ekran - największy plus Nexus 5
Coś się dzieje w Android Market ;-)
Podróże w czasie ;-)
Nie mylcie priorytetów - czyli wybór netbooka :-)
W Poradniku Internauty pojawił się wpis przedstawiający krytykę EEE 900, na miejscu odniosłem się do krytyki ;-)
Wydaje mi się, że cała ta krytyka wynika z pomylenia priorytetów.
Każda osoba wybierając mały komputerek musi przemyśleć co jest dla niej najistotniejsze.
U mnie zwyciężają wymiary, wytrzymałość i design :-)
Dla mnie EEE to komputerek, którego używam sobie leząc na łóżku i oglądając TV, to komputerek który zajmuje mało miejsca w plecaku [trochę więcej niż 1-2 książki], to w końcu komputerek, w którym nie ma mechanicznych części [poza wiatrakiem] dlatego też gdy plecak spadnie nie muszę zachodzić w głowę czy tym razem dysk twardy to przeżyje, czy nie ;-) Do tego jest to komputerek na którym mogę uruchomić FireFox'a, StarOffice'a, Eclipse i NetBeans'y :-)
A wszystko po wyjęciu z torby wygląda tak ;-)

A po otwarciu tak ;-) [z lampą błyskową robione zdjęcie]

Gdybym potrzebował małego laptopa z dużym dyskiem to pewnie zastanowiłbym się nad MSI Wind lub EEE 1000, jednak wymiary EEE 900 bardziej mi pasują [EEE PC 900 226 x 170 x 20~33, a MSI Wind 260 x 180 x 19~31].
Jedyny minus EEE 900 jaki widzę po 2 miesiącach użytkowania to bateria, jednak 2-2.5 godziny to trochę za mało jak na mobilność. Faktem jednak jest, że jeszcze mi nigdy baterii nie zabrakło :-)
Jako niezastąpione źródło wiedzy o netbookach, czy też liliputerach polecam bazę netbooków w serwisie Liliputers.
Podobne postybeta
Święta wojna...
Netbooki < 10" do piachu?
Radykalny pomysł
Maleństwo ;-)
Odsłaniać okna na noc w gorące noce, czy nie odsłaniać? Oto jest pytanie....
Wydaje mi się, że cała ta krytyka wynika z pomylenia priorytetów.
Każda osoba wybierając mały komputerek musi przemyśleć co jest dla niej najistotniejsze.
U mnie zwyciężają wymiary, wytrzymałość i design :-)
Dla mnie EEE to komputerek, którego używam sobie leząc na łóżku i oglądając TV, to komputerek który zajmuje mało miejsca w plecaku [trochę więcej niż 1-2 książki], to w końcu komputerek, w którym nie ma mechanicznych części [poza wiatrakiem] dlatego też gdy plecak spadnie nie muszę zachodzić w głowę czy tym razem dysk twardy to przeżyje, czy nie ;-) Do tego jest to komputerek na którym mogę uruchomić FireFox'a, StarOffice'a, Eclipse i NetBeans'y :-)
A wszystko po wyjęciu z torby wygląda tak ;-)

A po otwarciu tak ;-) [z lampą błyskową robione zdjęcie]

Gdybym potrzebował małego laptopa z dużym dyskiem to pewnie zastanowiłbym się nad MSI Wind lub EEE 1000, jednak wymiary EEE 900 bardziej mi pasują [EEE PC 900 226 x 170 x 20~33, a MSI Wind 260 x 180 x 19~31].
Jedyny minus EEE 900 jaki widzę po 2 miesiącach użytkowania to bateria, jednak 2-2.5 godziny to trochę za mało jak na mobilność. Faktem jednak jest, że jeszcze mi nigdy baterii nie zabrakło :-)
Jako niezastąpione źródło wiedzy o netbookach, czy też liliputerach polecam bazę netbooków w serwisie Liliputers.
Podobne postybeta
Święta wojna...
Netbooki < 10" do piachu?
Radykalny pomysł
Maleństwo ;-)
Odsłaniać okna na noc w gorące noce, czy nie odsłaniać? Oto jest pytanie....
środa, sierpnia 27, 2008
OOo2GD v1.2.1
Właśnie przed chwilą opublikowałem wersje 1.2.1 mojego rozszerzenia OOo2GD.Ta wersja zawiera poprawkę dzięki której nawet gdy zapomnimy dodać znak "/" na końcu ścieżki dla serwera WebDAV to i tak zostanie ten znak dodany ;-) Pozbawiłem też okienko eksportu właściwości Always On Top, dodatkowo od teraz okienko konfiguracji będzie zmieniać swe rozmiary tak by zawsze wyglądało odpowiednio ładnie ;-)Zapraszam do pobierania :-)
Podobne postybeta
Morderca Kindle'a.....
OpenOffice.org2GoogleDocs v1.0.0 :-)
Eksport z OpenOffice.org2GoogleDocs do Box.net
OOo2GD (OpenOffice.org2GoogleDocs) 1.2.2
OOo2GD 1.7.0
Podobne postybeta
Morderca Kindle'a.....
OpenOffice.org2GoogleDocs v1.0.0 :-)
Eksport z OpenOffice.org2GoogleDocs do Box.net
OOo2GD (OpenOffice.org2GoogleDocs) 1.2.2
OOo2GD 1.7.0
Aklimatyzacja po urlopie jest straszna....
Aklimatyzacja po urlopie jest straszna....Z jednej strony jestem non-stop śpiący, z drugiej strony nie umiem się przekonać by pójść spać o ludzkiej porze ;-)
Podobne postybeta
Tip of the day ;-) użyj Chrome2Chrome by nie kupować pod wpływem impulsu ;-)
Kryzys przedsenny ;-)
Zaspany....
Stand desk w walce z jetlagiem... albo byciem niewyspanym ;-)
Się mnie poprzestawiało....
Podobne postybeta
Tip of the day ;-) użyj Chrome2Chrome by nie kupować pod wpływem impulsu ;-)
Kryzys przedsenny ;-)
Zaspany....
Stand desk w walce z jetlagiem... albo byciem niewyspanym ;-)
Się mnie poprzestawiało....
wtorek, sierpnia 26, 2008
Celeron M353 900MHz vs. Intel Atom 1.6GHz, czyli o tym czemu jest remis? ;-)
Szukałem dziś w sieci porównania wydajności Asus EEE 900 z Asus EEE 901. Na pierwszy rzut oka wygląda, że EEE 901 powinien być niemal dwa razy szybszy od EEE 900 bo w EEE 901 mamy procesor Intel Atom 1.6GHz, a w EEE 900 "tylko" Celeron M353 900MHz.
Okazuje się jednak, że procesory te mają praktycznie identyczną moc obliczeniową! Z tym, że Atom w porównaniu do Celerona M praktycznie nie zużywa prądu ;p
Ciekaw byłem czemu tak jest i zacząłem studiować opisy obu procesorów w Wikipedii.
Tutaj mała dygresja historyczna ;-) Kiedyś, dawno temu [tak jakoś do czasów pierwszych Pentium chyba] procesory z rodziny x86 mówiły i myślały w języku x86. Gdy procesor dostał taki kod:
To działały w taki sposób, że do swojego kawałka zwanego rejestrem
Ale takie rozwiązanie miało wady. Te polecenia były zbyt duże by można było je wygodnie zrównoleglać, do tego x86 miał bardzo mało rejestrów co utrudniało optymalizację jeszcze bardziej........ Dlatego uznano, że x86 się przeżył.... W każdym bądź razie na zewnątrz ;-)
Od tego momentu procesory x86 mówią, a właściwie to rozumieją w x86, ale myślą w swoich własnych RISCowych językach. Naprawdę procesor nie musi mieć w ogóle rejestru
Kończąc dygresję ;-) W okolicach Pentium było tak, że 1 rozkaz procesora wyrażony w x86 był średnio wykonywany w 1 takcie procesora [a taktów było tyle ile wynikało z częstotliwości procesora, czyli dla 120MHz było to 120 milionów taktów]..... Nie do końca tak ;-) po pierwsze Pentium w pewnych okolicznościach umiało wykonać naraz 2 rozkazy... a po drugie wykonanie rozkazu to nie tylko jego wykonanie, a cała obróbka ;-) ale to szczegóły ;-)
Teraz jednak procesory jak mówiłem w środku są RISCami. I w tym tkwi pierwszy powód czemu 1.6GHz może być tak samo wydajne jak 900Mhz. Po prostu jeden procesor może zmienić dane rozkazy x86 w np. 20 swoich rozkazów RISC, a inny w 40. Wtedy ten z 40 rozkazami jeżeli oba wykonują 1 rozkaz na takt potrzebuje 2 razy więcej taktów.
Do tego dochodzi to, że czasem może się okazać, że szybciej wykona się dany zestaw rozkazów RISC jeżeli się je trochę poprzestawia.
Do tego dochodzi jeszcze to, że w celu przyśpieszenia pracy procesora stosuje się coś co zwie się potokiem. W końcu w procesorze jest wiele jednostek, z których jedna potrafi wykonywać obliczenia, inna potrafi wczytać rozkaz, jeszcze inna zapisać coś do pamięci, a inna odczytać. Jest tego trochę i szkoda by było żeby w czasie wykonywania pojedynczego rozkazu pracował tylko 1 kawałek procesora gdy reszta leży odłogiem, dlatego wprowadzono potok. W skrócie wygląda to tak, że gdy 1 rozkaz jest w fazie wykonywania [np. dodaje dwie wartości z rejestrów] to drugi jest w fazie zapisywania operandów do rejestrów, a inny w fazie wczytywania i tak dalej. I teraz pojawia się problem. W kodzie programów występują skoki. A skoki mają to do siebie, że często nie wykonuje się po nich kod, który leży w pamięci bezpośrednio za nimi, a jakiś inny na jaki wskazują... i jeżeli właśnie wykonaliśmy skok, to może się okazać, że cała obróbka rozkazów które obrabialiśmy w potoku była niepotrzebna, bo wykonać mamy inny kod. A to oznacza, że musimy chwilę poczekać...
I tu pojawia się predykcja skoków, czyli przewidywanie gdzie pójdziemy w momencie skoku, czyli przewidywanie czy bardziej opłaca się w potoku przetwarzać kod rozkazów za skokiem, czy tych na które wskazuje skok.... Jeżeli jeden procesor jest w tym lepszy, to nawet przy niższym taktowaniu może być w pewnych warunkach bardziej wydajny.
Do tego dochodzi jeszcze to, że przewidywanie skoków nie zawsze się udaje, a co by było gdyby część procesora próbowała wykonać kod zza skoku, a druga część kod na który wskazuje skok? Wtedy można by było w momencie uzyskania wartości decydującej gdzie wykonać skok [czyli w momencie wyliczenia wyrażenia] unieważnić niewłaściwą linię kodu i udawać, że od początku chciało się iść tą ścieżką ;-)
Tu dochodzi jeszcze to, że w procesorze możemy mieć więcej "kawałków" które np. umieją liczyć, wtedy można część rozkazów RISC przesyłać do jednej jednostki, a część do drugiej, trzeciej czy dziesiątej... z tego co pamiętam wg. teorii 6-7 to maksimum które ma sens, w praktyce to pewnie 3-4.
I to są w skrócie powody tego, że Atom 1.6GHz może mieć taką samą wydajność jak Celeron M z dużo niższym taktowaniem 900MHz.
Po prostu Celeron M to zubożona wersja Pentium M [czyli tego procesora który pogrzebał Pentium 4 [które zawaliło sprawę tym, że miało zbyt długi potok]], wraz z wszelkimi usprawnieniami takimi jak predykcja skoków, wykonywanie spekultatywne, przestawianie kolejności wykonania rozkazów, zrównoleglenie rozkazów.
Intel Atom to za to procesor, który nie ma tych ficzerów. Ale dzięki temu nie zużywa tyle prądu, bo "inteligencja" kosztuje.Przez to jego współczynnik moc obliczeniowa/MHz jest niższy niż dla Celerona M. Za to współczynnikiem moc obliczeniowa/W bije Celerona M na całej linii ;-)
Ktoś doczytał do tego momentu? ;-)
Podobne postybeta
Komputery są naprawdę stare ;-)
.asm - to było fajne rozszerzenie plików z programami ;-)
"Powszechnie znane" prawdy o wydajności to często bujdy na resorach
Amd64, Intel64, EMT64, WTF64? ;-)
Referencje w Java'ie
Okazuje się jednak, że procesory te mają praktycznie identyczną moc obliczeniową! Z tym, że Atom w porównaniu do Celerona M praktycznie nie zużywa prądu ;p
Ciekaw byłem czemu tak jest i zacząłem studiować opisy obu procesorów w Wikipedii.
Tutaj mała dygresja historyczna ;-) Kiedyś, dawno temu [tak jakoś do czasów pierwszych Pentium chyba] procesory z rodziny x86 mówiły i myślały w języku x86. Gdy procesor dostał taki kod:
mov ax,03hmov bx,10hadd ax,bxint 10hTo działały w taki sposób, że do swojego kawałka zwanego rejestrem
ax [a tak naprawdę od czasów 80386 do połówki rejestru eax] wrzucał wartość 3 [to h oznacza, że jest to wartość hexadecymalna, czyli szesnastkowa, ale akurat 03h to 3 ;-)], później do rejestru bx wrzucał 10h [16], następnie dodawał wartość z ax i bx, a wynik wstawiał do ax, by w końcu wywołać przerwanie 10h [16], które odpowiadało za wywołanie funkcji BIOSu związanych z trybem graficznym....... tak naprawdę wywołanie przerwania oznaczało tylko coś takiego, odłóż na stos co popadnie ;-) i skocz do miejsca którego adres wpisany jest pod pozycją 10h w tabeli przerwań.....Ale takie rozwiązanie miało wady. Te polecenia były zbyt duże by można było je wygodnie zrównoleglać, do tego x86 miał bardzo mało rejestrów co utrudniało optymalizację jeszcze bardziej........ Dlatego uznano, że x86 się przeżył.... W każdym bądź razie na zewnątrz ;-)
Od tego momentu procesory x86 mówią, a właściwie to rozumieją w x86, ale myślą w swoich własnych RISCowych językach. Naprawdę procesor nie musi mieć w ogóle rejestru
eax, może mieć za to kilkadziesiąt innych. Ważne by na zewnątrz wyglądało, że ma rejestr eax.Kończąc dygresję ;-) W okolicach Pentium było tak, że 1 rozkaz procesora wyrażony w x86 był średnio wykonywany w 1 takcie procesora [a taktów było tyle ile wynikało z częstotliwości procesora, czyli dla 120MHz było to 120 milionów taktów]..... Nie do końca tak ;-) po pierwsze Pentium w pewnych okolicznościach umiało wykonać naraz 2 rozkazy... a po drugie wykonanie rozkazu to nie tylko jego wykonanie, a cała obróbka ;-) ale to szczegóły ;-)
Teraz jednak procesory jak mówiłem w środku są RISCami. I w tym tkwi pierwszy powód czemu 1.6GHz może być tak samo wydajne jak 900Mhz. Po prostu jeden procesor może zmienić dane rozkazy x86 w np. 20 swoich rozkazów RISC, a inny w 40. Wtedy ten z 40 rozkazami jeżeli oba wykonują 1 rozkaz na takt potrzebuje 2 razy więcej taktów.
Do tego dochodzi to, że czasem może się okazać, że szybciej wykona się dany zestaw rozkazów RISC jeżeli się je trochę poprzestawia.
Do tego dochodzi jeszcze to, że w celu przyśpieszenia pracy procesora stosuje się coś co zwie się potokiem. W końcu w procesorze jest wiele jednostek, z których jedna potrafi wykonywać obliczenia, inna potrafi wczytać rozkaz, jeszcze inna zapisać coś do pamięci, a inna odczytać. Jest tego trochę i szkoda by było żeby w czasie wykonywania pojedynczego rozkazu pracował tylko 1 kawałek procesora gdy reszta leży odłogiem, dlatego wprowadzono potok. W skrócie wygląda to tak, że gdy 1 rozkaz jest w fazie wykonywania [np. dodaje dwie wartości z rejestrów] to drugi jest w fazie zapisywania operandów do rejestrów, a inny w fazie wczytywania i tak dalej. I teraz pojawia się problem. W kodzie programów występują skoki. A skoki mają to do siebie, że często nie wykonuje się po nich kod, który leży w pamięci bezpośrednio za nimi, a jakiś inny na jaki wskazują... i jeżeli właśnie wykonaliśmy skok, to może się okazać, że cała obróbka rozkazów które obrabialiśmy w potoku była niepotrzebna, bo wykonać mamy inny kod. A to oznacza, że musimy chwilę poczekać...
I tu pojawia się predykcja skoków, czyli przewidywanie gdzie pójdziemy w momencie skoku, czyli przewidywanie czy bardziej opłaca się w potoku przetwarzać kod rozkazów za skokiem, czy tych na które wskazuje skok.... Jeżeli jeden procesor jest w tym lepszy, to nawet przy niższym taktowaniu może być w pewnych warunkach bardziej wydajny.
Do tego dochodzi jeszcze to, że przewidywanie skoków nie zawsze się udaje, a co by było gdyby część procesora próbowała wykonać kod zza skoku, a druga część kod na który wskazuje skok? Wtedy można by było w momencie uzyskania wartości decydującej gdzie wykonać skok [czyli w momencie wyliczenia wyrażenia] unieważnić niewłaściwą linię kodu i udawać, że od początku chciało się iść tą ścieżką ;-)
Tu dochodzi jeszcze to, że w procesorze możemy mieć więcej "kawałków" które np. umieją liczyć, wtedy można część rozkazów RISC przesyłać do jednej jednostki, a część do drugiej, trzeciej czy dziesiątej... z tego co pamiętam wg. teorii 6-7 to maksimum które ma sens, w praktyce to pewnie 3-4.
I to są w skrócie powody tego, że Atom 1.6GHz może mieć taką samą wydajność jak Celeron M z dużo niższym taktowaniem 900MHz.
Po prostu Celeron M to zubożona wersja Pentium M [czyli tego procesora który pogrzebał Pentium 4 [które zawaliło sprawę tym, że miało zbyt długi potok]], wraz z wszelkimi usprawnieniami takimi jak predykcja skoków, wykonywanie spekultatywne, przestawianie kolejności wykonania rozkazów, zrównoleglenie rozkazów.
Intel Atom to za to procesor, który nie ma tych ficzerów. Ale dzięki temu nie zużywa tyle prądu, bo "inteligencja" kosztuje.Przez to jego współczynnik moc obliczeniowa/MHz jest niższy niż dla Celerona M. Za to współczynnikiem moc obliczeniowa/W bije Celerona M na całej linii ;-)
Ktoś doczytał do tego momentu? ;-)
Podobne postybeta
Komputery są naprawdę stare ;-)
.asm - to było fajne rozszerzenie plików z programami ;-)
"Powszechnie znane" prawdy o wydajności to często bujdy na resorach
Amd64, Intel64, EMT64, WTF64? ;-)
Referencje w Java'ie
Subskrybuj:
Posty (Atom)