Czytałem o czasie pobierania procesora , gdzie stwierdziłem, że procesory potrzebują dużo mniej czasu na dostęp do danych z pamięci RAM w porównaniu z dostępem do dysku twardego, i że pamięć RAM jest dostępna do przechowywania informacji i danych wykonującego programu.
Potem zastanawiałem się, co się stanie, gdy użyjemy tylko dysku twardego, ale bez pamięci RAM?
hard-drive
memory
cpu
akash ujjwal
źródło
źródło
Odpowiedzi:
W pewnym momencie pojawia się pytanie, co nawet liczy się jako „RAM”. Istnieje wiele procesorów i mikrokontrolerów, które mają mnóstwo wbudowanej pamięci do uruchamiania małych systemów operacyjnych bez oddzielnych układów RAM. W rzeczywistości jest to stosunkowo powszechne w świecie systemów wbudowanych. Tak więc, jeśli chodzi ci tylko o to, że nie masz żadnych oddzielnych układów RAM, możesz to zrobić z wieloma obecnymi układami, zwłaszcza tymi zaprojektowanymi dla świata osadzonego. Zrobiłem to sam w pracy. Ponieważ jednak jedyną prawdziwą różnicą między adresowalną pamięcią wewnętrzną i oddzielnymi układami pamięci RAM jest tylko lokalizacja (i, oczywiście, opóźnienie), całkowicie rozsądne jest uznanie pamięci na chipie za pamięć RAM. Jeśli liczysz to jako pamięć RAM, liczba obecnych,
Jeśli masz na myśli normalny komputer, nie możesz go uruchomić bez podłączonych oddzielnych pamięci RAM, ale tylko dlatego, że BIOS nie jest zaprojektowany, aby uruchamiać się bez zainstalowanej pamięci RAM (to z kolei dlatego, że wszystkie nowoczesne systemy operacyjne na PC wymagają pamięci RAM do uruchomienia, zwłaszcza, że maszyny x86 zazwyczaj nie pozwalają bezpośrednio adresować pamięci na chipie; jest używana wyłącznie jako pamięć podręczna).
Wreszcie, jak powiedział Zeiss, nie ma teoretycznego powodu, dla którego nie można zaprojektować komputera do pracy bez pamięci RAM, oprócz kilku rejestrów. Pamięć RAM istnieje wyłącznie dlatego, że jest tańsza niż pamięć na chipie i znacznie szybsza niż dyski. Współczesne komputery mają hierarchię pamięci, od dużych, ale powolnych po bardzo szybkie, ale małe. Normalna hierarchia wygląda mniej więcej tak:
Zauważ, że cały powód hierarchii pamięci to po prostu ekonomia. Nie ma teoretycznego powodu (przynajmniej w dziedzinie informatyki), dlaczego nie mogliśmy mieć terabajtu nieulotnych rejestrów na matrycy procesora. Problem polega na tym, że jego budowa byłaby niesamowicie trudna i droga. Posiadanie hierarchii, od niewielkich ilości bardzo drogiej pamięci po duże ilości taniej pamięci, pozwala nam utrzymać duże prędkości przy rozsądnych kosztach.
źródło
Byłoby teoretycznie możliwe zaprojektowanie komputera do pracy z bardzo niewiele (o wartości kilku rejestry) lub brak pamięci RAM (spojrzeć na definicję maszynie Turinga - który w rzeczywistości może być skonstruowany w odpowiednio dużej / szybkiego wdrożenia Conwaya Życia symulacja).
Powodem, dla którego wszystkie komputery w świecie rzeczywistym korzystają z pamięci RAM, jest po pierwsze: pamięć rdzeniowa (prototyp pamięci RAM, tylko częściowo nieulotna) znacznie wyprzedza pamięć masową, taką jak bęben magnetyczny lub dysk (chociaż pojawiła się po kartach perforowanych i taśmie papierowej - pierwsza z nich pochodzi w prymitywnej formie z 1801 r. (tak, początek XIX wieku; krosna żakardowe używały kart dziurkowanych, aby automatycznie wyplatać wzór koloru o dowolnej złożoności dziesięcioleci, zanim nawet silniki różnicowe Babbage'a lub tabulatory Holleritha); po drugie , Pamięć RAM (podobnie jak pamięć rdzenia), ponieważ jest elektroniczna, jest znacznie szybsza niż jakiekolwiek urządzenie, które polega na fizycznym ruchu nośnika pamięci w celu przedstawienia danych mechanizmowi odczytu / zapisu.
System lub złożoność podobna do współczesnego komputera z systemem Windows lub Linux działającego bez pamięci RAM (podobnie jak w prawdziwej maszynie Turinga) zajęłoby kilka dni, a aktualizacja godzin graficznego interfejsu graficznego przy współczesnych rozdzielczościach zajęłaby kilka godzin. Nawet tekstowy system operacyjny porównywalny do CP / M lub wczesnych wersji DOS zajmie bardzo dużo czasu, zanim dotrze do początkowego wiersza polecenia.
źródło
Możesz, ponieważ kiedy uruchamia się procesor x86, pamięć podręczna L2 jest początkowo pamięcią SRAM, zanim zostanie użyta jako pamięć podręczna. Możesz więc pisać własne biosy, aby nie inicjalizować pamięci RAM i używać tylko niewielkiej ilości pamięci SRAM w procesorze jako pamięci RAM, a nie pamięci podręcznej L2 / L3.
Wystarczy przeczytać wytyczne BIOS-u od producentów procesorów.
źródło
WSZYSTKIE nowoczesne, standardowe, uniwersalne procesory zasadniczo działają w następujący sposób:
Co może „żyć” w przestrzeni adresowej?
Uwaga: „dysku twardego” nie ma na tej liście. Dysk twardy nie jest bezpośrednio podłączony do procesora. Dane przychodzą i wychodzą z dysku twardego za pośrednictwem urządzenia we / wy (adaptera hosta SATA) podłączonego do procesora.
Urządzenie I / O używa DMA do ładowania / zapisywania danych na / z dysku twardego. Oznacza to, że urządzenie we / wy bezpośrednio odczytuje / zapisuje samą pamięć RAM - bez interwencji procesora - a także zależy od obecności pamięci RAM. Ale jeśli dane nie zostały załadowane do pamięci RAM przez urządzenie we / wy, procesor nie ma szans na ich zobaczenie.
Dlatego nie możesz mieć instrukcji pobierania CPU bezpośrednio z dysku twardego.
To, co dzieje się podczas błędu strony, to:
Tak więc procesor potrzebujący pobrać dane z dysku, ponieważ pamięć jest zamieniona, nie jest inaczej.
źródło
+1
za bycie tutaj jedyną odpowiedzią na prawdziwy problem, nie tylko co się stanie , ale także dlaczego .Komputer osobisty wymaga pamięci RAM do uruchomienia. Każda aplikacja uruchomiona z dysku twardego zostanie najpierw skopiowana do pamięci RAM przed uruchomieniem.
Więc jeśli nie masz pamięci RAM w komputerze, komputer się nie uruchomi, prawdopodobnie wyda kilka sygnałów ostrzegawczych, aby poinformować, że nie ma zainstalowanej pamięci RAM.
źródło
Komputer się nie uruchomi. Pamięć RAM jest istotną częścią udanego postu z płyty głównej. Gdy pamięć RAM nie jest obecna lub jest uszkodzona, wiele płyt głównych zwykle podaje kody dźwiękowe wskazujące, gdzie szukać rozwiązania problemu.
źródło
W rzeczywistości można w co najmniej dwóch przypadkach uruchomić komputer bez pamięci RAM
Pierwsze stare mechaniczne „komputery” (konstrukcja Konrada Zuse'a i komputer Charlesa Babbage'a były urządzeniami mechanicznymi bez pamięci RAM, nadal są nazywane komputerami)
Nowoczesny komputer bez pamięci RAM i tylko procesor (układ) z rejestrami . W większości przypadków masz SRAM (pamięć podręczną) na procesorze, ale najszybsza pamięć komputera nazywa się rejestrami znajdującymi się na chipie, a technicznie rejestry na chipie nie są RAM.
źródło
Po prostu się nie uruchomi. Płyta główna najprawdopodobniej wyda dźwięk w nietypowy sposób i wyłączy się. Jeśli nie masz wystarczającej ilości pamięci RAM, nawet 128 MB dla systemu Windows XP, program odmówi instalacji (faktycznie próbował tego na starym komputerze; jeden z układów nie został poprawnie umieszczony). Tak więc przy obecnych ustawieniach jest to niemożliwe. Nawet jeśli można wyłączyć sprawdzanie płyty głównej, procesor nie może odczytać danych bezpośrednio z dysku twardego i potrzebuje pamięci RAM do każdej operacji.
Sądzę, że teoretycznie możliwe byłoby zbudowanie maszyny, która zużywa niewiele pamięci RAM lub nie ma jej wcale, ale byłaby nieefektywna.
źródło