Architektura von Neumanna - przechowywanie programu w pamięcie

0

Może mi ktoś wytłumaczyć pewną rzecz bo nie rozumiem tego. Ucze się historii informatyki i poznaje komputery z lat 30 i 40 chociażby. W jednym z artykułów na temat pewnego komputera znalazłem takie stwierdzenie:

W rzeczywistości jedynymi nie zaimplementowanymi własnościami był odczyt i przechowywanie programu w pamięci wewnętrznej. Stało się tak dlatego, iż w owym czasie budowanie dużych pamięci stanowiło zadanie bardzo kosztowne. Obliczenie zwykłego wyznacznika (trzeciego stopnia) wymaga około 50 instrukcji i 15 słów pamięci na zmienne i wyniki pośrednie. Ten prosty przykład pokazuje, iż umieszczenie programu w pamięci wewnętrznej uniemożliwiłoby swobodne programowanie komputera

Ten komputer o którym mowa nie zawierał w sobie "pełnej" architektury von Neumanna. Wiadomo. Komputery z tamtych lat były programowane za pomocą kart perforowanych. A architektura von Neumanna zakłada przechowywanie programu w pamięci. No przecież współczesne komputery zawierają tą pamięć z programem, a można je dowolnie programować. Nie przecież z tym żadnego kłopotu.

1

Gdzieś te instrukcje musisz przechowywać. Jak dasz je do pamięci, to musisz tę pamięć fizycznie mieć. Nie wiem ile to "słowo" w tej architekturze, ale 50 instrukcji zajęłoby (powiedzmy) 50 słów, więc potrzebujemy aż 65 jednostek pamięci. Znacznie więcej niż 15, a skoro program i tak jest read-only, to po co tyle RAM-u? :)

0

No dobra w porządku. A tak zapytam jeszcze. Co nam daje(z programistycznego punktu widzenia) to przechowywanie programu w pamięci co jest wyraźnie podkreślane w architekturze von Nuemanna?

1

Przypomniałeś mi coś ze studiów, jak mieliśmy zadanie, w którym działający program sam siebie edytował, żeby zmienić swoje zachowanie. I zgadza się to z tym https://en.wikipedia.org/wiki/Von_Neumann_architecture - sekcja Capabilities.

0

Ok. Dziękuje wszystkim za pomoc.

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