lastscan4 (15)

lastscan4 (15)




1.


Poc2ątki systemu binarnego

Najstarsze ślady - Chiny -3000 p.n.e. traktat ,.Yi king" przedstawiający wynaleziony przez cesarza Fou-Hi system filozoficzny oparty na dwóch przeciwstawnych czynnikach Yang - męskim i Yin - Żeńskim. Zasady filozofii przedstawiano przy pomocy figur geometrycznych, których przykładem jest mozaika Chow-Tse. Regularność tę stanowiącą najstarszy dowód znajomości systemu binarnego odkrył Gotfied. W. l.eibnitz (1700)


10


2


Generacje komputerów.    ***

_generacja zero" - stanowiły ją konstrukcje eksperymentalne. Konstrukcje te oparte były o elementy elektromechaniczne Pod koniec pojawiają się pierwsze maszyny do budowy których próbowano uZyć lamp elektronowych. (Alan Turing wykazał że każdy algorytm można wykonać automatycznie jako skończony ciąg podstawowych operacji logicznych - maszyna Tunnga - 1937) generacja pierwsza (1951 - 1960) - powszechnie stosuje się lampy elektronowe. Umownym początkiem okresu jest wytworzenie w firmie Remington Rand komercyjnego komputera UNIVAC a niedługo potem (1952) pierwszego komputera elektronicznego firmy IBM. W okresie tym wynaleziono tranzystor bipolarny (W.B Shockley, I9S1) i opanowano technologię masowej produkcji tranzystorów krzemowych (1954).

generacja druga (1956 - 1964) - wytworzenie pierwszych komputerów tranzystorowych - prototyp pierwszego komputera z klawiaturą i monitorem ekranowym PDP -1 (1960) Wynalezienie tranzystora MOS (1970).

Generacja trzecia (1964 - 1975) cechą szczególną tego okresu jest dominacja technologii TTL (Transistor ... Logic) - upowszechnienie układów SS1 i MSI (Smali Scalę Integra!ion i Middel ), IBM System/360 i pierwszy minikomputer firmy DEC PDP - 8 (1965).    |

Generacja czwarta (1974 - 1999) - powszechne uZycie technologii VLSI Intel 8008 który stanowi! ulepszoną, 8 bitową wersję 4 bitowego 4004 (1971).


•    tryby adresowania - metody wyznaczania adresu umożliwiające elastyczne i dynamiczne adresowanie . pośrednie i wieloelementowe

•    pamięć wirtualna

•    nowe typy danych

Szybkość przetwarzania

Ograniczeniem mającym istotny wpływ na wydajność komputera jest szybkość i częstość komunikacji procesora 7 pamięcią Efekt ten zwany jest barierą von Noumanna (v«/t Keumann bottleneck). Czas dostępu do danych nrc zależy tylko do szybkości ich transmisji ale także od szybkości selekcji tych danych. Szybkość selekcji jest proporcjonalna do logarytmu liczby danych

Sposoby łagodzenia bariety von Ncumanna

•    implementacja rejestrów wewnętrznych

•    implementacja pamięci    podręcznej (cache)

•    przeplot pamięci

Przeplot pamięci - organizacja    pamięci fizycznej, pozwalająca na jednoczesne pobudzenie

(odczyl/zapis) komórek zlokalizowanych w różnych modułach Skraca czas selekcji u wyniku czego czas dostępu do pamięci (danych)

Wykład 2


3



Prawo Gordona Moora

Przełomowym momentem w najnowszej historii komputerów było opanowanie technologii wytwarzania układów scalonych co oprowadziło w krótkim czasie do opanowania technologii VLSI. Od tej pory zgodnie z empirycznie sformułowanym prawem Moora gęstość upakowania układów scalonych i ich szybkość (działania) podwaja się co 18 miesięcy.


Pamięci półprzewodnikowe. DRAM

Prognoza    1 Gb


128 Mb    1998r

2000r


Pojemność to jeden problem. Inny problem to niskie częstotliwości taktowania pamięci


Postęp w technologii.

Zmniejszenie rozmiaru (fizycznego) komórki atomowej (element logiczny) pozwala na stosowanie niższego napięcia zasilania jak również powoduje mniejsze opóźnienie sygnału elektrycznego (mniejszy czas propagacji sygnału) co pozwala stosować wyZsze częstotliwości taktowania układów. Niższe napięcie zasilania zmniejsza ilość emitowanego przez układ ciepła, które jest proporcjonalne do kwadratu napięcia zasilającego i częstotliwości pracy Intel dual vohage (mniejsze napięcie zasilania jądra procesora niż układów we/wy).

Producenci procesorów dążą do zmniejszania średnicy ścieżek przewodzących Średnica nazywana szerokością struktury wynosi obecnie 0,18 mikrona = 180 nm. Nadmierne zmniejszenie średnicy ścieżek może prowadzić do indukowania prądu w sąsiadujących ścieżkach a co za tym idzie do niestabilnej pracy układu. Aby tego uniknąć IBM opracował technologię masowej produkcji układów (SOI - Silicon On Insulator) w której dodatkowa warstwa tlenku krzemu oddziela tranzystory od krzemowego nośnika

Inną barierą w zmniejszaniu rozmiaru komórki jest sama technologia wytwarzania układów scalonych. W technologii lej używa się fotolitografii Fotolitografia umożliwia trawienie (usuwanie) krzemu przy pomocy naświetlania ultrafioletem Obecnie stosuje się ultrafiolet o długości fali 243 nm jednak gdy średnica ścieżki zostanie zmniejszona do 130 nm (0.13 mikrona) to wymusi to stosowanie krótszych długości fał 196 nm (deep UV) Zdaniem ekspertów nawet tak zaawansowana technologia nie pozwoli na zmniejszenie średnicy Ścieżki poniż.ej 80 nm (0,08 mikrona)

Prognozy dotyczące rozwoju procesorów

Intel zapowiada pojawienie się jesienią tego roku pierwszego 64-bilowego procesora do komputerów kłasy PC. Ciekawostka - prace nad 64-bitowym układem trwają także prace w Rosji. Elbrus 2K oczekiwany jest pod koniec przy szłego roku (2001)


Według AMD i intePa 1GHz procesory mają być dostępne w połowie bieżącego roku Już jesienią poprzedniego roku firma Kryotech zaprezentowała Athlona 700 pracującego z częstotliwością IGHz, którego przed przegrzaniem chronił mechanizm chłodzący tejże firmy. 7 lutego AMD zademonstrowała konwencjonalnie chłodzony procesor Athlon 1,1 GUz. Układ został wykonany w technologii HiP6L 180 nm przy wykorzystaniu miedzi do połączeń między elementami elektronicznymi Aby zwiększyć wydajność zintegrowano pamięć podręczną drugiego poziomu z< strukturami jądra, co pozwoliło na jej pracę z pełną prędkością procesora


AMD zapowiada. Ze w połowie bieżącego roku pojawią się „miedziane" Athlony (nazwy kodowe Thunderbtrd i Mustang).


Przetwarzanie potokowe

Kolejne fazy przetwarzania (wykonywania) rozkazu

•    F - jrohranic kodu rozkazu z pamięci (fetch)

•    D - dekodowanie (Jcco<łe)

   F - wykonanie (erecuie). w szczególności transfer rejestr - pamięć (łoadstore)

•    W - zapamiętanie wyniku (wrrre)

Odseparowanie układów wykonujących różne etapy kolejnych rozkazów umożliwia ich współbieżne wykonanie - wykonanie w trybie potokowym (pipelining). Podział każdego etapu na podetapy umożliwia skrócenie cyklu a co za tym idzie dalszy wzrost wydajności. Taki schemat przetwarzania nosi nazwę superpotokowego (stiperpipelined pipehne). Liczba podetapów cyklu rozkazu (głębokość potoku) nie może być dowolnie duża ponieważ podział na etapy wymaga użycia buforów separujących bloki odpowiedzialne za poszczególne etapy. Zbyt duża ilość buforów separujących zwiększa narzut czasu na cele organizacyjne i co za tym idzie prowadzi do zmniejszenia przepustowości potoku (rys 2 5. fołia).

Dalszy wzrost wydajności można osiągnąć przez powielanie jednostki wykonawczej i współbieżne wykonywanie rozkazów w równoległych potokach. Przetwarzanie rakie zwane superskalamym jest możliwe gdy między wykonywanymi rozkazami nie zachodzi konflikt danych Innym sposobem jest zwiększenia wydajności jest użycie specjalizowanych jednostek działających współbieżnie realizujących rozkazy określonych klas (jednostka stałe przecinkowa, jednostka zmiennoprzecinkowa, układ wykonań i a/przewidywanaia skoku).

We współczesnych procesorach stosuje się oba sposoby zwiększenia wydajności na raz

Wydajność potoku może być zmniejszona na skutek:

•    konfliktu sterowania - zaburzenie sekwencji przetwarzania na skutek skoku

•    konfliktu zasobu - jednoczesne żądanie dostępu do pamięci łub innego zasoliu unikatowego w komputerze (we/wy, itp.)

•    konfliktu danych - jednoczesne użycie lej samej danej

W celu wyeliminowania występujących w przetwarzaniu potokowym konfliktów dostępu do pamięci, spowodowanych jednoczesnymi żądaniami pobrania kolejnego rozkazu i przesłania danych należy pamięć podręczną pierwszego poziomu (cache LI) rozdzielić na dwie niezależne obszary danych i programu

Wydajność można także zwiększyć poprzez zastosowanie prognozy skoków (rozgałęzień). Prognoza taka może być realizowana statycznie na podstawie rozpoznania kodu rozkazu, jak i dynamicznie na podstawie historii i wzorców przetwarzania (Przykład procesor Pentium)

Innym sposobem podniesienia wydajności systemu jest grupowe przetwarzanie rozkazów. Rozwiązanie takie pozwała na wykonywanie rozkazów nie w kolejności, co pozwala uniknąć konfliktów związanych z próbą użycia lej samej danej i dostępu do tych samych zasobów systemu. Grupowe przetwarzanie rozkazów stosowane jest w procesorach nowszej generacji

Czas trwania wykonywania rozkazu zależy także od stopnia złożoności listy rozkazów Analiza częstości użycia rozkazów wykazała, iż dużo częściej wykonywane są rozkazy o małym stopniu złożoności mż rozkazy złożone Jeżeli szybsze wykonywanie rozkazów prostych może skompensować wydłużenie programu, wskutek eliminacji rozkazów złożonych to wzrośnie szybkość przetwarzania a także uproszczona będzie kornptlacja programów Spostrzeżenia te są źródłem koncepcji architektury RISC (Reduced Insintction Set Computer), w której uboższą listę rozkazów niż w architekturze CISC (Comple.e /nstuctiort Set Computer) kompensuje szybsze dekodowanie i wykonywanie tych rozkazów


Technologia „miedziana”. Coraz więcej producentów układów scalonych rezygnuje z aluminium. Stosując miedź jako materiał z którego wykonane są przewodzące elementy procesora. ^ (IBM i Motorola już w 1998r, procesor Power-PC) Stale zwiększana częstotliwość z jaką są taktowane procesory wymusi stosowanie miedzi gdyż aluminium jako materiał o większej rezystywności (większy opór) przy częstotliwościach rzędu 1GHz nagrzewało by się tak szybko iż trzeba by było stosować skomplikowane mechanizmy chłodzące procesor. Miedź jako lepszy przewodnik wytwarza mniej ciepła i pozwoli produkować procesory taktowane częstotliwościami do 3GHz Technologia miedziana jest tańsza od aluminiowej, lecz przy kontakcie miedż-krzem juź niewielkie ilości miedzi zanieczyszczają półprzewodnik pogarszając jego właściwości elektryczne. IBM w roku 1997 udało się wytworzyć pewną izolację obu materiałów za pomocą cienkiej warstwy azotku tantalu.


Definicja architektury

Architektura komputera - specyfikacja funkcjonalnych cech komputera opisanych listą rozkazów i wskazaniem obiektu ich oddziaływania

Organizacja komputera (implementacja) - struktura operacyjna odwzorowująca cechy funkcjonalne architektury komputera (np. struktura logiczna procesora).

Z perspektywy architektury sposób realizacji poszczególnych funkcji na poziomie struktur logicznych (bramki, przerzutniki) jest nieisiolny


Architektura komputera z programem zintegrowanym (model von Ncumanna 1945).

Trzy główne elementy komputera z programem zintegrowanym to: jednostka centralna (CPU), pamięć (me mory), magistrala.

Organizacja pamięci:


Organizacja komputera bywa też nazywana architekturo sprzętu (Hardware System Architecture. HSA) w odróźnibmu od funkcjonalnego opisu przetwarzania, zwanego architekturą listy rozkazów (Instruction Set Architecture, ISA). Oddzielenie w procesie projektowania jego organizacji (HSA) od architektury (ISA) umożliwia zaprojektowanie jednolitej architektury całej ródźmy urządzeń i ułatwia tworzenie różnych implementacji tej samej architektury (np Motorola 680x0, PowerPC).


informacja przechowywana jest w komórkach o jednakowym rozmiarze

każda komórka zawiera jednostkę informacji zwaną słowem

sposób przechowywania danych i instrukcji jest taki sam (kod nie zawiera etykiety)

struktura (kod) słowa nie pozwała odróżnić instrukcji od danych - interpretacja słowa zależy tylko od

sianu maszyny w chwili pobierania słowa z pamięci

komórki tworzą zbiór uporządkowany, a każdej komórce można przypisać unikatowy wskaźnik lokacji (adres).

• zawartość komórki pamięci może być zmieniona tylko przez procesor, w wyniku wykonania rozkazu lub/i przesiania słowa do pamięci

W modelu voo Neumanna program jest sekwencją instrukcji co oznacza. Ze w chwili wykonywania instrukcji znany jest adres lub sposób wyliczenia adresu następnej instrukcji. Do zmiany domyślnej kolejności wykonywania rozkazów służą rozkazy rozgałęzień (branch) łub skoków (Jump). które powodują wymuszenie nowej zawartości licznika rozkazów.

Kontrola poprawności wykonywania rozkazów. Przykład - dzielenie przez zero, realizowane według dowolnego algorytmu zawsze wytworzy jakiś wynik Niezbędne zatem staje się niezależne od programu testowanie poprawności wykonywanych rozkazów waz sygnalizacja zdarzeń, zwanych wyjątkami, zagrażających poprawnemu wykonaniu programu lub nawet utrzymania spójności systemu.


Cechy przejrzystej architektury.

a)    spójność - możliwość rekonstrukcji architektury na podstawie nie pełnej specyfikacji W szczególności rozkazy powinny mieć taką samą strukturę kodu, używać takich samych typów i formatów danych Jednakowe dla wszystkich rozkazów powinny być reguły zaokrąglania wyniku, reakcji na błędny argument, reguły obsługi wyjątków

b)    ortogonalność - niezależna (rozłączna) specyfikacja funkcji zaliczanych do odrębnych klas.

c)    trafność - specyfikacja i implementacja tylko tych funkcji które są logicznie spójne z definicją architektury Przejawami trafności są:

•    ekonomiczność - wyeliminowanie funkcji logicznie nie spójnych.

•    przezroczystość - oddzielenie architektury od organizacji

d)    ogólność - pełny zakres działania specyfrkowanych funkcji, wyznaczony tylko ich dziedziną i nie ograniczony aspektami organizacyjnymi Cechami ogólności są.

•    kompletność - funkcjonalna pełność w obrębie klas funkcji, której ubocznym skutkiem jest nieoszczędne wykorzystywanie przestrzeni kodowej

•    otwartość - możliwość rozwoju w ramach architektury



Alternatywą dla koncepcji von Neumanna jest architektura harwardzka pomysłu Howarda Aikena (1948), w której pamięć główną rozdzielono na dwie niezależne dostępne części danych i rozkazów. Rozwiązanie takie zabezpiecza kod przed przypadkowym zniszczeniem.

Proponowane rozszerzenia architektury von Ncumanna to:

*    stos programowy (stack) część pamięci o dostępie sekwencyjnym modelująca pracę bufora

typu L1FO (Last-in fmt-out), której użyci upraszcza wywoływanie procedur i umożliwia rekursję


Przykład

Przykład niespójności Intel 80x86 - modyfikacja rejestru watunków F przez wszystkie funkcje logiczne (AND, OR. XOR) oprócz negacji (NOT), Motorola 680x0 niezgodność typu i rozmiaru danej błyskawicznej instrukcji kopiowania MOVEQ i instrukcji dodawanta/odejmowama ADDQ/SUBQ


Michał Jur



Wyszukiwarka

Podobne podstrony:
LastScan10 (15) uMiii 3.3.1. CHARAKTERYSTYKA WYBRANYCH ZANIECZYSZCZEŃ WÓD Wśród licznych zanieczyszc
112 HIKEN Accel Próg. Rep. 24 (1990)111-5-15. Detector System for Secondary Reactions of Unstable Nu
15. Le systeme enseignant- sujet-instrument-novice (Tezplication, l ln$truction, 1’enseignement)

więcej podobnych podstron