UKŁADY MIKROPROGRAMOWALNE

Podobne dokumenty
Podstawy Informatyki Układ sterujący

Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18

Układy mikroprogramowane

Podstawowe moduły układów cyfrowych układy sekwencyjne cz.2 Projektowanie automatów. Rafał Walkowiak Wersja /2015

Asynchroniczne statyczne układy sekwencyjne

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Ćw. 7: Układy sekwencyjne

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

SWB - Projektowanie synchronicznych układów sekwencyjnych - wykład 5 asz 1. Układy kombinacyjne i sekwencyjne - przypomnienie

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Wstęp do Techniki Cyfrowej... Teoria automatów

Tranzystor JFET i MOSFET zas. działania

Kombinacyjne bloki funkcjonalne

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

ARCHITEKTURA PROCESORA,

Spis treści. Przedmowa Wykaz oznaczeń Wstęp Układy kombinacyjne... 18

Budowa i zasada działania komputera. dr Artur Bartoszewski

Elementy struktur cyfrowych. Magistrale, układy iterowane w przestrzeni i w czasie, wprowadzanie i wyprowadzanie danych.

Temat: Pamięci. Programowalne struktury logiczne.

Wykład I. Podstawowe pojęcia. Studia Podyplomowe INFORMATYKA Architektura komputerów

UKŁADY MIKROPROGRAMOWANE

Programowanie sterowników PLC wprowadzenie

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH

Układy logiczne układy cyfrowe

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

SYNTEZA AUTOMATÓW SKOŃCZONYCH Z WYKORZYSTANIEM METOD KODOWANIA WIELOKROTNEGO

Architektura komputerów

LEKCJA TEMAT: Zasada działania komputera.

Projektowanie Scalonych Systemów Wbudowanych VERILOG

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

Projektowanie. Projektowanie mikroprocesorów

Projekt prostego procesora

Instrukcja do ćwiczenia : Matryca komutacyjna

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

Logiczny model komputera i działanie procesora. Część 1.

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

CZ1. Optymalizacja funkcji przełączających

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Synteza strukturalna

Cyfrowe układy scalone c.d. funkcje

Architektura komputerów Wykład 2

Struktura i działanie jednostki centralnej

Rys Schemat montażowy (moduł KL blok e) Tablica C B A F

Część 3. Układy sekwencyjne. Układy sekwencyjne i układy iteracyjne - grafy stanów TCiM Wydział EAIiIB Katedra EiASPE 1

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Automat skończony FSM Finite State Machine

dwójkę liczącą Licznikiem Podział liczników:

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Wstęp do Techniki Cyfrowej... Teoria automatów i układy sekwencyjne

Funkcja Boolowska a kombinacyjny blok funkcjonalny

LEKCJA. TEMAT: Funktory logiczne.

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Podział układów cyfrowych. rkijanka

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Podstawy Automatyki. Wykład 13 - Wprowadzenie do układów sekwencyjnych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Technika Cyfrowa. Badanie pamięci

zmiana stanu pamięci następuje bezpośrednio (w dowolnej chwili czasu) pod wpływem zmiany stanu wejść,

Organizacja typowego mikroprocesora

Architektura systemów komputerowych. dr Artur Bartoszewski

Wstęp do Techniki Cyfrowej... Synchroniczne układy sekwencyjne

Laboratorium przedmiotu Technika Cyfrowa

Politechnika Gdańska. Gdańsk, 2016

SYNTEZA JEDNOSTEK STERUJĄCYCH W STRUKTURACH PROGRAMOWALNYCH

Układy logiczne układy cyfrowe

Mikroprocesor Operacje wejścia / wyjścia

Plan wykładu. Architektura systemów komputerowych. Cezary Bolek

Architektura systemów komputerowych

Podstawy Informatyki Elementarne podzespoły komputera

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

Architektura komputerów II - opis przedmiotu

WPROWADZENIE Mikrosterownik mikrokontrolery

Zarządzanie pamięcią w systemie operacyjnym

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Budowa komputera Komputer computer computare

Sterowniki Programowalne (SP)

6. WPROWADZENIE DO MIKROPROGRAMOWANIA

Architektura typu multi cycle

Mikrokontrolery AVR techniczne aspekty programowania

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Technika Cyfrowa 1 wykład 11: liczniki sekwencyjne układy przełączające

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

Wykład z Technologii Informacyjnych. Piotr Mika

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Kurs Zaawansowany S7. Spis treści. Dzień 1

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Programowanie współbieżne Wykład 2. Iwona Kochańska

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Definicja układu kombinacyjnego była stosunkowo prosta -tabela prawdy. Opis układu sekwencyjnego jest zadaniem bardziej złożonym.

Cyfrowe układy sekwencyjne. 5 grudnia 2013 Wojciech Kucewicz 2

Algorytm. a programowanie -

Transkrypt:

UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim jest układ operacyjny (blok operacyjny), czyli wykonawczy. Układ operacyjny ma za zadanie realizację operacji na liczbach (wykonuje obliczenia), czyli przetwarza dane, natomiast układ sterujący nadzoruje pracę układu operacyjnego i wymusza właściwą kolejność wykonywania operacji. Koncepcja podziału układów cyfrowych na układ sterujący i układ (blok) operacyjny nosi nazwę dekompozycji Głuszkowa. X z I we Z Układ sterujący X w Układ operacyjny I wy Rys. 1. Koncepcja Głuszkowa dekompozycji układów cyfrowych gdzie : - I we - informacja wejściowa (przetwarzana), - I wy - informacja wyjściowa (przetworzona), - - sygnały sterujące (rozkazy, sterowania), - - stan układu sterującego (sygnalizacja), - X z - warunki zewnętrzne, - X w - warunki wewnętrzne, - Z - zewnętrzny sygnał zegarowy. - 1 -

1. Podstawowe informacje i definicje Mikroprogramowalny układ sterujący to układ o stałej strukturze sprzętowej, którego działanie jest opisane tzw. mikroprogramem. Program ten zapisywany jest w pamięci układu (, P lub EP) zwanej pamięcią sterowania. Def. 1. Mikrooperacją nazywa się elementarną czynność możliwą do wykonania w danym układzie (urządzeniu, systemie) cyfrowym w jednym takcie jego pracy. Def. 2. Mikrorozkazem (słowem sterującym) nazywa się słowo dwójkowe określające sygnały wyjściowe w układzie sterującym, czyli rodzaj sterowania w przypadku bardziej złożonych urządzeń cyfrowych, tzw. zespołów funkcjonalnych. łowo to jest przechowywane w pamięci i powoduje w przypadku zespołów funkcjonalnych, wykonanie jednej lub kilku mikrooperacji. Def. 3. Mikroinstrukcją nazywa się sformalizowany zapis opisujący czynności wykonywane przez układ sterujący w jednym elementarnym takcie jego pracy. Def. 4. Mikroprogramem (mikropodprogramem) nazywa się sekwencję mikroinstrukcji (słów sterujących). - 2 -

Def. 5. Mikroprogramowaniem poziomym nazywać będziemy taki sposób pracy układu (jednostki) sterującego, w którym generowanie sygnałów sterujących, wykonaniem mikrooperacji jest takie, że każdy bit mikrorozkazu reprezentuje niezależny sygnał sterujący. Przy takim sposobie mikroprogramowania każdy rozkaz ma od razu postać (format) mikrorozkazu. Mikrooperacje są kodowane w kodzie 1 z n. Def. 6. Mikroprogramowaniem pionowym nazywać będziemy taki sposób pracy układu (jednostki) sterującego, w którym wykonanie rozkazu polega na zainicjowaniu odpowiedniej sekwencji mikrorozkazów reprezentujących mikroprogram a kody mikrorozkazów tworzą sektory przyporządkowane wykonywanym funkcjom sterującym (mikrooperacjom). Mikrooperacje są kodowane dowolnym kodem. - 3 -

2. Zasada działania sterowania mikroprogramowalnego terowanie mikroprogramowalne zostało po raz pierwszy opisane przez M.V. Wilkesa w 1951 roku. mikroprogramu Kod operacji z rejestru Deszyfrator Matryca mikrooperacji Matryca stanów ygnały warunkow stanu ygnały sterujące τ Rys. 2. chematyczne przedstawienie idei sterowania mikroprogramowalnego Wilkesa 3. Adresowanie pamięci mikroprogramów Q Q Układ adresowania x Rys. 3 chemat blokowy mikroprogramowanego układu sterującego - 4 -

4. Mikroinstrukcje Mikroinstrukcja opisuje czynności wykonywane przez układ sterujący w jednym elementarnym takcie jego pracy: 1. generowanie sterowania, 2. badanie określonego warunku x, 3. określenie adresu następnego mikrorozkazu w pamięci mikroprogramu. Pola mikroinstrukcji: P s - pole sterowania (operacyjne), które określa sygnały wyjściowe dla układu sterującego, P w - pole numeru warunku (kontrolne) - określa numer warunku x badanego w danym stanie, od którego spełnienia, bądź nie, uzależniony jest następny adres mikrorozkazu, P a - pole adresowe określa adres następnego mikrorozkazu w sposób bezpośredni lub pośredni w zależności od przyjętego sposobu adresowania, P k - pole kodu mikrorozkazu - określa typ mikrorozkazu, a tym samym precyzuje jednoznacznie znaczenie poszczególnych pól mikrorozkazu. - 5 -

5. Podstawowe struktury układów mikroprogramowalnych Układ mikroprogramowalny typu A Układ o strukturze A przedstawiony na rysunku 10 składa się z rejestru stanu z wpisem i odczytem równoległym oraz z pamięci. Pamięć jest adresowana wejściami X układu i zapisanym w rejestrze stanem bieżącym Q. tąd, przy ustalonym rozmiarze Q, przestrzeń adresowa pamięci rośnie wykładniczo z rozmiarem X. Nie ma tu żadnego ograniczenia na liczbę zmiennych wejściowych (warunków), które mogą zmieniać swą wartość w danym stanie, co może być zaletą struktury A w przypadkach, gdy zachowanie stanowe projektowanego układu jest bardzo urozmaicone. Pamięć służy do wyznaczenia funkcji wyjść i funkcji przejść realizowanego w strukturze automatu. Wykorzystywany jest jeden format mikrorozkazu <P s, P a >, umożliwiający podanie na wyjście sterowania i przygotowanie na wejściu rejestru następnego stanu Q. Można równie łatwo implementować automaty Moore a i Mealy ego. Podstawową wadą tej struktury jest duży rozmiar, a co za tym idzie także koszt całego układu. Ponadto, najczęściej funkcje przejść i wyjść realizowanego automatu zdefiniowane dla iloczynów kartezjańskich X Q nie są w pełni określone, co pociąga za sobą nieuniknioną nadmiarowość przy programowaniu pamięci. CLK X Q format mikrorozkazu: <P s, P a > Q - 6 -

Układ mikroprogramowalny typu B Układ o strukturze B ma za zadanie zmniejszyć przestrzeń adresową pamięci układu A w przypadkach, gdy implementowanym układzie istnieje ograniczenie na liczbę zmiennych wejściowych, które mogą zmieniać swą wartość w danym stanie. W tym celu wprowadzono na schemacie blokowym selektor umożliwiający w danym stanie Q wybór podzbioru zmiennych wejściowych X w uwzględnianego w funkcjach przejść i wyjść (rys.11). O rozmiarze selektora decyduje stan o najliczniejszym podzbiorze X w. W szczególnym przypadku, gdy X w w każdym stanie tworzy tylko jedna zmienna wejściowa budowa selektora upraszcza się do pojedynczego multipleksera wybierającego warunek sprawdzany w danym stanie. W przeciwnym wypadku można zastosować jako selektor blok multiplekserów adresowanych stanami Q. Układ o strukturze B posiada ten sam format mikrorozkazu, co układ A i nadaje się do implementacji automatów Moore a i Mealy ego. Jeżeli automat charakteryzuje się dużą liczbą stanów, to wadą struktury B jest duży rozmiar selektora, kompensowany jednak przez zmniejszenie rozmiaru potrzebnej pamięci, co daje również oszczędność przy jej programowaniu. CLK Q format mikrorozkazu <P s, P a > X X w Q - 7 -

Układ mikroprogramowalny typu C W przypadku, gdy liczba wejść jest stosunkowo mała w porównaniu z liczbą stanów automatu można dalej optymalizować strukturę B poprzez umożliwienie wyboru w multiplekserze numeru wejścia X w (warunku) sprawdzanego w bieżącym stanie Q. Wymaga to rozszerzenia formatu mikrorozkazu dodatkowo o pole warunku P w. Równocześnie zachodzi konieczność odpowiedniego powiększenia rejestru stanu. W każdym mikrorozkazie oprócz bieżącego wyjścia układu (sterowania) musi zostać wpisany następny stan Q automatu oraz związany z nim numer warunku X w, który w nim będzie sprawdzany. Układ C nadaje się do implementacji automatów Moore a i Mealy ego o ograniczonej liczbie wejść. Gdyby w jakimś stanie automatu zaszła potrzeba sprawdzenia stanu większej ilości zmiennych wejściowych X w, to trzeba rozszerzyć format mikrorozkazu o dodatkowe pola warunków i zbudować odpowiedni selektor zbudowany z wielu multiplekserów. Rośnie wtedy koszt układu o strukturze C. CLK format mikrorozkazu <P s, P w, P a > X X w P w P a - 8 -

Układ mikroprogramowalny typu D formaty mikrorozkazów: P k =1 <1,P w, P 1 a, P 0 a > P k =0 <0, P s, P 0 a > zegar C x P w P k P 1 a P 0 a x w Multiplekser grupowy Gdzie: P s... - 9 -

Układ mikroprogramowalny typu E CEP zegar C zerowanie R Licznik LE x P k P w P a x w formaty mikrorozkazów: P k =1 <1, P w, P a > P k =0 <0, P s, P a > P s - 10 -

Układ mikroprogramowalny typu F CEP zegar C zerowanie LE Licznik R format mikrorozkazu: <P s, P w, P a > P s P w P a x w 1 x - 11 -

Układ mikroprogramowalny typu G zegar 1 Σ format mikrorozkazu: <P s, P w, P a > P s P w P a x w 1 x - 12 -

Układ mikroprogramowalny typu H zegar format mikrorozkazu: <P s, P w, P 0 a, P 1 a > P s P w P 0 a P a 1 x x w - 13 -

Układ mikroprogramowalny typu I CEP zegar C zerowanie LE Licznik R wstępnie 0 D Q zegar C formaty mikrorozkazów: P k =0 <0, P s, P a > P a =1 <1, P s, P w > P k P s P a wstępnie 1 P w x 1-14 -

Układ mikroprogramowalny typu J zegar C 1 format mikrorozkazu 1 : <P s, P a > P s P a format mikrorozkazu 2 : <P w > 2 stała x w - 15 -

Układ mikroprogramowalny typu K 1 CEP zegar C zerowanie R LE Licznik wstępnie 0 D Q zegar C Q P k 0 P k 1 wstępnie 1 P a formaty mikrorozkazów: P k 0 P k 1 =<0 0> - <00, P s > P k 0 P k 1 =<1 0> - <10, P w > P k 0 P k 1 =<1 1> - <11, P a > P s P w x w x - 16 -