Logo pl.removalsclassifieds.com

Różnica między mikroprogramowaniem poziomym a mikroprogramowaniem pionowym (z tabelą)

Spisu treści:

Anonim

Mikroprogramowanie to metoda systematycznego wdrażania jednostki sterującej komputera. Krótko mówiąc, jest to proces tworzenia mikrokodu dla mikroprocesora. Mikrokod to kod pomocniczy, który określa, jak powinien działać mikroprocesor podczas wykonywania instrukcji języka maszynowego, a Mikrokod jest czasami określany jako Mikroprogram, gdy jest używany w określonej operacji. Z drugiej strony, mikroprogramowana jednostka sterująca zapisuje binarne wartości kontrolne jako słowa w pamięci.

Mikroprogramowanie poziome a mikroprogramowanie pionowe

Różnica między mikroprogramowaniem poziomym a mikroprogramowaniem pionowym polega na tym, że ich obsługa, stopień równoległości wykorzystania mikroprogramowania i elastyczność. Oba różnią się od siebie, jeśli chodzi o kodowanie za pomocą bitów. Różnią się również konstrukcją i obróbką, co umożliwia im poznanie danych.

Sygnały sterujące w poziomej Mikroprogramowanej Jednostce Sterującej są reprezentowane w zdekodowanym formacie binarnym. Każdy bit w mikroprogramowaniu poziomym jest powiązany z pojedynczym punktem kontrolnym, co oznacza, że ​​ma zostać wykonana odpowiednia mikrooperacja. Ponieważ każda mikroinstrukcja może sterować kilkoma zasobami jednocześnie, może to poprawić wykorzystanie sprzętu, jednocześnie zmniejszając liczbę mikroinstrukcji wymaganych przez mikroprogram.

Sygnały sterujące w pionowej mikroprogramowanej jednostce sterującej są zakodowane w formacie binarnym. Każda mikrooperacja ma swój kod, który jest tłumaczony przez dekoder na odrębne sygnały sterujące. Pola mikroinstrukcji są całkowicie wykorzystywane, ponieważ zdefiniowana jest tylko mikrooperacja do wykonania. Ponadto mikroprogramy pionowe są łatwe do napisania niż mikroprogramy poziome.

Tabela porównawcza między mikroprogramowaniem poziomym i pionowym

Parametry porównania

Mikroprogramowanie poziome

Mikroprogramowanie pionowe

Stopień równoległości wyższy stopień równoległości niski stopień równoległości
Elastyczny Jest mniej elastyczny Jest bardziej elastyczny
Kodowanie W mniejszym stopniu wykorzystuje kodowanie ROM niż pionowe mikroprogramowanie W większym stopniu wykorzystuje kodowanie ROM
Dodatkowy sprzęt Nie jest wymagany żaden dodatkowy sprzęt Dodatkowy sprzęt w postaci dekoderów
Sekwencja Wykorzystuje mikroinstrukcję poziomą Wykorzystuje mikroinstrukcję pionową

Co to jest mikroprogramowanie poziome?

W poziomej programowanej jednostce sterującej Micro sygnały sterujące są wyświetlane w zdekodowanym formacie binarnym, to znaczy 1but/CS, gdzie „n” sygnałów sterujących wymaga n, ale kodowania.

Każdy bit w mikroprogramowaniu poziomym jest powiązany z pojedynczym punktem kontrolnym, co pokazuje, że ma zostać wykonana odpowiednia mikrooperacja. Ponieważ każda mikroinstrukcja może zarządzać wieloma ośrodkami jednocześnie, może poprawić wykorzystanie sprzętu, jednocześnie wymagając mniejszej liczby mikroinstrukcji na mikroprogram. Z drugiej strony, mikroprogramy poziome zazwyczaj reprezentują zestaw mikrooperacji, które są wykonywane jednocześnie.

Pozwala na większą równoległość przy jednoczesnym wykorzystaniu mniejszej ilości kodowania i rozdzielania pól kontrolnych. Trudnym wyzwaniem jest natomiast tworzenie mikroprogramów, które optymalnie lub efektywnie wykorzystują zasoby. Ponieważ każdy bit sterujący jest niezależny od pozostałych, mikroprogramowanie poziome zapewnia dużą swobodę. Ponieważ jest dłuższa niż mikroinstrukcje pionowe, zwykle dostarcza więcej informacji.

Mikroprogramowanie poziome, podobnie jak tradycyjny język maszynowy, wykorzystuje sekwencyjny sposób wyrażania kolejnych specyfikacji w racjonalnym oprogramowaniu. Każdy bit jest powiązany z pojedynczym stanowiskiem dowodzenia, co oznacza, że ​​odpowiada odpowiedniemu punktowi kontrolnemu. Przeprowadzona zostanie mikrooperacja. Oddziały, które są zarówno warunkowe, jak i bezwarunkowe. Sekwencja musi następnie zostać przerwana za pomocą funkcji kontrolnych.

Co to jest mikroprogramowanie pionowe?

Sygnały sterujące są zdefiniowane w zakodowanym formacie binarnym w pionowych mikroprogramowanych jednostkach sterujących, a sygnały sterujące „n” wymagają kodowania log2n bitowego. Mikroprogramowanie pionowe, w przeciwieństwie do mikroprogramowania poziomego, wykorzystuje elastyczny format i wyższy stopień kodowania. Nie tylko zmniejsza długość mikroinstrukcji, ale także zapobiega bezpośredniemu wpływowi na długość mikroinstrukcji przez zwiększoną pojemność pamięci. W większości przypadków każda pionowa mikroinstrukcja reprezentuje pojedynczą mikrooperację.

Mikroprogramy pionowe mają większą gęstość kodu, co jest korzystne dla rozmiaru magazynu kontrolnego. Mikroinstrukcje pionowe są podobne do tradycyjnego stylu języka maszynowego, który składa się tylko z jednej operacji i kilku operandów. Pisanie mikroprogramów pionowych jest łatwiejsze niż pisanie mikroprogramów poziomych. Pionowa mikroinstrukcja przypomina klasyczny język maszynowy, który ma tylko jedną akcję i kilka operandów. W rezultacie mikroprogramowanie jest proste do wdrożenia. Zwykle składa się z czterech do sześciu pól, z których każde wymaga od 16 do 32 bitów na instrukcję.

Mikroprogramy pionowe mają wyższe nasycenie kodu, co korzystnie wpływa na pojemność pamięci kontrolnej. Pionowa mikroinstrukcja jest podobna do tradycyjnego stylu języka maszynowego, który składa się tylko z jednej funkcji i kilku elementów przetwarzających. Każda pionowa mikroinstrukcja definiuje konkretną mikrooperację, z operandami wskazującymi źródło danych i ujście.

Główna różnica między mikroprogramowaniem poziomym a mikroprogramowaniem pionowym

  1. Mikroprogramowanie poziome pozwala na wyższy stopień równoległości; jeśli stopień wynosi n, to jednocześnie włączonych jest n sygnałów sterujących. Z drugiej strony poziome mikroprogramowanie pozwala na niski stopień równoległości; jeśli stopień wynosi 0 lub 1, to tylko jeden sygnał sterujący jest włączony na raz.
  2. Mikroprogramowanie poziome jest mniej elastyczne niż jednostka sterująca mikroprogramowaniem pionowym.
  3. Mikroprogramowanie poziome w mniejszym stopniu wykorzystuje kodowanie RaoM, podczas gdy mikroprogramowanie pionowe w większym stopniu wykorzystuje kodowanie ROM, aby zmniejszyć długość słowa kontrolnego.
  4. Do mikroprogramowania poziomego nie jest wymagany żaden dodatkowy sprzęt, ale w przypadku mikroprogramowania pionowego dodatkowy sprzęt jest w postaci dekoderów, które są wymagane do generowania sygnałów sterujących.
  5. Mikroprogramowanie poziome wykorzystuje mikroinstrukcję poziomą, w której każdy bit w polu kontrolnym jest powiązany z linią kontrolną. Z drugiej strony mikroprogramowanie pionowe wykorzystuje mikroinstrukcję pionową, w której każdej akcji przypisywany jest kod, który jest następnie tłumaczony na poszczególne sygnały sterujące przez dekodery.

Wniosek

Mikroprogramowanie było niezwykle skutecznym rozwiązaniem problemu systematycznego konstruowania sterowników i było stosowane w ogromnej większości procesorów (z niewielkimi zmianami) od połowy lat 60. do późnych lat 80. XX wieku.

Mikroinstrukcje pionowe, w przeciwieństwie do mikroinstrukcji poziomych, reprezentują pojedyncze mikrooperacje. Mikroprogramy pionowe kodują bity kontrolne, ale mikroprogramy poziome pozwalają na wysoki stopień równoległości z niskim kodowaniem i oddzielnymi polami kontrolnymi. Mikroprogramowanie poziome jest szybsze niż mikroprogramowanie pionowe.

Mikroprogramowanie poziome obsługuje dłuższe słowa sterujące, podczas gdy mikroprogramowanie pionowe obsługuje krótsze słowa sterujące. Decyzja między tymi dwoma sposobami musi być podjęta z rozwagą. W praktyce jednak projektanci łączą typy mikroinstrukcji poziomych i pionowych, aby stworzyć strukturę, która jest zarówno zwarta, jak i wydajna.

Bibliografia

Różnica między mikroprogramowaniem poziomym a mikroprogramowaniem pionowym (z tabelą)