Architektura komputerów



Podobne dokumenty
Bazy danych. Andrzej Łachwa, UJ, /15

Budowa systemów komputerowych

API transakcyjne BitMarket.pl

Zobacz to na własne oczy. Przyszłość już tu jest dzięki rozwiązaniu Cisco TelePresence.

Mnożenie macierzy. Systemy z pamięcią współdzieloną Systemy z pamięcią rozproszoną Efektywność

Systemy wbudowane Mikrokontrolery

Microsoft Management Console

Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych ul. Koszykowa 75, Warszawa

MAKSYMALNA WYDAJNOŚĆ MŁOTY HYDRAULICZNE TYPU TXH

Rozliczenia z NFZ. Ogólne założenia. Spis treści

Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).

1. Reforma procesu kształcenia jako filar linii programowej PSRP

Zad.1 Pokazać pierwszeństwo trybu odmów przed zezwalaj.

WZÓR SKARGI EUROPEJSKI TRYBUNAŁ PRAW CZŁOWIEKA. Rada Europy. Strasburg, Francja SKARGA. na podstawie Artykułu 34 Europejskiej Konwencji Praw Człowieka

KRYTERIA DOSTĘPU. Działanie 2.1,,E-usługi dla Mazowsza (typ projektu: e-administracja, e-zdrowie)

Wykład 2. Budowa komputera. W teorii i w praktyce

Rozwiązywanie nazw w sieci. Identyfikowanie komputerów w sieci

2.Prawo zachowania masy

Charakterystyka systemów plików

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

Harmonogramowanie projektów Zarządzanie czasem

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Współczesne nowoczesne budownictwo pozwala na wyrażenie indywidualnego stylu domu..

1) Dziekan lub wyznaczony przez niego prodziekan - jako Przewodniczący;

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

OŚWIETLENIE PRZESZKLONEJ KLATKI SCHODOWEJ

Zagospodarowanie magazynu

REGULAMIN RADY RODZICÓW DZIAŁAJĄCEJ PRZY SZKOLE PODSTAWOWEJ NR 29 IM. GIUSEPPE GARIBALDIEGO W WARSZAWIE

Podstawa prawna: Ustawa z dnia 15 lutego 1992 r. o podatku dochodowym od osób prawnych (t. j. Dz. U. z 2000r. Nr 54, poz. 654 ze zm.

GENERALNY INSPEKTOR OCHRONY DANYCH OSOBOWYCH

Excel w logistyce - czyli jak skrócić czas przygotowywania danych i podnieść efektywność analiz logistycznych

Elementy cyfrowe i układy logiczne

Praca na wielu bazach danych część 2. (Wersja 8.1)

Bojszowy, dnia r. Znak sprawy: GZOZ/P1/2010 WYJAŚNIENIE TREŚCI SIWZ

Implant ślimakowy wszczepiany jest w ślimak ucha wewnętrznego (przeczytaj artykuł Budowa ucha

G PROGRAMMING. Part #4

PROE wykład 7 kontenery tablicowe, listy. dr inż. Jacek Naruniec

Formularz Zgłoszeniowy propozycji zadania do Szczecińskiego Budżetu Obywatelskiego na 2016 rok

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

Ostatnia cena sprzeda y klienta 1.0 dodatek do Symfonia Faktura dla 1 firmy

InsERT GT Własne COM 1.0

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

Geomagic Design X jest najbardziej wszechstronnym oprogramowaniem, które umożliwia:

Programowanie Zespołowe

PROCEDURA OCENY RYZYKA ZAWODOWEGO. w Urzędzie Gminy Mściwojów

REGULAMIN KONTROLI ZARZĄDCZEJ W MIEJSKO-GMINNYM OŚRODKU POMOCY SPOŁECZNEJ W TOLKMICKU. Postanowienia ogólne

PROGRAM ZAPEWNIENIA I POPRAWY JAKOŚCI AUDYTU WEWNĘTRZNEGO

Uchwała Nr 27/2012. Senatu Uniwersytetu Jana Kochanowskiego w Kielcach. z dnia 26 kwietnia 2012 roku

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Warszawa: Dostawa kalendarzy na rok 2017 Numer ogłoszenia: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - dostawy

Przeciąganie Gratowanie Automatyzacja

Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.

XIII KONKURS MATEMATYCZNY

Nowości w module: BI, w wersji 9.0

INSTRUKCJA TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT

Konfiguracja historii plików

Nowe funkcjonalności

Wpływ jakości świadczonych usług na doświadczenia abonenta w cyfrowym domu. Janusz Kilon

PROCEDURA PPZ-1. Nadzór nad dokumentami i zapisami SPIS TREŚCI

Regulamin Rady Rodziców

Regulamin Zarządu Pogórzańskiego Stowarzyszenia Rozwoju

W dobie postępującej digitalizacji zasobów oraz zwiększającej się liczby dostawców i wydawców

SST SZCZEGÓŁOWE SPECYFIKACJE TECHNICZNE.

Szybkoschładzarki SZYBKOSCHŁADZARKI. Szybkoschładzarki z funkcją 50 szybkozamrażania

Program zdrowotny. Programy profilaktyczne w jednostkach samorz du terytorialnego. Programy zdrowotne a jednostki samorz du terytorialnego

1. Korzyści z zakupu nowej wersji Poprawiono Zmiany w słowniku Stawki VAT Zmiana stawki VAT w kartotece Towary...

OPIS PRZEDMIOTU ZAMÓWIENIA DO ZAPYTANIA KE1/POIG 8.2/13

Instrukcja zarządzania systemem informatycznym służącym do przetwarzania danych osobowych

Przypomnienie najważniejszych pojęć z baz danych. Co to jest baza danych?

PROJEKTOWANIE PROCESÓW PRODUKCYJNYCH

Mechanizm zawarty w warunkach zamówienia podstawowego. Nie wymaga aneksu do umowy albo udzielenia nowego zamówienia. -

INFORMATOR TECHNICZNY WONDERWARE

KARTA OCENY ZGODNOŚCI Z LSR

KLOCKI W OKIENKU

PROCEDURA P-I-01. Iwona Łabaziewicz Michał Kaczmarczyk

art. 488 i n. ustawy z dnia 23 kwietnia 1964 r. Kodeks cywilny (Dz. U. Nr 16, poz. 93 ze zm.),

Jak korzystać z Group Tracks w programie Cubase na przykładzie EWQLSO Platinum (Pro)

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

OCHRONY DANYCH OSOBOWYCH Ewa Kulesza

KOMISJA WSPÓLNOT EUROPEJSKICH. Wniosek DECYZJA RADY

ZARZĄDZENIE NR 82/15 WÓJTA GMINY WOLA KRZYSZTOPORSKA. z dnia 21 lipca 2015 r.

PL B BUP 19/04. Sosna Edward,Bielsko-Biała,PL WUP 03/10 RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11)

AUDYT WEWNĘTRZNEGO SYSTEMU ZAPEWNIENIA JAKOŚCI KSZTAŁCENIA

Zintegrowane Systemy Zarządzania Biblioteką SOWA1 i SOWA2 SKONTRUM

INSTRUKCJA WebPTB 1.0

Projekt Schematom STOP! Wspólne działania instytucji pomocy społecznej i instytucji rynku pracy pilotaż

HAŚKO I SOLIŃSKA SPÓŁKA PARTNERSKA ADWOKATÓW ul. Nowa 2a lok. 15, Wrocław tel. (71) fax (71) kancelaria@mhbs.

Metody wyceny zasobów, źródła informacji o kosztach jednostkowych

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Uchwała Nr... Rady Miejskiej Będzina z dnia roku

Instalacja programu. Omówienie programu. Jesteś tu: Bossa.pl

Objaśnienia do Wieloletniej Prognozy Finansowej na lata

5. Źródła i sposoby finansowania

ZARZĄDZENIE NR 713 DYREKTORA GENERALNEGO SŁUŻBY WIĘZIENNEJ z dnia \ 0 marca 2013 r.

Generowanie kodów NC w środowisku Autodesk Inventor 2014

RAPORT Z EWALUACJI WEWNĘTRZNEJ. Młodzieżowego Domu Kultury w Puławach W ROKU SZKOLNYM 2014/2015. Zarządzanie placówką służy jej rozwojowi.

Transkrypt:

Architektura komputerów Tydzień 6 RSC i CSC

Znaczenie terminów CSC Complete nstruction Set Computer komputer o pełnej liście rozkazów. RSC Reduced nstruction Set Computer komputer o zredukowanej liście rozkazów.

Filozofia CSC Złożone listy rozkazów zaprojektowano w celu: ułatwienia tworzenia kompilatorów poprawienia efektywności wykonywania (złożone operacje odpowiadają pojedynczym instrukcjom procesora) wspierania złożonych języków wysokiego poziomu

Filozofia RSC Prosty zbiór rozkazów Duża liczba rejestrów roboczych Optymalizacja wykorzystania rejestrów przez kompilator Akcent na optymalizację potoku rozkazów

Operacje W programach kompilowanych z języków wysokiego poziomu dominują instrukcje: przemieszczenia danych skoków warunkowych i porównania Najbardziej czasochłonne są operacje wywołania podprogramu i powrotu. Te właśnie instrukcje powinny być zoptymalizowane przez procesor.

Argumenty Większość odniesień do danych dotyczy prostych zmiennych skalarnych. Ponad 80% tych skalarów to zmienne lokalne. Dlatego ważny jest szybki dostęp do argumentów. Z badań wynika, że pierwszym kandydatem do optymalizacji jest mechanizm przechowywania i osiągania zmiennych skalarnych.

Wywołania procedur Najbardziej czasochłonne operacje, dlatego korzystne byłoby ich zoptymalizowanie. Badania wykazały, że: 98% procedur używa mniej niż 6 argumentów 92% z nich używa mniej niż 6 lokalnych zmiennych skalarnych. Czyli liczba słów przypadająca na jedno wywołanie nie jest wielka.

Użycie dużej tablicy rejestrów Potrzebny jest szybki dostęp do argumentów. Większość odniesień do argumentów dotyczy lokalnych skalarów, które łatwo możemy przechowywać w rejestrach. Rejestry są najszybszą dostępną pamięcią. Zminimalizowanie operacji dostępu do pamięci pozwala zwiększyć wydajność.

Okna rejestrów Większość odniesień dotyczy lokalnych skalarów, więc najlepiej przechowywać je w rejestrach, z zostawieniem kilku rejestrów na zmienne globalne. Pojęcie lokalności zmienia się z każdym wywołaniem procedury i powrotem. Możemy użyć wielu małych zestawów rejestrów przypisanych do konkretnych procedur.

Okna rejestrów H.loc H.in G.loc G.in A.in w6 w7 F.loc A.loc w5 w0 F.in B.in w4 w1 E.loc B.loc w2 w3 E.in C.in C.loc D.in D.loc wn okno rejestrów dostępnych na raz X.in parametry procedury X X.loc dane lokalne procedury X Okno w0 zawiera parametry wejściowe procedury A (A.in), zmienne lokalne procedury A (A.loc) oraz rejestry na parametry wywołania nowej procedury (B.in). Po wywołaniu procedury B okno bieżące jest zmieniane na w1, udostępniając nowy zestaw rejestrów na zmienne lokalne i do wywołania kolejnej procedury.

Zmienne globalne Opisany wcześniej układ stanowi efektywną organizację do przechowywania zmiennych lokalnych w rejestrach. Nie odpowiada jednak potrzebom przechowywania zmiennych globalnych. Są dwa możliwe rozwiązania: Przypisanie zmiennych globalnych do lokalnych rejestrów dla każdej procedury. Wydzielenie rejestrów globalnych.

Duża tablica rejestrów a pamięć podręczna Tablica rejestrów zorganizowana w postaci okien jest podobna do pamięci cache. Tablica rejestrów może nieefektywnie wykorzystać przestrzeń, ponieważ wiele procedur nie wykorzysta wszystkich przypisanych rejestrów. Pamięć cache wczytuje dane w blokach, z których część nie będzie nigdy wykorzystana.

Porównanie własności Tablica rejestrów Wszystkie skalary lokalne Pojedyncze zmienne Zmienne globalne przypisane przez kompilator Zachowywanie/odtwarza nie oparte na głębokości zagnieżdżenia procedury Adresowanie rejestrów Pamięć podręczna Ostatnio używane skalary lokalne Bloki pamięci Ostatnio używane zmienne globalne Zachowywanie/odtwarza nie oparte na algorytmie wymiany pamięci cache Adresowanie pamięci

Dostęp do lokalnych zmiennych Rozkaz R Rejestry Rozkaz Adres Pamięć podręczna Numer okna Dekoder Dane Znaczniki Dane Dane Porównanie Wybór Tablica rejestrów oparta na oknach Pamięć podręczna Dane

Optymalizacja kompilatorem Celem kompilatora jest maksymalnie długie przechowywanie argumentów w rejestrach i minimalizacja operacji ładowania i zapisu do pamięci. Każda zmienna jest przypisywana do rejestru symbolicznego. Następnie nieograniczona liczba rejestrów symbolicznych jest odwzorowywana na rzeczywiste. stotą optymalizacji jest zdecydowanie które wielkości mają być przypisane rejestrom w określonym punkcie programu.

Powody używania CSC Łatwiejsze tworzenie kompilatorów Oczekiwanie mniejszych programów (mniej instrukcji). Oczekiwanie wydajniejszych programów (jedna złożona instrukcja powinna wykonać się szybciej niż kilka prostszych). Zgodność z istniejącym oprogramowaniem.

Powody używania RSC Prosta konstrukcja procesora zapewnia jego większą wydajność. Jedna instrukcja jest wykonywana w jednym cyklu zegara. Prawie cała optymalizacja wydajności leży po stronie kompilatora. Dzięki temu możliwe jest tworzenie coraz lepszych kompilatorów dla istniejącego już sprzętu.

liczba rozmiarów rozkazów maksymalny rozmiar rozkazu (w bajtach) liczba trybów adresowania adresowanie pośrednie operacje arytmetyczne z dostępem do pamięci maksymalna liczba argumentów pamięci adresowanie nie wyrównane do słowa maksymalna liczba zastosowań MMU liczba bitów numeru rejestru całkowitego liczba bitów numeru rejestru zmiennopozyc. Porównanie własności Złożoność dekodowania Trudność przetwarzania potokowego Wspieranie kompilatora Procesor AMD29000 1 4 1 nie nie 1 nie 1 8 3 SPARC HP PA BM 390 ntel i486 ntel i960 PowerPC Alpha 1 4 2 nie nie 1 nie 1 5 4 1 4 10 nie nie 1 nie 1 5 4 3 6 2 nie tak 2 tak 4 4 2 12 12 15 nie tak 2 tak 4 3 3 2 8 9 nie nie 1 tak 1 5 3 1 4 5 nie nie 1 tak 1 5 5 1 4 1 nie nie 1 tak 1 5 5

Potoki RSC Większość rozkazów jest typu rejestrrejestr i ma dwie fazy: : pobranie rozkazu E: wykonanie rozkazu Operacje ładowania i zapisu mają jeszcze trzecią fazę: D. Operacja dostępu do pamięci (pamięć-rejestr lub rejestr-pamięć). Jeśli rozkaz używa argumentu zmienionego przez poprzedni, potrzebne jest opóźnienie

Przebieg czasowy przetwarzania potokowego Ładuj A M Ładuj B M NOOP Dodaj C A+B E D E D E E Zapisz M C Skok do X E D E Musimy użyć instrukcji NOOP ponieważ w przeciwnym wypadku faza wykonania instrukcji dodawania pokryłaby się z fazą pobierania danych poprzedniej instrukcji ładowania.

Optymalizacja przetwarzania potokowego 100 Ładuj A M 101 NOOP 102 Dodaj A A+ E D E E 100 Ładuj A M 101 Skok do 105 102 Dodaj A A+ E D E E 103 Skok do 106 106 Zapisz M A E E D 105 Zapisz M A E D Rozkaz pusty umożliwia dodawanie Zamieniona kolejność pozwala pominąć rozkaz pusty Dzięki zamianie kolejności rozkazów skoku i dodawania możliwe jest pominięcie pustej instrukcji opóźniającej. Taka zamiana jest jednak możliwa tylko w przypadkach, kiedy nie zmieni to wyniku operacji.

Przyszłość RSC i CSC W ciągu ostatnich lat polemika RSC kontra CSC właściwie zanikła. Stopniowo technologie się przenikają: systemy RSC stały się bardziej złożone, architektury CSC wdrażają wiele rozwiązań związanych z RSC. Np. procesory rodziny Pentium zawierają wewnętrzne jądro w architekturze RSC z układem tłumaczącym instrukcje CSC na sekwencje mikrorozkazów wewnętrznych