304
7.7. Informacja o zadaniach
Zaprojektować, w wersji mikroprogramowanej, układy sekwencyjne kombinacyjne opisane w pracach wymienionych w rozdz. 5.14 i 3.13.
8. PROJEKTOWANIE ZŁOŻONYCH UKŁADÓW CYFROWYCH (ZESPOŁÓW FUNKCJONALNYCH) - WPROWADZENIE
8.1. Dekompozycja zespołów funkcjonalnych
W wielu przypadkach, zadaniem bardziej złożonych układów (urządzeń) cyfrowych jest nie tylko sekwencyjne sterowanie zewnętrznymi obiektami ale również dokonywanie obliczeń lub, ogólniej, przetwarzanie danych. Jeśli wstępne wymagania odnośnie pracy układu cyfrowego są opisane siecią działań takiego typu jak fragment z rys. 8.la, to każdą czynność tam wymienioną można zrealizować w znanym, typowym układzie cyfrowym (najczęściej jest to blok funkcjonalny MSI) i pierwotną sieć działań można zastąpić siecią opisującą elementarne operacje obliczeniowe układu cyfrowego (dodawanie, porównywanie, wyznaczanie następnika liczby itd. ) - jak na rys. 8. l.b. Po podjęciu decyzji co do sposobu realizacji poszczególnych operacji (np. A + B - w sumatorze, A + 1 - w układzie następnika) należy za pomocą odpowiednich sygnałów sterujących operacje te wymusić, a więc trzeba wygenerować np. wektor Yg ustawiający sumator na dodawanie liczb A i B, wektor Yg włączający układ następnika itd. W ten sposób można utworzyć kolejną sieć działań (rys. 8.1c) opisującą układ sterujący operacjami obliczeniowymi.
Rozważany układ cyfrowy składa się więc z układu operacyjnego (wykonawczego), realizującego operacje na liczbach oraz układu sterującego, nadzorującego pracę poprzedniego i wymuszającego właściwą kolejność wykonywania operacji. Połączenie tych układów nosi nazwę zespołu funkcjonalnego [16].
Ogólną strukturę zespołu funkcjonalnego z -wyodrębnieniem układu sterującego (US) i układu operacyjnego (U0) przedstawiono na rys. 8.2.
Układ operacyjny najczęściej buduje się z typowych bloków funkcjonalnych (z reguły MSI), które realizują wszystkie potrzebne w nim mikrooperacje. Sygnały sterujące tych bloków tworzą wektor S, który jest częścią wektora wyjściowego Y w układzie sterującym. Wektor S określa sposób i kolejność przetwarzania danych wejściowych Dyg w dane wyjściowe Dyy. 0 relacjach między liczbami przetwarzanymi w układzie operacyjnym i o wartości istotnych sygnałów binarnych informuje stan wektora Xy, będącego częścią wektora wejściowego X układu sterującego.