Ten artykuł pokazuje, że DDR4 SDRAM ma około 8x większą przepustowość DDR1 SDRAM. Ale czas od ustawienia adresu kolumny do momentu dostępności danych zmniejszył się tylko o 10% (13,5ns). Szybkie wyszukiwanie pokazuje, że czas dostępu do najszybszej asynchronizacji. SRAM (18 lat) ma 7ns. Dlaczego czas dostępu do pamięci SDRAM skrócił się tak wolno? Czy przyczyna jest ekonomiczna, technologiczna czy fundamentalna?
22
Odpowiedzi:
Jest tak, ponieważ łatwiej i taniej jest zwiększyć przepustowość pamięci DRAM niż zmniejszyć opóźnienie. Aby uzyskać dane z otwartego wiersza pamięci RAM, niezbędna jest nietrywialna ilość pracy.
Adres kolumny musi zostać zdekodowany, multipleksery wybierają, które linie dostępu muszą być sterowane, a dane muszą przejść przez układ do buforów wyjściowych. Zajmuje to trochę czasu, zwłaszcza biorąc pod uwagę, że układy SDRAM są wytwarzane w procesie dostosowanym do wysokich gęstości pamięci RAM i niezbyt wysokich prędkości logicznych. Aby zwiększyć przepustowość, powiedzmy za pomocą DDR (1,2,3 lub 4), większość logiki może być poszerzona lub potokowa i może działać z taką samą prędkością jak w poprzedniej generacji. Jedyne, co musi być szybsze, to sterownik I / O dla pinów DDR.
W przeciwieństwie do tego, aby zmniejszyć opóźnienie, należy przyspieszyć całą operację, co jest znacznie trudniejsze. Najprawdopodobniej część pamięci RAM musiałaby być wykonana w procesie podobnym do tego w przypadku szybkich procesorów, znacznie zwiększając koszty (proces o wysokiej prędkości jest droższy, a każdy procesor musi przejść 2 różne procesy).
Jeśli porównasz pamięci podręczne procesora z pamięcią RAM i dyskiem twardym / SSD, istnieje odwrotna zależność między pamięcią dużą a szybką pamięcią. L1 $ jest bardzo szybki, ale może pomieścić tylko od 32 do 256 kB danych. Jest tak szybki, ponieważ jest mały:
W miarę przesuwania się w górę hierarchii każda opcja przechowywania staje się większa, ale także większa i oddalona od urządzenia, co oznacza, że urządzenie musi działać wolniej.
źródło
C_Elegans stanowi jedną część odpowiedzi - trudno jest zmniejszyć ogólne opóźnienie cyklu pamięci.
Inną częścią odpowiedzi jest to, że we współczesnych hierarchicznych systemach pamięci (wiele poziomów buforowania) przepustowość pamięci ma znacznie większy wpływ na ogólną wydajność systemu niż opóźnienie pamięci , i dlatego na tym skupiły się wszystkie najnowsze wysiłki rozwojowe.
Dotyczy to zarówno komputerów ogólnych, w których wiele procesów / wątków działa równolegle, jak również systemów wbudowanych. Na przykład w pracy nad filmem HD nie dbam o opóźnienia rzędu milisekund, ale potrzebuję wielu gigabajtów na sekundę przepustowości.
źródło
Nie mam zbyt wielu spostrzeżeń, ale spodziewam się, że to wszystko.
Gospodarczy
W przypadku większości komputerów / telefonów prędkość jest większa niż wystarczająca. Aby przyspieszyć przechowywanie danych, opracowano dysk SSD. Ludzie mogą korzystać z wideo / muzyki i innych zadań wymagających dużej prędkości w (prawie) czasie rzeczywistym. Dlatego nie ma potrzeby zwiększania prędkości (z wyjątkiem określonych zastosowań, takich jak prognozowanie pogody itp.).
Innym powodem jest przetwarzanie bardzo dużej prędkości pamięci RAM, potrzebne są szybkie procesory. A to wiąże się z dużym zużyciem energii. Ponieważ tendencja do używania ich w urządzeniach bateryjnych (takich jak telefony komórkowe), uniemożliwia użycie bardzo szybkiej pamięci RAM (i procesorów), a tym samym sprawia, że ich ekonomicznie nie jest użyteczne.
Techniczny
Wraz ze zmniejszającym się rozmiarem układów scalonych / układów scalonych (teraz poziom nm) prędkość rośnie, ale nie znacząco. Jest częściej wykorzystywany do zwiększania ilości pamięci RAM, która jest bardziej potrzebna (również z przyczyn ekonomicznych).
Fundamentalny
Jako przykład (oba są obwodami): najłatwiejszym sposobem na uzyskanie większej prędkości (wykorzystywanej przez SSD) jest po prostu rozłożenie obciążenia na wiele komponentów, w ten sposób sumuje się również szybkość „przetwarzania”. Porównaj, używając 8 pamięci USB jednocześnie odczytując i łącząc wyniki, zamiast odczytywać dane z 1 pamięci USB po sobie (zajmuje to 8 razy dłużej).
źródło