bramki, procesor


„BRAMKI LOGICZNE I PODSTAWY DZIAŁANIA PROCESORA”

WSTĘP

Główne części składowe komputera stanowią: procesor (obecnie w postaci układu scalonego, czyli mikroprocesor), pamięć operacyjna oraz urządzenia peryferyjne (zewnętrzne). Zadaniem procesora, zwanego też czasem jednostką centralną, jest wykonywanie rozkazów i sterowanie pracą pozostałych bloków funkcjonalnych komputera. Urządzenia peryferyjne, dołączone do komputera najczęściej za pośrednictwem układów wejścia - wyjścia, służą do komunikacji komputera ze światem zewnętrznym (z użytkownikiem), np. klawiatura, monitor ekranowy, drukarka, mysz, joystick, pióro świetlne, skaner, ploter; do urządzeń peryferyjnych zalicza się też pamięci zewnętrzne, np. dyski magnetyczne i optyczne. Urządzenia peryferyjne w obecnie używanych komputerach pracują z reguły jako autonomiczne jednostki współbieżnie z procesorem.

Mikroprocesor to procesor wykonany w technologii LSI (mikroprocesor 8-bitowe), VLSI (mikroprocesor 16-bitowe i 32-bitowe) lub ULSI (mikroprocesor 64-bitowe).

TRANZYSTORY I BRAMKI LOGICZNE

0x01 graphic

Pierwszym urządzeniem pozwalającym na sterowanie przepływem prądu była lampa elektronowa.

Tranzystory

Podstawowym elementem każdego procesora jest tranzystor. Ogólna zasada działania tranzystora jest dość prosta. Każdy z tych układów ma trzy wyjścia. Są to: baza, kolektor i emiter. Można więc je podłączyć do dwóch obwodów elektrycznych. Pierwszy z nich to obwód baza-emiter drugi zaś to kolektor-emiter. Pierwszy to tzw. obwód sterujący, a drugi roboczy.

Zasada działania tranzystora, nie wnikając w jego budowę, polega na tym, iż włączając obwód sterujący powoduje się przepływ prądu w obwodzie roboczym. Różne rodzaje tranzystorów działają podobnie, a w układach MOS (metal oxide semiconductor) bramka musi być cały czas pod napięciem, nie pobierając przy tym prądu. Potencjał elektryczny zgromadzony na bramce powoduje zmniejszenie oporu elektrycznego w półprzewodniku i tym samym możliwy jest przepływ prądu pomiędzy kolektorem a emiterem. Można więc powiedzieć, iż utrzymywanie bramki pod napięciem pozwala na przepływ prądu przez obwód roboczy. Ten typ tranzystorów MOS jest stosowany w układach gdzie potrzeba szybkiego włączenia i wyłączenia.

0x01 graphic

Obwody, w jakich pracują tranzystory MOS (metal oxide semiconductor)

Przepływ prądu może oznaczać logiczną jedynkę, a wyłączenie zero. Właśnie na tym prostym założeniu bazuje cała technika cyfrowa. Przypomina to zwykły wyłącznik światła w pokoju, dla którego także możliwe są dwa stany pracy: włączenie - 1 i wyłącznie - 0. Różnica polega jedynie na tym, że w prostym wyłączniku nie ma obwodu sterującego, a przepływem prądu sterujemy my sami.

Procentowy rozpływ prądów w tranzystorze

Zastosowanie jednego prostego tranzystora nie oznacza jeszcze skonstruowania komputera. Elementy elektroniczne to analogowe układy, które pozwalają na pracę cyfrowego mikroprocesora. Do podstawowych jego możliwości należy wykonywanie operacji logicznych. Są one realizowane za pomocą specjalnych bramek, złożonych z kilku elementów półprzewodnikowych.

Bramki

0x01 graphic

0x01 graphic

0x01 graphic

Podstawowe układy logiczne i możliwe sposoby pracy

Dodawanie wykonuje się za pomocą bramki OR, mnożenie AND, a negację dzięki bramce NOT, ponadto występują układy łączone, takie jak NOR (NOT OR) i NAND (NOT AND). W praktyce stosuje się właśnie te dwa ostatnie, ponieważ za ich pomocą można zastąpić wyżej opisane. Bramka NAND, czyli (X*Y)' oraz bramka NOR, czyli (X+Y)', to zaprzeczenia iloczynu i zaprzeczenia sumy. Wykonanie pojedynczej bramki logicznej możliwe jest za pomocą kilku tranzystorów i ewentualnie diody półprzewodnikowej.

Technik realizacji jest kilka. Jedna z nich to DTL, czyli technika diodowo tranzystorowa, która na przykład realizuje bramkę AND na 3 diodach i jednym rezystorze. Inna technika to DCTL, czyli układy ze sprzężeniem bezpośrednim, realizujące bramki NAND na 3 tranzystorach i jednym rezystorze. Jeszcze inna to RTL, czyli rezystorowo-tranzystorowa realizująca układ NOR na tylko jednym tranzystorze i 4 rezystorach. Jedną z bardziej skomplikowanych jest ECL, czyli układ ze sprzężeniem emiterowym, który umożliwia budowę bramki NOR aż na 5 tranzystorach, dwóch diodach i siedmiu rezystorach. Niezależnie od wybranej techniki efekt zawsze będzie ten sam. Różnice występują w szybkości działania, cenie oraz możliwościach masowej produkcji.

Bramka OR ma np. dwa wejścia i jedno wyjście, a jej zadanie to dodawanie. Jak wiec to działa? Jeżeli na jednym wejściu - nazwijmy go X - pojawi się impuls prądu, czyli logiczna 1, i na drugim wejściu - Y - w tym samym czasie pojawi się także impuls 1, to dodając X+Y na wyjściu pojawi się impuls prądu, czyli 1. Pamiętać należy, że nie można tutaj zwyczajnie dodać 1 do 1 tak, aby wyszło 2, bo takiej liczby nie ma w "procesorowym słowniku". Inne możliwe stany wejść to na jednym 1, a na drugim 0, co w sumie daje 1 na wyjściu, jednak gdy na X oraz Y będzie 0 to wynik na wyjściu tej bramki także będzie wynosić 0.

Za pomocą kilkudziesięciu bramek można zbudować prosty kalkulator, który będzie dodawał i odejmował na liczbach binarnych. Zbudowanie takiego urządzenia jest bardzo proste - mając gotowe układy logiczne zajmuje to nie więcej niż 30 min. Taki prosty kalkulator będzie dość duży, a plątanina kabli dość znaczna. Właśnie dlatego miniaturyzacja jest tak ważna dla dzisiejszych skomplikowanych procesorów, inaczej zajmowałyby one ogromne powierzchnie i pobierały znaczne ilości prądu.

16, 32, 64 bity...

Przekazywanie liczb i operacje na nich odbywają się w systemie binarnym. Istnieje możliwość, za pomocą odpowiedniej sekwencji zero jeden, zaprezentowania każdej liczby znanej w systemie dziesiętnym. Jednak system binarny zajmuje dużo więcej miejsca niż zapis dziesiętny. Przykładowo liczba 255 w systemie dwójkowym oznaczana jest jako 11111111, czyli aż 8 jedynek.

Przekazanie tej (w sumie małej) liczby za pomocą jednego połączenia zajęłoby procesorowi dość dużo czasu - musiałby 8 razy wysłać "jedynkę". Jak więc spowodować aby to trwało krótko? Rozwiązanie jest następujące: przekazać wszystkie stany logiczne na raz, co wymaga aż 8 oddzielnych połączeń przewodowych. Wszystkie one jednocześnie mogą przesłać "jedynkę" lub "zero".

Cechą za pomocą, której można dokonać podziału procesorów jest długość słowa, na którym wykonywane są operacje obliczeniowe. Rozróżniamy więc procesory:

Dzisiejsze procesory do komputerów domowych są 32-bitowe, a to oznacza, iż do komunikacji z pamięcią używają 32 przewodowych połączeń. Przejście z 32 na 64 bity to olbrzymie przyspieszenie pracy. 64-bitowa magistrala jest dwa razy bardziej przepustowa od 32-bitowowej. Liczba, jaką jest w stanie przesłać w czasie jednego taktu procesor 64-bitowy, jest o wiele rzędów wielkości większa od tej przesyłanej przez układ 32-bitowy. Oznacza to, iż w czasie skomplikowanych obliczeń, wymagających przesyłu dużych ilości danych, komputer poważne przyspiesza pracę.

BUDOWA PROCESORA

Na procesor składają się głównie:

0x01 graphic

Podstawowymi rejestrami, które znajdują się w każdym mikroprocesorze, są:

Oprócz tego procesor ma kilka (kilkanaście) rejestrów używanych w czasie wykonywania niektórych rozkazów, np. wskaźnik stosu służący do adresowania pamięci.

Rys2.Budowa przykładowego mikroprocesora dydaktycznego wraz z pamięcią operacyjną

0x08 graphic

Strzałki na rysunku wskazują dopuszczalny kierunek przepływu informacji.

BUDOWA SZCZEGÓŁOWA I PODSTAWY DZIAŁANIA NA PRZYKŁADZIE

16-BITOWEGO 8086

Budowa modułowa i praca CPU

Dziś już archaiczny układ 80286 - AT. Pierwszy procesor z prawdziwego zdarzenia, wyposażony w układ adresowy. Potężniejszy niż jego protoplasta 8086 - XT.

Pracę procesora najlepiej opisać na przykładzie pierwszego 16 bitowego układu 8086 przeznaczonego dla komputerów PC. Właśnie ten chip jest umieszczony niejako we wnętrzu każdego dzisiejszego procesora, który ma być zgodny z rodziną AT/XT. Oznacza to, iż każdy następny posiada możliwości 8086 oraz jest wyposażony w dodatkowe funkcje.

Działanie mikroprocesora zamyka się w kilku podstawowych trybach pracy. Pierwszy z nich to pobranie rozkazu z pamięci, drugi to zdekodowanie, a trzeci wykonanie. Jak to się odbywa? Wyobraźmy sobie, że z pamięci procesor ma pobrać prosty ciąg instrukcji. Musi więc najpierw dostać informację, że należy pobrać dane. Komendą, która informuje układ o takim poleceniu jest następujący po sobie określony ciąg: 011011011010. Po tej komendzie musi trafić do jednostki wykonawczej informacja skąd dane mają zostać pobrane i co należy z nimi zrobić. W ten sposób układ stopniowo dekoduje i wykonuje kolejno każdą instrukcję zapisaną w programie.

Najbardziej prymitywny 8-bitowy procesor Intela.

Działanie centralnej jednostki obliczeniowej (CPU) jest zorganizowane w wyspecjalizowane części, które wykonują tylko jeden rodzaj zadań, a następnie przekazują go dalej. W procesorze 8086 firma Intel zastosowała kilka oddzielnych jednostek: układ magistrali BU, układ instrukcji IU, układ wykonawczy EU oraz układ adresowy AU. Ten ostatni posiadały dopiero konstrukcje późniejsze (od 80286).

Szczegółowy opis każdego z nich:

Do tych podstawowych układów należy także IP, czyli wskaźnik instrukcji programu. Informuje on o kolejności wykonywania programu i pobierania go z pamięci, gdyż normalnie EU pobierałby po kolei wszystkie instrukcje .

ZASADA DZIAŁANIA PROCESORA

Procesor wykonuje kolejne cykle rozkazowe, pobierając rozkazy i dane bezpośrednio z pamięci operacyjnej.

Pamięć operacyjna składa się z komórek ponumerowanych kolejnymi liczbami naturalnymi (0, 1, 2,...). Komórka jest ciągiem bitów, które można sobie wyobrazić jako miejsca, gdzie można wpisać 0 lub 1. Do komórek pamięci można więc wpisywać informacje w postaci zer i jedynek. Można również pobierać informacje tam zapisane. W czasie zapisywania poprzednia zawartość komórki ulega zniszczeniu. Przy odczytywaniu nie zmienia się. Numery komórek nazywane są adresami.

Zawartość pamięci może być odczytywana jedynie za pośrednictwem dwóch związanych z nią rejestrów: rejestru adresowego pamięci oraz rejestru buforowego pamięci .To samo dotyczy operacji zapisywania do pamięci. Przy odczytywaniu z pamięci do rejestru buforowego pobierana jest zawartość tej komórki pamięci, której adres znajduje się w rejestrze adresowym. Przy zapisie zawartość rejestru buforowego jest wpisywana do komórki o adresie z rejestru buforowego.

0x08 graphic

Programy są ciągami rozkazów, które komputer ma wykonać. Dane są informacjami, które w wyniku wykonania programu są przekształcane w inne informacje.

Arytmometr wykonuje rozkazy na danych umieszczonych w rejestrach z nim związanych. Mogą to być na przykład rozkazy dodawania liczb lub też rozkazy logiczne, takie jak iloczyn lub suma logiczna ciągów zer i jedynek. Wynik działania arytmometru pozostaje w jednym z jego rejestrów.

0x08 graphic
Poza wymienionymi wyżej rejestrami związanymi z pamięcią oraz arytmometrem w procesorze istnieją także takie, które sterują przebiegiem jego pracy. Kluczową rolę pełnia tu: rejestr rozkazów oraz rejestr zwany licznikiem rozkazów. W pierwszym pamiętany jest rozkaz aktualnie wykonywany przez komputer, w drugim - adres komórki pamięci, w której znajduje się następny rozkaz do wykonania.

TYPOWA KOMUNIKACJA PROCESORA Z PAMIĘCIĄ OPERACYJNĄ

A.ODCZYT B.ZAPIS

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

0x08 graphic
0x08 graphic

Komputer działa według ustalonego schematu. Schemat ten, nazywany cyklem pracy komputera, wygląda następująco:

1.Pierwszą fazą jest pobranie z pamięci rozkazu.

2. Druga faza to wykonanie rozkazu:

Opisana procedura ulega zmianie, gdy nastąpi tzw. przerwanie (ang. interrupt). Powoduje je sygnał podany z urządzenia zewnętrznego do procesora. Przerywa on wtedy wykonywanie programu. zapamiętana zostaje zawartość licznika rozkazów i rozpoczyna się wykonywanie programu obsługi przerwań. Adres tego programu jest niekiedy ustalony, w innych przypadkach jest przesyłany przez specjalny układ przerwań. Takie przerwania są wykorzystywane do współpracy z urządzeniami I/O. Przerwanie możę być także spowodowane wykonaniem specjalnego rozkazu maszynowego (przerwanie programowe). Adres programu obsługi przerwania jest w takim przypadku ustalony. Przerwania programowe służą zwykle do wywoływania programów systemu operacyjnego. Po zakończeniu obsługi przerwania wznawiane jest wykonywanie przerwanego programu.

0x08 graphic

RYS 3 .SCHEMAT FUNKCJONALNY PROCESORA

Przyczyny przerwań:

Przy obsłudze przerwań dla zapamiętania stanu procesora i adresu kolejnego rozkazu do wykonania wykorzystywany jest STOS . Jest to fragment pamięci w postaci jednowymiarowej tablicy ze specyficznym sposobem umieszczania i zdejmowania danych .Element ostatnio położony na stosie jest wierzchołkiem stosu - tylko on może być pobrany ze stosu. Wskaźnik stosu - rejestr zawierający aktualny adres wierzchołka stosu.

Wszystkie operacje wykonywane przez procesor synchronizowane są impulsami przychodzącymi z zegara. Jedna instrukcja jest wykonywana w czasie kilku taktów zegara. Dlatego, gdy jego częstotliwość jest większa, procesor pracuje szybciej.

Rozkazy wykonywane przez mikroprocesory można podzielić na następujące grupy:

STRUKTURA ROZKAZU:

Lista rozkazów mikroprocesora składa się zwykle z rozkazów arytmetycznych, logicznych, przesłań, rozkazów skoku, zatrzymania, wejścia / wyjścia oraz wywołania podprogramu. Każdy z tych rozkazów ma zero, jeden lub dwa argumenty. Argumenty mogą być umieszczone bezpośrednio w kodzie rozkazu, w rejestrze lub w pamięci. W związku z różnymi sposobami adresowania argumentów istotne jest podanie sposobu ich odnalezienia, który zależy od zastosowanego sposobu adresacji.

Sposoby adresowania operandów

Sposób uzyskiwania argumentów nazywa się trybem adresowania

Istnieje wiele sposobów adresowania. Sposoby te związane są z konkretnym typem mikroprocesora. Najprostsze jest adresowanie natychmiastowe, gdy w formacie rozkazu po kodzie operacji następuje bezpośrednio argument, czyli nie ma potrzeby pobierać go ani z pamięci, ani z żadnego rejestru procesora.

Drugim popularnym trybem adresowania jest adresowanie rejestrowe. Żądany rejestr roboczy zazwyczaj jest wybierany przez wydzielone pole w kodzie operacji.

Jeśli w rejestrze roboczym jest umieszczony nie argument, lecz jego adres zwany wskaźnikiem argumentu, to otrzymuje się adresowanie wskaźnikowe, określane również jako rejestrowe pośrednie .

W adresowaniu bezpośrednim adres argumentu jest umieszczony wprost w części adresowej rozkazu.

Nazwa adresowanie indeksowe pochodzi od typowego zastosowania, związanego z operacjami na tablicach. Wówczas adres początku tablicy umieszcza się w części adresowej rozkazu, a pozycję (indeks) elementu tablicy określa zawartość rejestru indeksowego, którą można łatwo modyfikować (np. cyklicznie zwiększać lub zmniejszać o 1).

1

REJESTR ADRESOWY

00 00 00 00

00 00 00 00 : 00 00 00 0A

00 00 00 04 : 00 00 00 0B

00 00 00 08 : 00 00 00 00

00 00 00 0C : 02 08 00 00

00 00 00 10 : 10 08 00 04

00 00 00 14 : 08 00 00 08

00 00 00 18 : 01 00 00 00

00 00 00 00

REJESTR BUFOROWY

PAMIĘĆ OPERACYJNA

00 00 00 01

00 00 00 0C

00 00 00 00

00 00 00 00

00 00 00 00

00 00 00 00

00 00 00 00

REJESTR ŻĄDAŃ

REJESTR STANU

LICZNIK ROZKAZÓW

Akum.

REJESTR INSTRUKCJI

Akum.

ALU

REJESTR OPERANDA

REJESTR ADRESOWY

00 00 00 00

00 00 00 00 : 00 00 00 0A

00 00 00 04 : 00 00 00 0B

00 00 00 08 : 00 00 00 00

00 00 00 0C : 02 08 00 00

00 00 00 10 : 10 08 00 04

00 00 00 14 : 08 00 00 08

00 00 00 18 : 01 00 00 00

00 00 00 00

REJESTR BUFOROWY

PAMIĘĆ OPERACYJNA

Rysunek 1.Schemat pamięci operacyjnej i rejestru adresowego i buforowego pamięci

magistrala

1.wysłanie adresu komórki adresowa

----------------------------------------------

magistrala

2.wysłanie rozkazu czytania sterująca

----------------------------------------------

3.przesłanie zawartości komórki magistrala

do procesora danych

magistrala

1.wysłanie adresu komórki adresowa

----------------------------------------------

magistrala

2.zawartość do zapełnienia kom. sterująca

----------------------------------------------

3.rozkaz uaktualnienia zawartości magistrala

komórki danych

ARYTMOMETR

CZĘŚĆ ARYTMETYCZNO-LOGICZNA

CZĘŚĆ STERUJĄCA

PROCESORA

REJESTR

ARGUMENTÓW

REJESTRY

UNIWERSALNE

REJESTR

ARGUMENTÓW

REJESTR

WYNIKU

ZEGAR

AUTOMAT

DEKODER

LICZNIK ROZKAZÓW

REJESTR ROZKAZÓW

UKŁAD

STERUJĄCY



Wyszukiwarka

Podobne podstrony:
W4 Proces wytwórczy oprogramowania
WEWNĘTRZNE PROCESY RZEŹBIĄCE ZIEMIE
Proces tworzenia oprogramowania
Proces pielęgnowania Dokumentacja procesu
19 Mikroinżynieria przestrzenna procesy technologiczne,
4 socjalizacja jako podstawowy proces spoeczny
modelowanie procesˇw transportowych
Proces wdrazania i monitoringu strategii rozwoju
Wykorzystanie modelu procesow w projektowaniu systemow informatycznych
wyklad 12nowy procesy elektrodowe i korozja
33 Przebieg i regulacja procesu translacji

więcej podobnych podstron