Plik architektura von Neumanna Jest to projekt teoretyczny, dzięki któremu komputer może mieć program przechowywany wewnętrznie, służący jako podstawa dla prawie wszystkich komputerów, które są obecnie produkowane.
Maszyna von Neumanna składa się z jednostki centralnej, która zawiera jednostkę logiki arytmetycznej i jednostkę sterującą, a także pamięć główną, pamięć dodatkową i urządzenia wejścia / wyjścia..
Ta architektura zakłada, że każde obliczenie wyodrębnia dane z pamięci, przetwarza je, a następnie wysyła z powrotem do pamięci..
W architekturze von Neumanna ta sama pamięć i ta sama magistrala są używane do przechowywania zarówno danych, jak i instrukcji wykonujących program.
Indeks artykułów
Ponieważ nie można jednocześnie uzyskać dostępu do danych i pamięci programu, architektura von Neumanna jest podatna na wąskie gardła i osłabienie wydajności komputera. Jest to tzw. Wąskie gardło von Neumanna, które wpływa na moc, wydajność i koszt..
Jedna z wprowadzonych zmian polegała na ponownym rozważeniu ilości danych, które faktycznie musiały zostać przesłane do pamięci, oraz ilości danych, które można przechowywać lokalnie..
W ten sposób, zamiast wysyłać wszystko do pamięci, wiele pamięci podręcznych i pamięci podręcznych proxy może zmniejszyć przepływ danych z układów procesora do różnych urządzeń..
W 1945 roku, po drugiej wojnie światowej, dwóch naukowców samodzielnie zajęło się budowaniem bardziej plastycznego komputera. Jednym z nich był matematyk Alan Turing, a drugim równie utalentowany naukowiec John Von Neumann.
Brytyjski Alan Turing był zaangażowany w złamanie kodu Enigmy w Bletchley Park przy użyciu komputera „Colossus”. Z drugiej strony Amerykanin John Von Neumann pracował nad Manhattan Project, aby zbudować pierwszą bombę atomową, co wymagało wielu ręcznych obliczeń..
Do tego czasu komputery z czasów wojny były mniej więcej „programowane” przez ponowne podłączenie całej maszyny w celu wykonania innego zadania. Na przykład pierwszy komputer o nazwie ENIAC potrzebował trzech tygodni, aby ponownie połączyć się i wykonać inne obliczenia..
Nowa koncepcja polegała na tym, że w pamięci musiały być przechowywane nie tylko dane, ale także program, który te dane przetwarzał, powinien znajdować się w tej samej pamięci..
Ta wewnętrznie przechowywana architektura programu jest powszechnie znana jako architektura „Von Neumanna”..
Ten nowatorski pomysł oznaczał, że komputer o takiej architekturze będzie znacznie łatwiejszy do przeprogramowania. W efekcie sam program byłby traktowany tak samo jak dane.
Głównym fundamentem modelu Von Neumanna jest myśl, że program jest przechowywany wewnętrznie w maszynie. Jednostka pamięci zawiera dane, a także kod programu. Projekt architektury składa się z:
To obwód cyfrowy jest odpowiedzialny za wykonywanie instrukcji programu. Nazywa się to również procesorem. CPU zawiera jednostkę ALU, jednostkę sterującą i zestaw rejestrów.
Ta część architektury zajmuje się tylko wykonywaniem operacji arytmetycznych i logicznych na danych..
Dostępne będą zwykłe obliczenia dodawania, mnożenia, dzielenia i odejmowania, ale dostępne będą również porównania danych, takie jak „większe niż”, „mniejsze niż”, „równe”.
Steruje działaniem ALU komputera, pamięci i urządzeń wejścia / wyjścia, instruując je, jak postępować zgodnie z instrukcjami programu, który właśnie odczytałeś z pamięci.
Jednostka sterująca będzie zarządzać procesem przenoszenia danych i programów do iz pamięci. Zajmie się również wykonywaniem instrukcji programu, pojedynczo lub sekwencyjnie. Obejmuje to pomysł rejestru do przechowywania wartości pośrednich.
Są to szybkie obszary pamięci w procesorze. Wszystkie dane muszą być przechowywane w rejestrze, zanim będą mogły być przetwarzane.
Rejestr adresów pamięci zawiera lokalizację danych, do których można uzyskać dostęp. Rejestr danych pamięci zawiera dane, które są przesyłane do pamięci.
Komputer będzie miał pamięć, która może przechowywać dane, a także program przetwarzający te dane. We współczesnych komputerach ta pamięć jest pamięcią RAM lub pamięcią główną. Ta pamięć jest szybka i dostępna bezpośrednio z procesora.
RAM jest podzielony na komórki. Każda komórka składa się z adresu i jego zawartości. Adres jednoznacznie identyfikuje każdą lokalizację w pamięci.
Taka architektura pozwala uchwycić ideę, że człowiek musi wchodzić w interakcję z maszyną za pośrednictwem urządzeń wejścia-wyjścia.
Informacje muszą przepływać między różnymi częściami komputera. W komputerze o architekturze von Neumanna informacje są przesyłane z jednego urządzenia do drugiego za pośrednictwem magistrali, łącząc wszystkie jednostki CPU z pamięcią główną..
Magistrala adresowa przenosi adresy danych, ale nie danych, między procesorem a pamięcią.
Magistrala danych przenosi dane między procesorem, pamięcią i urządzeniami wejścia-wyjścia.
Istotną zasadą architektury von Neumanna jest to, że zarówno dane, jak i instrukcje są przechowywane w pamięci i traktowane tak samo, co oznacza, że instrukcje i dane są kierunkowe..
Działa w czterech prostych krokach: wyszukiwanie, dekodowanie, wykonywanie, przechowywanie, zwane „cyklem maszyny”.
Instrukcje są pobierane przez procesor z pamięci. Następnie CPU dekoduje i wykonuje te instrukcje. Wynik jest ponownie zapisywany w pamięci po zakończeniu cyklu wykonywania instrukcji..
Na tym etapie instrukcje są pobierane z pamięci RAM i umieszczane w pamięci podręcznej, aby jednostka sterująca miała do nich dostęp..
Jednostka sterująca dekoduje instrukcje w taki sposób, aby logiczna jednostka arytmetyczna mogła je zrozumieć, a następnie przesyła je do logicznej jednostki arytmetycznej.
Jednostka arytmetyczno-logiczna wykonuje instrukcje i odsyła wynik z powrotem do pamięci podręcznej.
Gdy licznik programu wskaże zatrzymanie, wynik końcowy jest ładowany do pamięci głównej.
Jeśli maszyna von Neumanna chce wykonać operację na danych w pamięci, musi zostać przesłana magistralą do CPU. Po wykonaniu obliczeń musisz przenieść wynik do pamięci przez tę samą magistralę.
Wąskie gardło von Neumanna występuje, gdy dane wprowadzane lub usuwane z pamięci muszą upłynąć, gdy bieżąca operacja pamięci zostanie zakończona..
Oznacza to, że jeśli procesor właśnie zakończył obliczenie i jest gotowy do wykonania następnego, musi zapisać w pamięci gotowe obliczenia, które zajmują magistralę, zanim będzie mógł pobrać nowe dane z pamięci, która również korzysta z tych samych autobus..
To wąskie gardło z czasem się pogarszało, ponieważ mikroprocesory zwiększyły swoją prędkość, az drugiej strony pamięć nie rozwijała się tak szybko.
- Jednostka sterująca w ten sam sposób pobiera dane i instrukcje z pamięci. Dlatego konstrukcja i rozwój jednostki sterującej są uproszczone, tańsze i szybsze..
- Dane z urządzeń wejścia / wyjścia i pamięci głównej są pobierane w ten sam sposób.
- Organizacja pamięci jest wykonywana przez programistów, co pozwala na wykorzystanie pełnej pojemności pamięci.
- Zarządzanie pojedynczym blokiem pamięci jest prostsze i łatwiejsze do osiągnięcia.
- Konstrukcja chipa mikrokontrolera jest znacznie prostsza, ponieważ będzie dostępny dostęp tylko do jednej pamięci. Najważniejszą rzeczą w mikrokontrolerze jest dostęp do pamięci RAM, aw architekturze von Neumanna można to wykorzystać zarówno do przechowywania danych, jak i do przechowywania instrukcji programu..
Główną zaletą posiadania tej samej pamięci dla programów i danych jest to, że programy mogą być przetwarzane tak, jakby były danymi. Innymi słowy, możesz pisać programy, których dane są innymi programami.
Program, którego dane to inny program, to nic innego jak system operacyjny. W rzeczywistości, gdyby programy i dane nie były dozwolone w tej samej przestrzeni pamięci, jak ma to miejsce w przypadku architektury von Neumanna, systemy operacyjne nigdy nie zostałyby opracowane.
Chociaż zalety znacznie przewyższają wady, problem polega na tym, że jest tylko jedna magistrala łącząca pamięć z procesorem, więc w danym momencie można pobrać tylko jedną instrukcję lub jedną pozycję danych.
Oznacza to, że procesor może musieć czekać dłużej na nadejście danych lub instrukcji. Jest to znane jako wąskie gardło von Neumanna. Ponieważ procesor jest znacznie szybszy niż magistrala danych, oznacza to, że często pozostaje bezczynny.
- Ze względu na sekwencyjne przetwarzanie instrukcji równoległa realizacja programu jest niedozwolona.
- Dzięki współdzieleniu pamięci istnieje ryzyko, że jedna instrukcja zostanie nadpisana na innej z powodu błędu w programie, powodując awarię systemu..
- Niektóre wadliwe programy nie są w stanie zwolnić pamięci po zakończeniu ich pracy, co może spowodować zawieszenie komputera z powodu niewystarczającej ilości pamięci.
- Dane i instrukcje współdzielą tę samą magistralę danych, chociaż prędkość, z jaką trzeba je pobierać, jest często bardzo różna..
Jeszcze bez komentarzy