Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów

Podobne dokumenty
Architektura komputerów

1 Zarys architektury MIPS

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Architektura komputerów

Lista Rozkazów: Język komputera

Struktura i działanie jednostki centralnej

Architektura komputerów

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Organizacja typowego mikroprocesora

Architektury systemów komputerowych

ARCHITEKTURA PROCESORA,

KLASYCZNE ZDANIA KATEGORYCZNE. ogólne - orzekaj co± o wszystkich desygnatach podmiotu szczegóªowe - orzekaj co± o niektórych desygnatach podmiotu

Programowanie i struktury danych 1 / 44

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Budowa systemów komputerowych

Liczby zmiennoprzecinkowe

Przetwarzanie sygnaªów

Architektura typu Single-Cycle

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Architektura komputerów

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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

1. Wprowadzenie do C/C++

Edycja geometrii w Solid Edge ST

Mateusz Rzeszutek. 19 kwiecie«2012. Sie VLAN nie zmienia nic w kwestii domen kolizyjnych. przynale»no± w oparciu o numer portu

Rozszerzalne kody operacji (przykład)

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Podstawy modelowania w j zyku UML

x y x y x y x + y x y

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Architektura komputerów. Asembler procesorów rodziny x86

Bazy danych. Andrzej Łachwa, UJ, /15

Metodydowodzenia twierdzeń

1. Wprowadzenie do C/C++

Dyskretyzacja i kwantyzacja obrazów

Lab. 02: Algorytm Schrage

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Ekonometria - wykªad 8

2 Liczby rzeczywiste - cz. 2

Bash i algorytmy. Elwira Wachowicz. 20 lutego

. III atyka, sem, Inform Symulator puterów Escape rchitektura kom A

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

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

Dokªadny jak komputer?

Cyfrowe Ukªady Scalone

Baza danych - Access. 2 Budowa bazy danych

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

1 Bª dy i arytmetyka zmiennopozycyjna

Marie wprowadzenie do budowy prostego komputera

organizacja procesora 8086

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

Interpolacja Lagrange'a, bazy wielomianów

Mikro II: Krzywe kosztów, Poda» rmy i Poda» gaª zi.

Programowanie i struktury danych

Programowanie wspóªbie»ne

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

Listy i operacje pytania

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki

Niezależnie od rodzaju materiału dźwiękowego ocenie podlegały następujące elementy pracy egzaminacyjnej:

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Kategorie inwestycyjne poprowadzenia ruchu rowerowego

Wst p do sieci neuronowych, wykªad 14 Zespolone sieci neuronowe

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

1 Metody iteracyjne rozwi zywania równania f(x)=0

Systemy wbudowane Mikrokontrolery

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

Android. Podstawy tworzenia aplikacji. Piotr Fulma«ski. March 4, 2015

Podstawy modelowania w j zyku UML

Wzorce projektowe strukturalne cz. 1

Wstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer

Podstawy programowania w języku C i C++

19. Obiektowo± 1 Kacze typowanie. 2 Klasy

Ukªady Kombinacyjne - cz ± I

MiASI. Modelowanie analityczne. Piotr Fulma«ski. 18 stycznia Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Projektowanie. Projektowanie mikroprocesorów

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin

U M O W A. zwanym w dalszej części umowy Wykonawcą

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Informacje pomocnicze

1 Rodzaje pami ci. 2 Hierarchia pami ci. 3 Lokalno± odwoªa« 4 Pami podr czna

Edyta Juszczyk. Akademia im. Jana Dªugosza w Cz stochowie. Lekcja 1Wst p

MODEL HAHNFELDTA I IN. ANGIOGENEZY NOWOTWOROWEJ Z UWZGL DNIENIEM LEKOOPORNO CI KOMÓREK NOWOTWOROWYCH

Architektura Systemów Komputerowych. Sterowanie programem skoki Przerwania

SYSTEM MIKROPROCESOROWY

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24

architektura komputerów w 1 1

W zadaniach na procenty wyró»niamy trzy typy czynno±ci: obliczanie, jakim procentem jednej liczby jest druga liczba,

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Metody numeryczne i statystyka dla in»ynierów

Funkcje, wielomiany. Informacje pomocnicze

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Transkrypt:

Rzut oka na zagadnienia zwi zane z projektowaniem list rozkazów 1 Wst p Przypomnijmy,»e komputer skªada si z procesora, pami ci, systemu wej±cia-wyj±cia oraz po- ª cze«mi dzy nimi. W procesorze mo»emy wyró»ni jednostk steruj c, zestaw rejestrów oraz jednostk arytmetyczno-logiczn (oczywi±cie komponenty te s ze sob poª czone). Na pami patrze b dziemy jak na liniow tablic, do której pól odwoªujemy si podaj c ich adresy. Program to ci g rozkazów. Rozkazy umieszczone s w pami ci. Wykonanie programu polega na realizacji nast puj cego cyklu: Pobranie rozkazu zaªadowanie do znajduj cego si w procesorze rejestru rozkazów rozkazu znajduj cego si w pami ci pod adresem wskazywanym przez inny rejestr licznik rozkazów. Zdekodowanie rozkazu wygenerowanie na podstawie kodu rozkazu odpowiednich sygna- ªów, które spowoduj prawidªowe wykonanie rozkazu Wykonanie rozkazu np. wykonanie odpowiednich operacji arytmetycznych, przesªanie danych, itp. Po wykonaniu rozkazu nast puje zwi kszenie licznika rozkazów (wyj tkiem s rozkazy skoku, które same ustawiaj warto± licznika rozkazów) i cykl si powtarza. Rozkazy s kodowane oczywi±cie za pomoc ci gów zero-jedynkowych. Cz ± rozkazu to kod operacji (co zrobi?), reszta to zazwyczaj opis operandów (gdzie w rejestrach lub pami ci s argumenty operacji?). Na tym wykªadzie zwrócimy uwag na kilka zagadnie«zwi zanych z projekotwaniem listy rozkazów. Listy rozkazów s jednym z najwa»nieszych elemetnów odró»niaj cych poszczególne architektury. Co wi cej, listy rozkazów s zazwyczaj trwalsze od konkretnych implementacji sprz towych. 1.1 Decyzje podejmowane przy projektowaniu list rozkazów Projektuj c ISA warto zwróci uwag na nast puj ce zagadnienia: dªugo± instrukcji: krótkie s szybciej wykonywane i zajmuj mniej miejsca, ale nie mo»e ich by zbyt du»o (bo potrzebujemy pewnej liczby bitów na kody operacji) i nie mog mie zbyt wielu operandów; liczba operandów w instrukcji (0,1,2,3), nie zawsze staªa staªa czy zmienna dªugo± instrukcji: instrukcje o staªej dªugo±ci upraszczaj architektur, ale marnuje si wtedy zazwyczaj miejsce. 1

organizacja pami ci (bajtowa, sªowowa) sªowo maszynowe to zazwyczaj kilka bajtów (2,4,8); w jakiej kolejno±ci przechowywa bajty sªowa (little endian, big endian) tryby adresowania liczba rejestrów i ich organizacja poªo»enie operandów (rejestr-rejestr, rejestr-pami, pami -pami ) rodzaje instrukcji rodzaje argumentów (liczby, adresy, znaki,...) 1.2 Little endian i big endian Wi kszo± wspóªczesnych komputerów adresuje pami bajtowo. Istotne jest zatem w jakiej kolejno±ci le» bajty sªowa. Dwie mo»liwo±ci: kolejno± naturalna (big endian) i odwrotna (little endian). Wi kszo± komputerów unixowych jest zgodna z big endian, wi kszo± pecetów z little endian. Niektóre procesory obsªuguj oba standardy. Przykªad: jak pami ta szesnastkow warto± 12345678 w obu standardach. Rysunek 1. Rysunek 1: Little endian i big endian 1.3 Format rozkazów Liczba operandów i liczba dost pnych rejestrów ma bezpo±redni wpªyw na dªugo± rozkazów. Jak wspomnieli±my dªugo± rozkazów mo»e by staªa lub zmienna. Oba rozwi zania maj wady i zalety. Najcz ±ciej wybiera si rozwi zanie po±rednie: mamy ustalone z góry 2-3 mo»liwe dªugo±ci rozkazów. Najcz ±ciej spotykane formaty rozkazów przewiduj od zera do trzech operandów: sam kod operacji kod operacji + jeden adres (zazwyczaj w pami ci) kod operacji + dwa adresy (2 rejestry lub rejestr, pami ) kod operacji + trzy adresy (3 rejestry lub rejestry i pami ) Istniej architektury, w których prawie wszystkie instrukcje u»ywaj zera operandów chodzi o architektury stosowe. Rozwa»my wyra»enie Z = (X Y ) + (W U) i spróbujmy napisa programy, które je wylicza u»ywaj kolejno ISA bazuj cych na rozkazach o ró»nych liczba operandów. Na pocz tek trzy operandy (tego typu rozkazy przewa»aj w architekturze MIPS, któr niedªugo poznamy): 2

R1, X, Y R2, W, U Add Z, R2, R1 Teraz ISA dwuargumentowa. Zazwyczaj wtedy jeden argument jest w rejestrze, a drugi jest rejestrem lub jest w pami ci. Load R1, X R1, Y Load R2, W R2, U Add R1, R2 Store Z, R1 W powy»szych przykªadzie pierwszy operand okre±la adres docelowy. Tak zorganizowane s rozkazy Intela. W Motoroli jest odwrotnie. Teraz nasz program napiszemy za pomoc rozkazów jednoargumentowych (drugi argument i adres docelowy s domy±lne specjalny rejestr akumulatorowy) : Load Store Load Add Store Add Pop X Y W U Temp Temp Z I na koniec architektura stosowa: Z X Y W U 2 Rodzaje rozkazów Standardowy podziaª rozkazów: przenosz ce dane (pami -rejestry, rejestry-rejestry; mo»emy mie osobne rozkazy dla obu grup) arytmetyczne (caªkowitoliczbowe i zmiennoprzecinkowe; ró»ne rozkazy dla danych ró»nej dªugo±ci; inne rozkazy na rejestrach, inne na pami ci; ró»ne rozkazy dla ró»nych trybów adresowania) logiczne (AND, OR, NOT, XOR) manipuluj ce bitami (przesuwanie bitów arytmetyczne i logiczne, obracanie) 3

I/O (bardzo zró»nicowane w ró»nych architekturach; obsªuga programowa, przerwania, urz dzenia DMA) przekazuj ce sterowanie (skoki warunkowe i bezwarunkowe, rozkazy pomini cia, wywoªania procedur) specjalne (przetwarzanie ªa«cuchów znaków, wspomaganie j zyków wysokiego poziomu, zapewniaj ce ochron, steruj ce rejestrem agowym, zarz dzaj ce pami ci podr czn ) 3 Adresowanie 3.1 Podstawowe tryby adresowania 1. adresowanie natychmiastowe warto±ci przechowywane w rozkazie to rzeczywiste argumenty staªe (a nie ich adresy) 2. adresowanie bezpo±rednie warto± w rozkazie to adres rzeczywistego argumentu w pami ci 3. adresowanie rejestrowe warto± w rozkazie to numer (adres) rejstru 4. adresowanie po±rednie warto± w rozkazie to adres adresu rzeczywistego argumentu 5. adresownaie po±rednie rejestrowe warto± w rozkazie to numer rejestru, w którym jest adres rzeczywistego argumentu w pami ci 6. adresowanie indeksowe i adresowanie wzgl dem bazy w adresowaniu indeksowym wykorzystuje si rejestr indeksowy (domy±lny lub okre±lony w rozkazie), w którym przechowywana jest warto± przesuni cia, któr trzeba doda do operandu, aby uzyska rzeczywisty adres argumentu; w adreswoaniu bazowym adres wylicza si identycznie; ró»nica polega na ogólnej koncepcji u»ycia: rejestr indeksowy zawiera przesuni cie, rejestr bazowy baz ); oba tryby przydaj si przy operacjach na tablicach i ªa«cuchach. 7. adresowanie stosowe operand na stosie 8. inne tryby adresowania: po±rednie indeksowe, automatycznie zwi kszaj ce si lub malej ce adresy, wzgl dne adres wzgl dem aktualnej instrukcji; Ilustracja ró»nych trybów adresowania na rysunku 2 4

Rysunek 2: Podstawowe tryby adresowania 5