Goto page Previous 1, 2, 3, 4, 5 Next
Mario
Guest
Mon Feb 16, 2009 12:10 am
gargamel pisze:
Quote:
Użytkownik "Madz" napisał:
A jak plyte sz.. trafi, to tak samo moze mi w mikroprocesorowym
sterowniku poleciec procek.
to teraz policz ile w tym procku PC jest milionów tranzystorów, dodaj do
tego resztę milionów tranzystorów w płycie głównej i podzespołąch i
porównaj to z liczbą tranzystorów w całym sterowniczku opartym na procku
jednoukładowym, to ci popkaże skalę prawdopodobieństwa awarii sprzętu:O)
Jednoukładowiec (np ARM9) może mieć więcej tranzystorów niż stary PC. Np
XT

Sądzę że bardziej bardziej złożony system, może być jednocześnie
bardziej bezawaryjny.
Quote:
Jak wspomnialem wczesniej, jedynym problemem jest brak watchdoga -
mozliwe
ze producenci ITX o tym wkrotce pomysla. Tymczasem trzeba sobie cos
wlasnego wymyslic.
wątpię, bo w PC sam restart nie musi rozwiazać problemu, wiec i sensu
stosowania brak:O(
Dlaczego? Zwisy mogą być spowodowane losowym błędnym odczytem danych z
pamięci RAM lub HDD lub np wyciekiem pamięci i zajęciem wszystkich
zasobów po dużym uptime. Reset sprzętowy często ratuje sytuację.
--
Pozdrawiam
MD
gargamel
Guest
Mon Feb 16, 2009 8:03 pm
Użytkownik "Mario" napisał
Quote:
Systemy operacyjne pisze się w C i to jest najlepszym przykładem
na to że jest to najlepsze rozwiązanie. Nie sądzę żeby napisany w
asemblerze system był stabilny i dawał się rozwijać.
jądra systemów operacyjnych (czyli to co najważniejsze) pisze sie w
asemblerze, całą resztę bajerów w C:O)
Quote:
Czytasz opis funkcji i wiesz jak ona działa. Jak masz wątpliwości to
przeglądasz kod.
opis to jest tylko wyglądu czarngo puidełeczka a do tego co w środku opisów
nie ma, często nawet nie masz mozliwosci zajrzeć do tego co jest w środku,
bo są to funkcje skompilowane, kiedyś pamiętam napisałem bardzo prostą
unkcyjkę (kilka lini kodu) a potem znalazłem funkcję w kompilatorze o opisie
dokładnie odpowiadającemu działąniu mojej funkcji i jak zajrzałem do jej
kodu źródłowego (nie pamiętam skąd go wziąłem, może było dostępne żródło w
C) to zobaczyłem dosłownie setki lini kodu, nawet nie byłem w stanie tego
przeanalizować,
Quote:
Doczytaj o mikrokodzie i zastanów się czemu np. w prockach typu CISC cykl
maszynowy składa się z kilku cykli zegarowych.
co tu czytać? to zależy wyłącznie od architektury procka
gargamel
Guest
Mon Feb 16, 2009 8:06 pm
Użytkownik "T.M.F." napisał:
Quote:
Skoro to sa fakty to z latwoscia podasz przyklady w literaturze,
ktore je potwierdzaja.
ja pie### literatura? poczytaj podręcznik do C i do asemblera, acha samo
przeczytanie nic ci nie da, niestety jeszcze nie wymyślono literetury która
jeszcze myśli za czytelnika, głową musisz ruszyć sam, może zaboleć:O)
gargamel
Guest
Mon Feb 16, 2009 8:19 pm
Użytkownik "zbyszek" napisał:
Quote:
Sprawdzanie zakresu wyniku, przekroczenie tabeli itd jest ważnym
elementem prawie każdego programu. Jesli tego nie robisz w swoich
programach to są one marne. Nawet nikt nie wie, że występują błędy i
wychodzą bzdurne wyniki. Stąd takie proste x+y może być obudowane
większym sprawdzonym kodem kompilatora czy biblioteki.
dałe bardzo dobry przykład, wiekszoć funkcji jest włanie tak pisana zeby
była debiloodporna, sprawdza wszystko i jest na wszystko odporna, zajmuje
setki lini kodu i nadmiernie obcišża procesor:O(
widzisz, nie zawsze takich funkcji potrzebujesz, często wystarczy ci funkcja
które niczego nie sprawdza i wykonuje to samo w paru liniach kodu, a błędów
nie będzie bo funkcja pracuje tylko na jednym typie danych i już
sprawdzonych:O)
Quote:
Czepiasz się niesłusznie. Nie musi go obchodzić efektywność kodu
który wykonuje się sporadycznie, ważniejsza jest wtedy jego pewność
poprawności działania.
ok, wpożo, jak wydajnoć i niezawodnoć nie jest wymagana to sie pisze w
C:O)
Quote:
Pisałem kiedyś program w C - implementując prosto dla próby własne FFT a
następnie skorzystałem z gotowej biblioteki intela - była ona ponad 10 x
szybsza od mojego kodu,
ok, bo prawdopodobnie była ona pisana w asemblerze:O)
gargamel
Guest
Mon Feb 16, 2009 8:25 pm
Użytkownik "Mario" napisał:
Quote:
Pod warunkiem, że w pętli będzie inkrementacja/dekrementacja o 1 a licznik
ma wielkość równą długości słowa danych.
fakt, ale powiedz mi ile komend asemblera wygeneruje kompilator włąśnie dla
takiej prostej pętli napisanej w C?:O)
Quote:
Może nie potrafiłeś wydajnie pisać?
może, ale akurat osoba co mi program zademonstrowałą, pokazała mi też
identyczny program napisany w C (jeden i drógi pisane przez zawosowe zespoły
porogramistów) i porównanie było też takie jak pisałem:O)
J.F.
Guest
Mon Feb 16, 2009 10:04 pm
On Mon, 16 Feb 2009 20:25:19 +0100, gargamel wrote:
Quote:
Użytkownik "Mario" napisał:
Pod warunkiem, że w pętli będzie inkrementacja/dekrementacja o 1 a licznik
ma wielkość równą długości słowa danych.
fakt, ale powiedz mi ile komend asemblera wygeneruje kompilator włąśnie dla
takiej prostej pętli napisanej w C?:O)
Dobry kompilator potrafi petle calkowicie usunac, jesli wyda mu sie
niepotrzebna.
Ba - mi kiedys caly program usunal. Nic nie drukowal, interesowal mnie
tylko czas wykonania, a kompilator wykazal sie inteligencja i
zoptymalizowal do zera :-)
J.
Adam Dybkowski
Guest
Mon Feb 16, 2009 11:02 pm
gargamel pisze:
Quote:
Systemy operacyjne pisze się w C i to jest najlepszym przykładem
na to że jest to najlepsze rozwiązanie. Nie sądzę żeby napisany w
asemblerze system był stabilny i dawał się rozwijać.
jądra systemów operacyjnych (czyli to co najważniejsze) pisze sie w
asemblerze, całą resztę bajerów w C:O)
Eeee, ale niby od kiedy? W asemblerze są zwykle 2-3 pliki (część wspólna
przerwań, część schedulera związana z przełączaniem kontekstu, startup)
i już. Cała reszta jądra, włączając scheduler, kolejki, powiadomienia,
starzenie zadań - to wszystko prawie zawsze pisze się w C. Wtedy jest
duużo mniej roboty z portowaniem na kolejny procek. Zobacz przykładowo,
na ilu platformach pójdzie FreeRTOS. A to tylko mały pikuś w porównaniu
z większymi systemami.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
zbyszek
Guest
Tue Feb 17, 2009 12:24 am
Quote:
Pisałem kiedyś program w C - implementując prosto dla próby własne FFT a
następnie skorzystałem z gotowej biblioteki intela - była ona ponad 10 x
szybsza od mojego kodu,
ok, bo prawdopodobnie była ona pisana w asemblerze:O)
he he a ty cišgle uparty....wspomagania sprzętowego operacji dsp
nie zastšpi nawet najlepszy asembelr :)
zbyszek
Name
Guest
Tue Feb 17, 2009 6:51 pm
gargamel wrote:
Quote:
(jeden i drógi pisane przez zawosowe
zespoły porogramistów) i porównanie było też takie jak pisałem:O)
Zamiast filozofować naucz się pan w końcu języka polskiego a później ANSI C.
gargamel
Guest
Tue Feb 17, 2009 7:02 pm
Użytkownik "zbyszek" napisał:
Quote:
ok, bo prawdopodobnie była ona pisana w asemblerze:O)
he he a ty cišgle uparty....wspomagania sprzętowego operacji dsp
nie zastšpi nawet najlepszy asembelr
ojej, oczywiste ze sprzętowo jest najwydajniej, potem asembler, następnie
języki wysokopoziomowe:O)
a co do FFT to procesory sygnałowe wykonujš to sprzętowo, programuje sie je
też w asemblerze:O)
Marcin E. Hamerla
Guest
Tue Feb 17, 2009 11:44 pm
gargamel napisal(a):
Quote:
ok, bo prawdopodobnie była ona pisana w asemblerze:O)
he he a ty ciągle uparty....wspomagania sprzętowego operacji dsp
nie zastąpi nawet najlepszy asembelr :)
ojej, oczywiste ze sprzętowo jest najwydajniej, potem asembler, następnie
języki wysokopoziomowe:O)
a co do FFT to procesory sygnałowe wykonują to sprzętowo, programuje sie je
też w asemblerze:O)
No ale jesli w procesorze sa jakies pajlajningi, jednostki rownogle,
itd to programowanie w asm chyba nie musi byc najszybsze?
--
Pozdrowienia, Marcin E. Hamerla
"Every day I make the world a little bit worse."
MoonWolf
Guest
Wed Feb 18, 2009 8:31 am
gargamel denied rebel lies:
Quote:
ok, bo prawdopodobnie była ona pisana w asemblerze:O)
he he a ty ciągle uparty....wspomagania sprzętowego operacji dsp
nie zastąpi nawet najlepszy asembelr
ojej, oczywiste ze sprzętowo jest najwydajniej, potem asembler,
następnie języki wysokopoziomowe:O)
Chcesz się ścigać z optymalizacjami kompilatora? To dobry musisz być.
Ja nie mam zamiaru - piszę w C a kompilator załatwia resztę.
--
<:> Roger, MoonWolf Out <:>|I stab the dragon and tell it
(:

(:

|to get off me
(

JID:moonwolf@jabberpl.org(

|
http://karakkhaz.prv.pl
Adam Dybkowski
Guest
Thu Feb 19, 2009 2:09 am
MoonWolf pisze:
Quote:
ok, bo prawdopodobnie była ona pisana w asemblerze:O)
he he a ty ciągle uparty....wspomagania sprzętowego operacji dsp
nie zastąpi nawet najlepszy asembelr
ojej, oczywiste ze sprzętowo jest najwydajniej, potem asembler,
następnie języki wysokopoziomowe:O)
Chcesz się ścigać z optymalizacjami kompilatora? To dobry musisz być.
Ja nie mam zamiaru - piszę w C a kompilator załatwia resztę.
Chyba nic nigdy nie pisałeś na DSP'ki. Kompilator C wygeneruje zwykle
kod asemblerowy kilka razy !!! gorszy, niż mógłbyś sam ręcznie
wycyzelować (mając pod ręką listę instrukcji z zależnościami pipeline
itp). ARM to inna sprawa i tutaj przeciętny kompilator C z włączoną
optymalizacją zadziała podobnie do optymalizacji ręcznej. Natomiast
pecety (x86) to ekstremum w drugą stronę - przy kompilacji kodu dla
wyższych architektur (np. Pentium) i włączonej optymalizacji mała jest
szansa wygrać ręcznie z kompilatorem. Chyba że korzystasz z dodatkowych
instrukcji a'la DSP czyli SSE/SSE2/SSE3/SSE4 itp.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Artur M. Piwko
Guest
Fri Feb 20, 2009 12:48 pm
In the darkest hour on Mon, 16 Feb 2009 20:06:38 +0100,
gargamel <smerfowa@dolina.eu> screamed:
Quote:
Skoro to sa fakty to z latwoscia podasz przyklady w literaturze,
ktore je potwierdzaja.
ja pie### literatura? poczytaj podręcznik do C i do asemblera, acha samo
przeczytanie nic ci nie da, niestety jeszcze nie wymyślono literetury która
jeszcze myśli za czytelnika, głową musisz ruszyć sam, może zaboleć:O)
Aha. Czyli widzimisię. Syndrom związany z byciem ajatollahem asemblera.
--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:222B ]
[ 12:47:55 user up 11989 days, 0:42, 1 user, load average: 0.99, 0.95, 0.97 ]
In God we trust; all else we walk through.
Artur M. Piwko
Guest
Fri Feb 20, 2009 12:52 pm
In the darkest hour on Sun, 15 Feb 2009 22:01:59 +0100,
gargamel <smerfowa@dolina.eu> screamed:
Quote:
Załóżmy, że jesteś w stanie napisać krótszą pętlę niż wygenerowana z C
przez kompilator. Ale musisz napisać znacznie więcej kodu, we którym masz
znacznie większe szanse pomylić sie. A pętla w C jest prosta jak
konstrukcja cepa.
tak, wiem że kod w C jest piękny, te wszystki odstępy, tabulatory,
komentarze, wszystko tak piękne że tylko podziwaić i takie proste, dlatego
stosuje sie języki wysokopoziomowe,
Tu przede wszystkim chodzi o krótszy kod źródłowy i krótszy czas, który
trzeba zużyć na napisanie programu.
Quote:
ale jest dróga strona, kosztem łątwizny
jest niestabilnosć, bnłęduy io brak kontroli, to są fakty a nie moje
widzimisie,
Jakieś potwierdzenie tych Twoich widzimiśnych faktów?
Quote:
acha a co do błędów w kompilatoraach to każdy kto sie świeżo
uczy jakiegoś języka to takie błędy znajduje w ilościach huirtowych na
porządku dziennym:O(
Początkujący zazwyczaj generują PEBKAC-e. A to jest niezależne od
języka.
--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:234B ]
[ 12:49:54 user up 11989 days, 0:44, 1 user, load average: 0.99, 0.95, 0.97 ]
Everyone has a right to be stupid. Some just abuse the priviledge.
Goto page Previous 1, 2, 3, 4, 5 Next