1 / 31

W7 – Architektura zbioru rozkazów

W7 – Architektura zbioru rozkazów. Zdzisław Stryła Instytut Fizyki UAM. Czym jest architektura komputera. Architektura komputera = architektura zbioru rozkazów + architektura sprzętu;. Czym jest architektura zbioru rozkazów?.

lewis-chase
Download Presentation

W7 – Architektura zbioru rozkazów

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. W7 – Architektura zbioru rozkazów Zdzisław Stryła Instytut Fizyki UAM Zdzisław Stryła komputer

  2. Czym jest architektura komputera Architektura komputera = architektura zbioru rozkazów + architektura sprzętu; Zdzisław Stryła komputer

  3. Czym jest architektura zbioru rozkazów? Atrybuty systemu (komputerowego), tak jak są widziane przez programistę, to jest jako koncepcja struktury i właściwości funkcjonalne, bez uwzględniania organizacji przepływu danych i sterowania, konstrukcji logicznej i implementacji fizycznej. Amdahl, Blaaw, Brooks 1964 Zdzisław Stryła komputer

  4. Czym jest architektura zbioru rozkazów ? Zdzisław Stryła komputer

  5. The Instruction Set Architecture - ISA ISA: określa, co może wyrazić kompilator. ISA: określa, co musi wykonać sprzęt. ISA: jest słownikiem dla kompilatora. ISA: jest pośrednikiem pomiędzy kompilatorem, a sprzętem. Zdzisław Stryła komputer

  6. ISA - Architektura procesora - mikroarchitektura ISA - odnosi się do zestawu instrukcji widzianego przez programistę. Określa granicę między oprogramowaniem i sprzętem. Często ISA jest utożsamiana z architekturą procesora. Mikroarchitektura procesora odnosi się do wewnętrznej organizacji procesora. Różne procesory z różnymi mikroarchitekturami mogą mieć tę samą architekturę ISA. Zdzisław Stryła komputer

  7. Jak programista widzi maszynę?: • Jak są reprezentowane dane? • Gdzie można zapamiętywać dane? • Jak można odwoływać się do danych? • Które operacje na danych mogą być wykonane? • Jak są kodowane rozkazy? Zdzisław Stryła komputer

  8. Co trzeba określić?: Pobranie rozkazu • Format (kodowanie rozkazu); • Jak jest dekodowany? • Lokalizacja operandów i wyników: • Jeśli nie w pamięci, to gdzie? • Ile jawnych operandów? • Jak operandy są lokowane w pamięci? • Które mogą, lub nie mogą być w pamięci? • Typy i rozmiary danych • Operacje – które są wspierane? • Skąd następny rozkaz? dekodowanie rozkazu Pobranie operandu wykonanie Zapis wyniku Wyznaczenie adresu następnego rozkazu Zdzisław Stryła komputer

  9. Co trzeba określić? cd : • Organizacja zestawu( widocznych) rejestrów; • Typy i struktury danych; • KODOWANIE i reprezentacje; • Formaty rozkazów; • Zestaw rozkazów maszynowych; • Tryby adresowania i rozkazy udostępniające obiekty danych; • Wyjątki, I/O, przerwania; Zdzisław Stryła komputer

  10. Rejestry ogólnego przeznaczenia • Zalety rejestrów: • Rejestry są szybsze od pamięci; • Użycie rejestrów jest wygodniejsze dla kompilatora; • Rejestry są adresowane na kilku bitach (krótki rozkaz). • Wszystkie procesory są wyposażone w rejestry. • Zmniejsza się obciążenie magistral. Zdzisław Stryła komputer

  11. Rejestry w Pentium AKUMULATOR REJESTR WSKAŹNIKÓW LICZNIK PĘTLI AKUMULATOR POMOCNICZY ( *, / ) WSKAŹNIK ŁAŃCUCHA ŻRÓDŁOWEGO WSKAŹNIK ŁAŃCUCHA DOCELOWEGO WSKAŹNIK RAMKI STOSU WSKAŹNIK WIERZCHOŁKA STOSU Zdzisław Stryła komputer

  12. Rejestry w Pentium cd. REJESTRY SEGMENTOWE Z CZASÓW 8088 AKUMULATOR POMOCNICZY ( *, / ) LICZNIK ROZKAZÓW REJESTR STANU PROCESORA Zdzisław Stryła komputer

  13. Format rozkazu Po 2 bajty dla przestrzeni adresowej 64 kB 2 bajty dla przestrzeni adresowej 64 kB BAJT, GDY 256 ROZKAZÓW Zdzisław Stryła komputer

  14. Dużo tego – co robić? Organizacja akumulatorowa Użycie rejestru, lub adres domyślny Użycie rejestru, lub adres domyślny Licznik programu z automatyczną inkrementacją 2 bajty dla przestrzeni adresowej 64 kB BAJT, GDY 256 ROZKAZÓW Zdzisław Stryła komputer

  15. Typy rozkazów – operacje arytmetyczne, – operacje logiczne, – operacje logiczne na bitach, – przesyłanie danych, – rozkazy zmieniające kolejność wykonywania programu. Zdzisław Stryła komputer

  16. ROZKAZY ARYTMETYCZNE integer (binary + decimal) or FP Add, Subtract, Multiply, Divide Mogą być jedno-, dwu-, lub trójoperandowe. W niektórych procesorach występują różne rozkazy dla danych o różnych formatach. Mogą występować odrębne rozkazy mnożenia i dzielenia liczb bez i ze znakiem. Shift and rotate instructions: left or right shifts and rotations. Występują dwa typy przesunięć : logiczne i arytmetyczne. Zdzisław Stryła komputer

  17. ROZKAZY LOGICZNE Logical not, and, or, set, clear Shift shift left/right, rotate left/right Mogą być jedno-, dwu-, lub trójoperandowe. Występują dwa typy przesunięć : logiczne i arytmetyczne. Zdzisław Stryła komputer

  18. PRZESŁANIA Load (from memory) Store (to memory) memory-to-memory move register-to-register move input (from I/O device) output (to I/O device) push, pop (to/from stack) Zdzisław Stryła komputer

  19. Operacje bitowe Rozkazy operują na wyszczególnionych polach bitowych. Pole jest określane przez podanie jego rozmiaru i przesunięcia (offset) względem początku słowa. Rozkazy zwykle umożliwiają sprawdzenie stanu (dotyczy to różnych flag), ustawienie, zerowanie i ew. inne operacje. Zdzisław Stryła komputer

  20. Operacje na danych zmiennoprzecinkowych • Przesłania danych zmiennoprzecinkowych; • Rozkazy arytmetyczne, porównania,pierwiastkowania, wartość bezwzględna, funkcje trygonometryczne, operacje na typach nasyceniowych (MMX) i in. Zdzisław Stryła komputer

  21. Rozkazy zmieniające kolejność wykonywania programu. • skoki - bezwarunkowe • Rozgałęzienia – warunkowe; • Wywołania procedur; • Powroty z procedur; • Powroty z przerwań i wyjątków. Zdzisław Stryła komputer

  22. Rozkazy inne Rozkazy systemowe – umożliwiają użytkownikowi wpływać bezpośrednio na pracę procesora i innych części systemu komputerowego Rozkazy dla specjalnych jednostek funkcjonalnych (np. operacje graficzne). Rozkazy atomowe – sterujące dostępem do krytycznych części procesora. Zdzisław Stryła komputer

  23. Formaty rozkazów format 3-adresowy : opcode | Dest | Src1 | Src2; typowo używany przez procesory o architekturze rejestr-rejestr(load/store); format 2-adresowy : opcode | Dest/Src1 | Src2 ; architektura rejestr-pamięć (R/M). format 1-adresowy: opcode | Src; typowy dla maszyn akumulatorowych. format zeroadresowy: opcode; Maszyny stosowe. Zdzisław Stryła komputer

  24. Stosowa Push A Push B Add Pop C C := A + B Akumula-torowa Load A Add B Store C Pamięć- Pamięć Add C, A, B Architektury rejestrowe Rejestr-Pamięć Load R1, A Add R1, B Store C, R1 Rejestr- Rejestr Load R1, A Load R2, B Add R3,R2, R1, Store C, R3 zeroadresowy 1-adresowy 3-adresowy 2-adresowy 3-adresowy Zdzisław Stryła komputer

  25. Kryteria dla doboru zestawu rozkazów Kompletność : repertuar rozkazowy musi umożliwić wykonanie każdego algorytmu; Ortogonalność: dwa rozkazy nie mogą robić tego samego; Symetria: ADD –SUB; Adekwatność:więcej zasobów dla często używanych rozkazów; Wydajność:krótki czas wykonywania; Zdzisław Stryła komputer

  26. Dominująca architektura : 8086 • Złożoność: • rozkazy o rozmiarach od 1 do 17 bajtów; • Jeden z rejestrów musi być równocześnie źródłowym i docelowym. • Jeden z operandów może być pobrany z pamięci; • Złożone tryby adresowania - np. adresowanie bazowe lub skalowane indeksowe z 8- lub 32-bitowym przemieszczeniem. “what the 80x86 lacks in style is made up in quantity, - - better making it beautiful from the right perspective” Zdzisław Stryła komputer

  27. Formaty rozkazów Pentium Zdzisław Stryła komputer

  28. Formaty rozkazów Pentium -przedrostki Powtórzenia – powodują wielokrotne wykonanie rozkazów łańcuchowych ,, aż do wyzerowania CX, lub ustawienia flagi ZF”; 16/32 bity Zmiana domyślnego segmentu 16/32 bity Zdzisław Stryła komputer

  29. Formaty rozkazów Pentium Argument w rejestrze 8/16/32 bitowym Wybór rejestru bazowego Wybór rejestru indeksowego Argument w rejestrze lub pamięci Współczynnik skali Zdzisław Stryła komputer

  30. Adresowanie bazowo-indeksowe ze skalowaniem i deskryptoroweLA = ([wskaźnik segmentu]) + (baza) + (indeks) × skala + przemieszczenie, deskryptor adres segmentu + + Argument x Zdzisław Stryła komputer

  31. Formaty rozkazów w PDP-11 Zdzisław Stryła komputer

More Related