Systemy wbudowane - typy architektury

Mikrokontrolery 8051 pracują z 8-bitową szyną danych. Dzięki temu mogą obsługiwać zewnętrzną pamięć danych do 64 KB i zewnętrzną pamięć programu w najlepszym przypadku 64 KB. Łącznie mikrokontrolery 8051 mogą adresować 128k pamięci zewnętrznej.

Gdy dane i kod znajdują się w różnych blokach pamięci, wówczas architektura jest określana jako Harvard architecture. W przypadku, gdy dane i kod znajdują się w tym samym bloku pamięci, wówczas architektura jest określana jakoVon Neumann architecture.

Architektura von Neumanna

Architektura von Neumanna została po raz pierwszy zaproponowana przez informatyka Johna von Neumanna. W tej architekturze istnieje jedna ścieżka lub magistrala danych dla instrukcji i danych. W rezultacie procesor wykonuje jedną operację na raz. Pobiera instrukcję z pamięci lub wykonuje operację odczytu / zapisu danych. Zatem pobranie instrukcji i operacja na danych nie mogą wystąpić jednocześnie, współużytkując wspólną magistralę.

Architektura Von-Neumanna obsługuje prosty sprzęt. Pozwala na użycie pojedynczej, sekwencyjnej pamięci. Dzisiejsze prędkości przetwarzania znacznie przewyższają czasy dostępu do pamięci i stosujemy bardzo szybką, ale niewielką ilość pamięci (cache) lokalnej procesora.

Architektura Harvardu

Architektura Harvardu oferuje oddzielne szyny pamięci i sygnałowe dla instrukcji i danych. W tej architekturze dane są przechowywane w całości w CPU i nie ma dostępu do pamięci instrukcji w postaci danych. Komputery mają oddzielne obszary pamięci dla instrukcji programu i danych przy użyciu wewnętrznych szyn danych, umożliwiając jednoczesny dostęp zarówno do instrukcji, jak i danych.

Programy potrzebne do załadowania przez operatora; procesor nie mógł się uruchomić. W architekturze Harvardu nie ma potrzeby, aby te dwie pamięci miały wspólne właściwości.

Architektura Von-Neumanna a architektura Harvardu

Poniższe punkty odróżniają architekturę von Neumanna od architektury harwardzkiej.

Architektura von Neumanna Architektura Harvardu
Pojedyncza pamięć współdzielona przez kod i dane. Oddzielne pamięci na kod i dane.
Procesor musi pobrać kod w oddzielnym cyklu zegara, a dane w innym cyklu zegara. Więc wymaga dwóch cykli zegara. Pojedynczy cykl zegara jest wystarczający, ponieważ oddzielne magistrale są używane do dostępu do kodu i danych.
Większa prędkość, a tym samym mniej czasochłonne. Mniejsza prędkość, a więc bardziej czasochłonna.
Prosty projekt. Złożony projekt.

CISC i RISC

CISC jest komputerem ze złożonym zestawem rozkazów. Jest to komputer, który może adresować dużą liczbę instrukcji.

We wczesnych latach osiemdziesiątych projektanci komputerów zalecali, aby komputery używały mniejszej liczby instrukcji z prostymi konstrukcjami, aby można je było wykonywać znacznie szybciej w procesorze bez konieczności używania pamięci. Takie komputery są klasyfikowane jako komputer ze zredukowanym zestawem instrukcji lub RISC.

CISC vs RISC

Poniższe punkty odróżniają CISC od RISC -

CISC RISC
Większy zestaw instrukcji. Łatwe do zaprogramowania Mniejszy zestaw instrukcji. Trudne do zaprogramowania.
Prostszy projekt kompilatora, biorąc pod uwagę większy zestaw instrukcji. Złożony projekt kompilatora.
Wiele trybów adresowania powodujących złożone formaty instrukcji. Kilka trybów adresowania, naprawiono format instrukcji.
Długość instrukcji jest zmienna. Długość instrukcji jest różna.
Wyższe cykle zegara na sekundę. Niski cykl zegara na sekundę.
Nacisk kładziony jest na sprzęt. Nacisk kładziony jest na oprogramowanie.
Jednostka sterująca realizuje duży zestaw instrukcji za pomocą jednostki mikroprogramu. Każda instrukcja ma być wykonana sprzętowo.
Wolniejsze wykonanie, ponieważ instrukcje mają być odczytywane z pamięci i dekodowane przez jednostkę dekodera. Szybsze wykonanie, ponieważ każda instrukcja ma być wykonywana sprzętowo.
Rurociągi nie są możliwe. Potokowanie instrukcji jest możliwe, biorąc pod uwagę pojedynczy cykl zegara.