| Forum: / Archiwum Sprzt 2006 / Procesor dwurdzeniowy |
| << . 1 . 2 . |
| Autor | Wiadomo |
| Radek
|
Posted: 31 Lip 2007 09:21:32 ...wszystko bedzie dobrze i dobrze sie skonczy ;-) nie musisz sie az tak
przejmowac swoja rola na grupie (przepraszam za osobista wycieczke ale czasami zachodze w glowe dlaczego ludzie pisza nie na temat poprzedniego posta...;-) Nie przejmuje się ale lubię pisać. ;) dlugo moglibysmy dywagowac o roznicach w budowie procesorow, czesc da
sie wyczytac z dokumentacji procesorow, czesc tylko zbadac eksperymentalnie - jezeli jestes hardcorowcem na poziomie rejestrow, assemblera, optymalizacji recznej kodu to polecam eksperymenty - bardzo pouczajace Nie interesuje się aż tak "x86" ale dla zabawy nauczyłem się assemblera ARM. Było bardzo pouczające, że w sumie tak prosta architektura ma ISA, która pozwala na coś w rodzaju superskalarności (conditional executing i przesunięcia bitowe dla prawego operanda). Czy też też bardzo fajne szybkie seryjne load/store z równoczesnym inc/dec dla rejestru adresowego. Aż płakać się chce, że nie ma ARM z taktowaniem 3GHz... :( Pozdrawiam, Radek |
| Wiktor S.
|
Posted: 31 Lip 2007 09:28:09 Przecież oba rdzenie nie mogą mieć jednocześnie
dostępu do tej samej danej. Dlaczego "nie mogą"? To trąci dogmatem.
Oczywiście, że można układ tak zaprojektować, żeby MOGŁY. Zdaje się, że jesteś zwolennikiem logiki rozmytej.
Technicznie nie ma problemu zeby mozna bylo CZYTAC te same komorki
jednoczesnie, pytanie czy musi to byc w tym samym clocku zegara? Oczywiscie logika rozmyta nie jest potrzeba... Natomiast z oczywistych powodow jest problem z jednoczesnym ZAPISEM, ale to jest oczywiste. Tu również nie ma problemu: przecież jeśli jednoczesnego zapisu nie ma, to ZAWSZE któryś rdzeń będzie czekał na drugi, więc ostatecznie zapisana będzie tylko jedna wartość - tego rdzenia, który zapisywał jako drugi. Wystarczy teraz założyć, że przy próbie 1czesnego zapisu zapisywana będzie tylko jedna z wartości - np. zawsze z tego samego rdzenia lub wg. jakiejś tam reguły. Rezultat ten sam, bo w sytuacji nie1czesnego zapisu i tak docelowo jeden z zapisów jest natychmiast tracony. |
| Wiktor S.
|
Posted: 31 Lip 2007 09:29:46 czy też też bardzo fajne szybkie seryjne load/store
z równoczesnym inc/dec dla rejestru adresowego. x86 też to ma... |
| MC
|
Posted: 31 Lip 2007 14:11:25 Przecież oba rdzenie nie mogą mieć jednocześnie
dostępu do tej samej danej. Dlaczego "nie mogą"? To trąci dogmatem.
Oczywiście, że można układ tak zaprojektować, żeby MOGŁY. Zdaje się, że jesteś zwolennikiem logiki rozmytej.
Technicznie nie ma problemu zeby mozna bylo CZYTAC te same komorki
jednoczesnie, pytanie czy musi to byc w tym samym clocku zegara? Oczywiscie logika rozmyta nie jest potrzeba... Natomiast z oczywistych powodow jest problem z jednoczesnym ZAPISEM, ale to jest oczywiste. Tu również nie ma problemu: przecież jeśli jednoczesnego zapisu nie ma, to ZAWSZE któryś rdzeń będzie czekał na drugi, więc ostatecznie zapisana będzie tylko jedna wartość - tego rdzenia, który zapisywał jako drugi. Wystarczy teraz założyć, że przy próbie 1czesnego zapisu zapisywana będzie tylko jedna z wartości - np. zawsze z tego samego rdzenia lub wg. jakiejś tam reguły. Rezultat ten sam, bo w sytuacji nie1czesnego zapisu i tak docelowo jeden z zapisów jest natychmiast tracony. No tak, ale z tej dwójki wartości tylko jedna jest prawdziwa i nie jest obojętne która będzie tą drugą nadpisującą. Zresztą w takiej sytuacji liczenie tej do nadpisania jest trochę bez sensu. Tak to nie może działać. |
| Radek
|
Posted: 31 Lip 2007 15:22:12 Wiktor S. napisał(a): czy też też bardzo fajne szybkie seryjne load/store
z równoczesnym inc/dec dla rejestru adresowego. x86 też to ma... Chodzi o movs? Pozdrawiam, Radek |
| Wiktor S.
|
Posted: 31 Lip 2007 17:28:32 Wiktor S. napisał(a):
czy też też bardzo fajne szybkie seryjne load/store
z równoczesnym inc/dec dla rejestru adresowego. x86 też to ma... Chodzi o movs? itp. |
| KaNo
|
Posted: 31 Lip 2007 18:48:03 Moglem sie domyslic. Zapis z L1(w-t) do L2 nie jest natychmiastowy, przy
zmianie wartosci w L1 ustawiny jest jedynie "dirty bit" i jezeli jest zgloszenie do odpowiadniego obszaru L2, to wtedy dopiero nastepuje jego uaktualnienie (L1-L2). Od poczatku chyba jest oczywiste, ze do jednego obszaru pamieci, nie mozemy "jednoczesnie" wpisywac roznych wartosci. Wanie o tym blokowaniu zapisu pisz od dwch dni. Nie ma go w przypadku indywidualnych cache dla kadego rdzenia z rwnie oczywistych powodw. ale jest za to kazdorazowo zapis L1-L2-RAM. W C2D odbywa sie to jedynie pomiedzy L1 i L2, oczywiscie do momentu, kiedy nie brakuje pamieci L2. |
| Radek
|
Posted: 1 Sier 2007 19:17:00 Wiktor S. napisał(a): Wiktor S. napisał(a):
czy też też bardzo fajne szybkie seryjne load/store z równoczesnym inc/dec dla rejestru adresowego. x86 też to ma... Chodzi o movs? itp. Nie śledzę tego co się dzieje w "x86-64" czy też w SSEx ale jeśli chodzi o movs to nie jest to samo co ma ARM. To jest tylko kopiarka ciągów znaków/słów z adresu do innego kiedy w ARM można seryjnie zrobić prawdziwe load/store z użyciem wybranych rejestrów. LDM/STM do tego może mieć "write-back" i conditional flag. To jest zabawne, że to co superskalarny i OoO C2D musi robić poprzez tzw. "macrofusion" jest załatwiane przez zwykły opcod w inorder i skalarnym ARM. Lepiej byłoby mieć ARM jako dominującą ISA niż "x86", prawda? Pozdrawiam, Radek |
| Radosław Sokół
|
Posted: 2 Sier 2007 06:21:39 Nie śledzę tego co się dzieje w "x86-64" czy też w SSEx ale jeśli chodzi
o movs to nie jest to samo co ma ARM. To jest tylko kopiarka ciągów znaków/słów z adresu do innego kiedy w ARM można seryjnie zrobić prawdziwe load/store z użyciem wybranych rejestrów. Samo MOVS akurat nie jest kopiarką, tylko właśnie load/store z inkrementacją/dekrementacją. Do tego musisz ew. dorzucić pętlę *sam* dopiero (aczkolwiek akurat w przypadku MOVS nie ma to sensu poza kilkoma przypadkami). Generalnie instrukcje "stringowe" w x86 są ciekawe (aczkol- wiek są też największym balastem architektury x86 dla obecnych architektur procesorów). Obecnie już jednak nie mają takiego bezwzględnego prymatu wydajnościowego, operacje z wykorzystaniem MMX są szybsze wyraźnie (kiedyś z operacji łańcuchowych opłacało się korzystać przy każdej operacji, były zazwyczaj kilka razy szybsze od pętli zapisanych ręcznie zwykłymi rozkazami -- ale to był czysty CISC, a dzisiaj x86 to wewnętrznie praktycznie RISC). |
| << . 1 . 2 . |
|
Komputer osobisty (ang. Personal Computer, std skrt PC i powszechne polskie okrelenie pecet). Obecnie nastpca klonw mikrokomputera wyprodukowanego przez firm IBM w latach 80. Przeznaczony przede wszystkim do uytku osobistego, domowego i biurowego, zazwyczaj stacjonarny. W wszym znaczeniu PC oznacza komputery standardu IBM-PC.
W dobie "komputer w kadym domu" wiele osb napotyka na problemy, ktrych nie jest w stanie rozwiza samemu. Moliwe, e to forum Tobie pomoe... Czas adowania strony (sek.): 0.420 miniBB.net © 2001-2008 | Polityka Prywatnoci archiwum - ogoszenia + filmiki + gieda
|