Używany laptop?

0

Tego HP nie mogę znaleźć, znajduje jeden ale tylko z HD.

Podobają mi się te T430s, są bardzo lekkie w porównaniu z innymi, z dyskami ssd i HD+. E430 też wydają się być w porządku. Jedyne mankamenty to słabsze procesory, dwurdzeniowe i5 lub słabsze czterordzeniowe. Domyślam się więc, że im lepszy sprzęt tym większe lapki są?

0

Zastanawia mnie coś - czemu w Dellach E6420 tak często widzę i7 czterordzeniowe skoro to są czteroletnie laptopy?

0

Mniejsza z tymi rdzeniami - widzę czasami naprawdę dobre i tanie laptopy tylko z wadami, na przykład z takimi user image pęknięciami. Warto kupować taki sprzęt?

0

Zastanawia mnie coś - czemu w Dellach E6420 tak często widzę i7 czterordzeniowe skoro to są czteroletnie laptopy?

W kwestii architektury CPU niewiele się zmieniło na przestrzeni lat, zwłaszcza od wprowadzenia Sandy Bridge ponad 4 lata temu. Pamiętam, jak ok. 7 lat temu lat temu mówiło się, że w 2015 to wszyscy będą używać procków 20-rdzeniowych i więcej, bo to jedyny sposób aby zwiększyć wydajność, skoro nie daje się zwiększać już częstotliwości zegara. Na razie nic takiego nie nastąpiło i zamiast tego mamy postęp w innych miejscach:

  1. zwiększenie wydajności iGPU. Jeśli na najmocniejszych iGPU (Iris Pro) można obecnie płynnie grać w nowe gry na średnich detalach, to jest to naprawdę niezły postęp, bo kiedyś iGPU nadawały się co najwyżej do painta. iGPU dostały mnóstwo rdzeni. W nowym Iris Pro Skylake mają być podobno 72, w iGPU ze średniej półki jest ich 24. Więc jeśli zastanawiasz się, gdzie się podziały te wszystkie obiecane rdzenie - to są właśnie tam - w GPU.

  2. obniżenie "spalania" tj. zmniejszenie tranzystorów (32 nm -> 14 nm) i coraz lepsze mechanizmy oszczędzania energii (wyłączanie nieużywanych bloków, automatyczna zmiana taktowania, zmiana napięcia zasilającego w zależności od taktowania itp.). Dzięki temu są wydajne laptopy trzymające po 10-15h normalnej pracy na baterii, a nie 3-6h.

  3. drobne usprawnienia w istniejącej architekturze zwiększające nieco IPC, czyli więcej mocy z jednego taktu - zwiększenie przepustowości różnych elementów (np. przesyłanie całych linii cache między poszczególnymi cache'ami, a nie po połowie, więcej linii QPI), dołożenie więcej portów, dołożenie więcej jednostek wykonawczych (np. dodatkowa jednostka przewidywania skoków, dodatkowe potoki load/store w Haswellu).

Nie dodają więcej rdzeni do samego CPU prawdopodobnie (mogę się mylić - po prostu moja opinia) dlatego, że wiele programów, w tym gier, nie umie wykorzystać porządnie nawet 4 rdzeni z HT; a nawet jeśli je wykorzystują, to zwykle wąskim gardłem jest dostęp do współdzielonej pamięci. Po prostu model programowania oparty na współdzielonej, płaskiej pamięci, gdzie każdy może sobie wskaźnikiem latać po wszystkim taki jaki mamy w C, C++ i wielu innych językach kompletnie nie przystaje do tego jak działa sprzęt.

Nawet w serwerach nie stosuje się procków 24 rdzeniowych, tylko wkłada się np. 4 procki 6-rdzeniowe na jedną płytę, gdzie każdy procek ma swój własny kontroler pamięci i własną pamięć, spięte przez QPI. Oczywiście dostęp do pamięci innego procesora kosztuje niemało. Przy czym dziwi mnie to, że od wielu , wielu lat znane jest, że współdzielona pamięć się nie skaluje, a mimo to programiści nadal piszą programy gdzie współdzielą jedną globalną stertę między wątkami, które walczą o dostęp do wspólnych obiektów chronionych blokadami. Za wyjątkiem oczywiście tych szczęściarzy, którzy piszą programy na GPU.

Co ciekawe, niewiele się też zmieniło w kwestii wielkości cache (mój 4 letni laptop ma cache 256 kB/1 MB/6 MB, a nowe stacje robocze w ofercie mają... tyle samo), jeśli nie liczyć cache L4 eDRAM w najmocniejszych prockach Broadwell/Skylake.

0

Po prostu model programowania oparty na współdzielonej, płaskiej pamięci, gdzie każdy może sobie wskaźnikiem latać po wszystkim taki jaki mamy w C, C++ i wielu innych językach

C nie narzuca ani że pamięć musi być płaska, ani współdzielona, ani nie pozwala „latać wskaźnikiem po wszystkim”.

Za to architektura x64 wręcz wymusza płaski model pamięci, ze względu na brak segmentacji. (podziękować AMD)

Nie rozumiem więc jak to się ma do „nie przystaje do tego jak działa sprzęt”.

0

C nie narzuca ani że pamięć musi być płaska, ani współdzielona, ani nie pozwala „latać wskaźnikiem po wszystkim”.

Skoro mogę zaalokować kawałek pamięci malloc i przekazać wskaźnik w dowolne miejsce programu np. innego wątku i ten wskaźnik musi być wszędzie ważny aż do wywołania delete, to cóż to jest jak nie płaska pamięć? I dowolny wątek ma dostęp do dowolnego miejsca? Zwykle wszystkie programy mają też jedną globalną stertę, więc nawet nie mam kontroli jaki wskaźnik dostanę od malloc.

A pod spodem procesor się męczy, żeby sprostać wykonaniu programów, które latają wskaźnikami po całej pamięci (przydzielonej programowi). Procesory świetnie udają, że pamięć jest jednorodna i można ją traktować jako jedną wielką tablicę bajtów, wychodząc na przeciw wymaganiom programistów, którzy mają głęboko zakorzeniony ten model programowania. Jednak pod spodem pamięć nie jest jednorodna i serio jest niezły kawał maszynerii w samym CPU i okolicach, który ma udawać taki "wygodny" model pamięci. Płaci się za to m.in. brakiem skalowalności i nieprzewidywalnością wydajności.

Nie rozumiem więc jak to się ma do „nie przystaje do tego jak działa sprzęt”.

Jakby przystawał, to nie trzeba by tworzyć osobnych języków do programowania na GPU, tylko wszyscy by używali C. Ba, domyślam się, że można by sobie wziąć program napisany w C i skompilować na GPU. A jakoś dziwnym trafem tak nie jest. Z kolei procesory nadal są rozwijane pod model programowania z C / C++ / Javy / .NET itp. i nadal marnują masę zasobów na udawanie przed kompilatorem / programistą, że są takim "mocnym jednordzeniowcem" na wzór procków z lat 80-tych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1