GCSE Von Neumann Architecture (14-.16 lat)
- Edytowalna prezentacja lekcji w programie PowerPoint
- Edytowalne konspekty
- Słowniczek obejmujący kluczowe pojęcia modułu
- Mapy myśli do wizualizacji kluczowych pojęć
- Drukowalne flashcards pomagające uczniom w aktywnym przypominaniu i powtarzaniu opartym na pewności siebie
- Preplikacje do wydrukowania
- Quiz z dołączonym kluczem odpowiedzi, sprawdzający wiedzę i zrozumienie modułu
A-Poziom Współczesne procesory (16-18 lat)
- Edytowalna prezentacja lekcji PowerPoint
- Edytowalne konspekty
- Słowniczek, który obejmuje kluczowe terminy modułu
- Mapy myśli do wizualizacji kluczowych pojęć
- Drukowalne flashcards, aby pomóc uczniom zaangażować się w aktywne przypominanie i powtarzanie oparte na pewności siebie
- Kartki do wydrukowania, aby pomóc uczniom w aktywnym przypominaniu sobie i
- Quiz z dołączonym kluczem odpowiedzi, aby sprawdzić wiedzę i zrozumienie modułu
Pojęcie Architektura komputera odnosi się do zestawu zasad określających, w jaki sposób oprogramowanie i sprzęt komputerowy są połączone razem i jak współdziałają, aby komputer był funkcjonalny, Ponadto architektura komputera określa również, jakie technologie komputer jest w stanie obsługiwać.
Architektura komputera jest specyfikacją, która opisuje, jak oprogramowanie i sprzęt współdziałają ze sobą w celu wytworzenia funkcjonującej platformy.
Gdy osoba myśli o słowie „architektura”, ludzki umysł prawdopodobnie pomyśli o montażu budynków lub domów, ponadto, z tą samą zasadą w umyśle, architektura komputerowa obejmuje budowę systemu komputerowego wewnętrznie i zewnętrznie.
Istnieją trzy główne kategorie w architekturze komputerowej:
- Projekt systemu:
- Projekt systemu to części sprzętowe, które obejmują wieloprocesory, kontrolery pamięci, procesor, procesory danych i bezpośredni dostęp do pamięci. Projekt systemu może być uważany za rzeczywisty system komputerowy.
- Architektura zestawu instrukcji:
- Obraca się ona wokół procesora. Obejmuje możliwości i funkcje procesora, ponadto obejmuje formaty danych procesora, język programowania i typy rejestrów procesora oraz instrukcje, które są używane przez programistów komputerowych.
- Procesor jest częścią komputera, która sprawia, że program działa, czy był to system operacyjny lub aplikacja, taka jak Photoshop.
- Mikroarchitektura:
- Mikroarchitektura w systemie będzie definiować element pamięci masowej / ścieżki danych i jak zostaną one zaimplementowane do architektury zestawu instrukcji, mikroarchitektura jest również odpowiedzialna za przetwarzanie danych.
Wszystko to będzie żelować razem w pewnej kolejności, aby system był funkcjonalny.
Co to jest Architektura von Neumanna?
W 1945 roku, John von Neumann, który był matematykiem w tym czasie, zagłębił się w badania, że komputer może mieć ustaloną prostą strukturę i nadal być w stanie wykonać każdy rodzaj obliczeń bez modyfikacji sprzętu. To jest pod warunkiem, że komputer jest odpowiednio zaprogramowany z odpowiednimi instrukcjami, w których jest w stanie je wykonać.
Pierwszym postępem Von Neumann’a było określane jako „warunkowe przeniesienie sterowania”, które pozwoliło sekwencji programu być przerwane, a następnie ponownie zainicjowane w dowolnym punkcie, ponadto ten postęp pozwolił dane być przechowywane z instrukcjami w tej samej jednostce pamięci.
To było korzystne, ponieważ jeśli instrukcje były pożądane, mogą być arytmetycznie zmodyfikowane w ten sam sposób jak dane.
Architektura von Neumanna opisuje model projektowy dla komputera cyfrowego z zapisanym programem, który zawiera tylko jedną pojedynczą jednostkę przetwarzającą i jedną oddzielną strukturę pamięci, która będzie przechowywać zarówno instrukcje, jak i dane.
Architektura von Neumanna odnosi się do takiej, która przechowuje dane, jak również zaprogramowane instrukcje w pamięci RAM (Random Access Memory) odczytu-zapisu.
Charakterystyka architektury von Neumanna
Jak wspomniano powyżej, architektura von Neumanna opiera się na fakcie, że dane programu i dane instrukcji są przechowywane w tej samej jednostce pamięci. Można to również określić jako „koncepcję programu przechowywanego”.
Ta konstrukcja jest nadal wykorzystywana w komputerach produkowanych obecnie:
Centralna jednostka przetwarzająca (CPU):
- Centralna jednostka przetwarzająca (CPU):
- Centralna jednostka przetwarzająca (CPU) jest układem elektronicznym, który wykonuje instrukcje programu komputerowego.
- Procesor może być również określany jako mikroprocesor lub procesor.
Wewnątrz procesora znajduje się ALU, CU i rejestry, które są opisane bardziej szczegółowo poniżej:
Jednostka sterująca:
- Kontroluje działanie ALU, pamięci i wejścia/wyjścia, instruując je, jak mają reagować na instrukcje z programu, który właśnie odczytała i zinterpretowała z jednostki pamięci. Jednostka sterująca kieruje działaniami procesora, wykonując następujące zadania:
- Koordynowanie i kontrolowanie działań procesora
- Zarządzanie przepływem danych między innymi komponentami a procesorem
- Potwierdzanie i przyjmowanie następnej instrukcji
- Dekodowanie instrukcji
- Zapisywanie danych wynikowych z powrotem do jednostki pamięci
Jednostka arytmetyczno-logiczna (ALU):
- Umożliwia przeprowadzanie operacji logicznych i arytmetycznych, takich jak dodawanie i odejmowanie.
- (Operatory logiczne to: AND, OR, NOT, XOR)
Jednostka pamięci:
- Składa się z pamięci RAM, która jest podzielona na partycje i składa się z adresu i jego zawartości, które są w postaci binarnej.
- RAM (Random Access Memory) jest szybkim rodzajem pamięci w przeciwieństwie do dysków twardych, jest również bezpośrednio dostępna przez procesor.
- Istnienie pamięci RAM w procesorze, pozwala mu działać o wiele szybciej, a co za tym idzie bardziej wydajnie.
Registry:
- Mały blok w procesorze, który składa się z szybkich komórek pamięci, które przechowują dane przed ich przetworzeniem, wszystkie operacje logiczne, arytmetyczne i przesunięcia występują tutaj.
- Rejestry składają się z 5 elementów
- Licznik programu (PC): Przechowuje adres następnej instrukcji do wykonania
- Akumulator (AC): Obszar pamięci, w którym przechowywane są wyniki logiczne i arytmetyczne
- Rejestr adresu pamięci (MAR): Przechowuje adres lokalizacji danych, które mają być odczytane z lub zapisane do
- Rejestr danych pamięci (MDR): Tymczasowa lokalizacja pamięci, która przechowuje dane, które zostały odczytane, lub dane, które muszą jeszcze zostać zapisane
- Rejestr Bieżącej Instrukcji (CIR): Obszar, w którym wykonywana jest bieżąca instrukcja. Operacja jest podzielona na operand i opcode.
- Operand: Zawiera dane lub adres danych (gdzie zostanie wykonana operacja)
- Opcode: Określa typ instrukcji do wykonania
Busy:
- Są one zestawem równoległych przewodów, które łączą komponenty (dwa lub więcej) wewnątrz procesora. W ramach CPU istnieją trzy rodzaje magistral, a wszystkie one są określane jako magistrala systemowa. Rodzaje magistral to: Szyna danych, Szyna sterująca i Szyna adresowa.
- Magistrala danych: Magistrala ta jest określana jako dwukierunkowa, co oznacza, że „bity” mogą być przenoszone w obie strony. Ta magistrala jest używana do transportu danych i instrukcji między procesorem, jednostką pamięci i wejściem/wyjściem.
- Magistrala adresowa: Przekazuje adres pamięci określający miejsce, z którego należy wysłać lub pobrać odpowiednie dane. (Magistrala adresowa nie przenosi danych, tylko adres)
- Magistrala sterująca: Jest to również dwukierunkowa magistrala używana do przekazywania „sygnałów sterujących”/poleceń z procesora (oraz sygnałów stanu z innych komponentów) w celu kontrolowania i koordynowania wszystkich działań w obrębie komputera.
Wejścia/wyjścia:
- Informacje przekazywane od użytkownika/informacje otrzymywane przez użytkownika.
Zalety i wady architektury von Neumanna
Zalety Wady Jednostka sterująca pobiera instrukcję i dane w ten sam sposób z jednej jednostki pamięci. Upraszcza to rozwój i projektowanie jednostki sterującej Paralelne wykonywanie programów nie jest dozwolone ze względu na szeregowe przetwarzanie instrukcji Powyższa zaleta oznaczałaby również, że dane z pamięci i z urządzeń są dostępne w ten sam sposób. Zwiększa to wydajność Tylko jedna „magistrala” może być dostępna w tym samym czasie. Powoduje to, że procesor jest bezczynny (ponieważ jest szybszy niż magistrala danych) Jest to uważane za wąskie gardło von Neumanna Korzystną cechą jest to, że programiści mają kontrolę nad organizacją pamięci Ale zarówno instrukcje, jak i dane przechowywane w tym samym miejscu mogą być postrzegane jako zaleta jako całość. Może to jednak powodować przepisywanie nad nią, co skutkuje utratą danych, z powodu błędu w programie Jeśli wadliwy program nie zwolni pamięci, gdy jej nie potrzebuje (lub z nią skończy), może to spowodować awarię komputera, w wyniku niewystarczającej ilości dostępnej pamięci Wąskie gardło von Neumanna
Jako, że procesory i komputery przez lata miały wzrost szybkości przetwarzania, a ulepszenia pamięci zwiększyły pojemność, a nie szybkość, spowodowało to powstanie terminu „wąskie gardło von Neumanna”. Dzieje się tak dlatego, że procesor spędza dużo czasu w stanie bezczynności (nie robiąc nic), czekając na dane, które mają być pobrane z pamięci. Bez względu na to, jak szybki jest procesor, to ostatecznie zależy od szybkości transferu, w rzeczywistości, jeśli procesor jest szybszy, to tylko oznacza, że będzie miał większy czas „bezczynności”.
Podejścia do pokonania tego wąskiego gardła obejmują:
- Buforowanie:
- Dane, które są łatwiej dostępne w pamięci RAM, a nie przechowywane w pamięci głównej. Typ danych przechowywanych w tym miejscu będzie typem danych, które są często używane.
- Prefetching:
- Transport niektórych danych do pamięci podręcznej przed ich zażądaniem. Przyspiesza to dostęp w przypadku żądania tych danych.
- Wielowątkowość:
- Zarządzanie wieloma żądaniami w tym samym czasie w oddzielnych wątkach.
- Nowe typy pamięci RAM:
- Takie jak DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
- Ten typ pamięci RAM aktywuje wyjście zarówno na opadającym, jak i rosnącym zboczu zegara systemowego, zamiast tylko na zboczu rosnącym.
- To może potencjalnie podwoić wydajność.
- RAMBUS:
- Podsystem łączący kontroler pamięci RAM, pamięć RAM oraz magistralę (ścieżkę) łączącą pamięć RAM z mikroprocesorem i urządzeniami w komputerze, które ją wykorzystują.
- Processing in Memory (PIM):
- PIM-y integrują procesor i pamięć w pojedynczym mikroukładzie.
Co to jest architektura harwardzka?
Nazwa architektury harwardzkiej pochodzi od nazwy komputera „Harvard Mark I” opartego na przekaźnikach, który był komputerem IBM na Uniwersytecie Harvarda.
Komputer przechowywał instrukcje na „taśmie dziurkowanej” (o szerokości 24 bitów), ponadto dane były przechowywane w licznikach elektromechanicznych. Procesor tych wczesnych systemów komputerowych zawierał całkowicie magazyn danych i nie zapewniał dostępu do magazynu instrukcji jako danych.
Architektura harwardzka jest typem architektury, która przechowuje dane i instrukcje oddzielnie, dzieląc w ten sposób jednostkę pamięci.
Procesor w systemie o architekturze harwardzkiej jest w stanie pobierać dane i instrukcje jednocześnie, dzięki architekturze posiadającej oddzielne magistrale do przesyłania danych i pobierania instrukcji.
Charakterystyka architektury harwardzkiej
Oba typy architektur zawierają te same komponenty, jednak główna różnica polega na tym, że w architekturze harwardzkiej pobieranie instrukcji i transfer danych mogą być wykonywane w tym samym czasie (jednocześnie) (ponieważ system posiada dwie magistrale, jedną dla transferu danych i jedną dla pobierania instrukcji).
Wady i zalety architektury harwardzkiej
Wady Wady Dzięki temu, że instrukcje i dane są przesyłane w różnych magistralach, oznacza to, że istnieje mniejsza szansa na uszkodzenie danych Pamięć dedykowana dla każdego (dane i instrukcje) musi być zrównoważona od producenta. Ponieważ jeśli jest wolna pamięć danych pamięci, nie może być używany do instrukcji i vice versa Instrukcje i dane mogą być dostępne w ten sam sposób Jednakże ta zaleta (w lewo) powoduje bardziej złożoną architekturę, ponieważ wymaga dwóch autobusów. Co oznacza, że produkcja zajmuje więcej czasu i czyni te systemy droższymi Architektura harwardzka oferuje wysoką wydajność, ponieważ ta architektura pozwala na jednoczesny przepływ danych i instrukcji. Są one przechowywane w oddzielnej pamięci i podróżują przez oddzielne magistrale Architektura ta jednak, pomimo wysokiej wydajności, jest bardzo złożona, zwłaszcza dla producentów płyt głównych do wdrożenia Większa jest przepustowość pamięci, która jest bardziej przewidywalna, dzięki architekturze posiadającej oddzielną pamięć dla instrukcji i danych Chociaż, jak wspomniano powyżej, aby osiągnąć przewagę po lewej stronie, architektura Harvard wymaga jednostki sterującej dla dwóch magistral. Co zwiększa złożoność i sprawia, że rozwój jest trudniejszy. Wszystkie z nich zwiększają cenę systemu Zmodyfikowana architektura harwardzka
Architektura von Neumanna vs. architektura harwardzka:
Architektura von Neumanna Architektura harwardzka Oparta na koncepcji komputera z zapisanym programem Oparta na modelu komputera opartego na przekaźniku Harvard Mark I Używa tego samego adresu pamięci fizycznej dla instrukcji i danych Używa oddzielnych adresów pamięci dla instrukcji i danych Procesory wymagają dwóch cykli zegara do wykonania instrukcji Procesor wymaga tylko jednego cyklu do wykonania instrukcji Architektura von Neumanna składa się z prostszej konstrukcji jednostki sterującej, co oznacza, że wymagany jest mniej skomplikowany rozwój. Oznacza to, że system będzie mniej kosztowny Architektura Harvarda składa się z dwóch magistral, co powoduje, że system jest bardziej skomplikowany. To zwiększa koszty opracowania, w wyniku czego system jest droższy Pobieranie instrukcji i transfer danych nie mogą być wykonywane w tym samym czasie Pobieranie instrukcji i transfer danych mogą być wykonywane w tym samym czasie Używane w laptopach, komputerach osobistych i stacjach roboczych Używane w przetwarzaniu sygnału i mikrokontrolerach Zmodyfikowana architektura harwardzka:
Czysta architektura harwardzka cierpi na wadę polegającą na tym, że musi być zapewniony mechanizm oddzielający ładunek od programu do wykonania do pamięci instrukcji, a tym samym pozostawiający wszelkie dane do operowania w pamięci danych.
Jednakże nowoczesne systemy wykorzystują obecnie technologię tylko do odczytu dla pamięci instrukcji i technologię odczytu/zapisu dla tej samej pamięci.
To pozwala systemowi pozwolić na wykonanie wstępnie załadowanego programu, jak tylko zostanie zastosowane zasilanie.
Jednakże dane będą w nieznanym stanie, dlatego nie mogą dostarczyć żadnych wstępnie zdefiniowanych wartości do programu.
Rozwiązaniem tego jest dostarczenie instrukcji języka maszynowego, tak aby zawartość pamięci instrukcji mogła być odczytywana jak dane, jak również zapewnienie ścieżki sprzętowej.
Większość adopcji architektury Harvarda w dzisiejszych czasach jest zmodyfikowaną formą, ma to na celu poluzowanie ścisłej separacji między danymi a kodem, przy jednoczesnym zachowaniu wysokiej wydajności współbieżnego dostępu do danych i instrukcji oryginalnej architektury Harvarda.
Zmodyfikowana architektura Harvarda jest odmianą oryginalnej architektury Harvarda. Jednak różnica między nimi polega na tym, że zmodyfikowana architektura pozwala na dostęp do zawartości pamięci instrukcji jako do danych.
Trzy główne modyfikacje stosowane w zmodyfikowanej architekturze harwardzkiej to:
- Architektura podzielonej pamięci podręcznej:
- Bardzo podobna do architektury von Neumanna, ta modyfikacja buduje hierarchię pamięci z pamięcią podręczną procesora dla instrukcji i danych na niższych poziomach hierarchii.
- Architektura Instruction-memory-as-data:
- Modyfikacja ta pozwala na dostęp do zawartości pamięci instrukcji jako danych. Może to być prowadzone, ponieważ dane nie mogą być bezpośrednio wykonane jako instrukcje.
- (Chociaż istnieje debata, czy to rzeczywiście może być nazwany „Zmodyfikowany” architektura Harvard)
- Data-memory-jak-instrukcja architektura:
- Wykonywanie instrukcji pobranych z dowolnego segmentu pamięci, w przeciwieństwie do architektury Harvard, który może tylko wykonywać instrukcje, pobrane z segmentu pamięci programu.
Podsumowanie i fakty
Architektura von Neumanna była dużym postępem w stosunku do komputerów sterowanych programowo, które były używane w latach 40-tych. Takie komputery były programowane przez wstawianie przewodów i przełączników w celu kierowania danych i sygnałów sterujących między różnymi zestawami funkcjonalnymi.
W dzisiejszych czasach większość systemów komputerowych korzysta z tej samej pamięci zarówno dla danych, jak i instrukcji programu.
Procesor w systemie o architekturze harwardzkiej może pobierać dane i instrukcje jednocześnie, ponieważ architektura ta ma oddzielne magistrale do przesyłania danych i pobierania instrukcji.
Co to jest architektura von Neumanna?
Architektura von Neumanna odnosi się do takiej, która przechowuje dane, jak również zaprogramowane instrukcje w pamięci RAM (Random Access Memory) z możliwością odczytu i zapisu.
Charakterystyka architektury von Neumanna:
- Centralna jednostka przetwarzająca (CPU)
- Jednostka sterująca
- Jednostka arytmetyczno-logiczna (ALU)
- Jednostka pamięci
- Registry:
- Licznik programu (PC)
- Akumulator (AC)
- Rejestr adresu pamięci (MAR)
- Rejestr danych pamięci (MDR)
- Rejestr bieżących instrukcji (CIR)
- Busy:
- Data bus
- Address bus
- Control bus
- Input/Outputs
Zalety:
- Mniej kosztowna/skomplikowana w porównaniu z architekturą harwardzką
- Wydajna
Wady:
- Wąskie gardło von Neumanna
- Większe prawdopodobieństwo utraty danych
Co to jest architektura harwardzka?
- Architektura harwardzka to system komputerowy, który zawiera dwa oddzielne obszary dla danych i rozkazów/instrukcji.
- Architektura harwardzka to rodzaj architektury, która przechowuje dane i instrukcje oddzielnie, dzieląc w ten sposób jednostkę pamięci.
Wady:
- Mniejsze szanse na uszkodzenie danych
- Wysoka wydajność
- Większa przepustowość pamięci
Wady:
- Komplikowane
- Drogie
Zmodyfikowana architektura Harvarda:
Zmodyfikowana architektura Harvarda jest odmianą oryginalnej architektury Harvarda. Jednak różnica między nimi jest, zmodyfikowana architektura pozwala na zawartość pamięci instrukcji, aby być dostępne jako dane.
Trzy główne modyfikacje stosowane w zmodyfikowanej architekturze harwardzkiej to:
- Archite-cache architecture
- Instruction-memory-as-data architecture
- Data-memory-as-.architektura instrukcji
- https://www.techopedia.com/definition/19737/harvard-architecture
- https://tdck.weebly.com/uploads/7/7/0/5/77052163/03_-_harvard_architecture_comparison.pdf
- https://getrevising.co.uk/grids/von-neumann-architecture
- http://differencebetween.net/technology/difference-between-von-neumann-and-harvard-architecture/
- https://en.wikipedia.org/wiki/Von_Neumann_architecture
- https://www.geeksforgeeks.org/computer-organization-von-neumann-architecture/
- https://www.techopedia.com/definition/32480/von-neumann-architecture
- http://www.computinghistory.org.uk/det/3665/John-von-Neumann/
- https://www.computerscience.gcse.guru/theory/von-neumann-architecture
- https://en.wikipedia.org/wiki/Modified_Harvard_architecture
- https://www.edaboard.com/threads/harvard-vs-modified-harvard-architechture.111764/