Architektura komputerów

Podobne dokumenty
MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Organizacja typowego mikroprocesora

Rozszerzalne kody operacji (przykład)

Architektura komputerów

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

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

Struktura i działanie jednostki centralnej

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

Architektura komputerów

ARCHITEKTURA PROCESORA,

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Architektura komputerów. Asembler procesorów rodziny x86

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

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

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]

Technika mikroprocesorowa I Wykład 2

Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Architektura typu Single-Cycle

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

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa Mikrokomputera

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

organizacja procesora 8086

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

MIKROKONTROLERY I MIKROPROCESORY

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Sprzęt i architektura komputerów

Architektura komputerów

Magistrala systemowa (System Bus)

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

LEKCJA TEMAT: Współczesne procesory.

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Programowanie Niskopoziomowe

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

SYSTEM MIKROPROCESOROWY

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Architektura systemów komputerowych

Architektura komputerów

architektura komputerów w 1 1

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Projektowanie. Projektowanie mikroprocesorów

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

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

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

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

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Sprzęt i architektura komputerów

Przykładowe pytania DSP 1

Budowa komputera Komputer computer computare

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

LEKCJA TEMAT: Zasada działania komputera.

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Ćwiczenie 3. Konwersja liczb binarnych

Kurs Zaawansowany S7. Spis treści. Dzień 1

Lista rozkazów mikrokontrolera 8051

Lista instrukcji mikroprocesora Programowanie w assemblerze

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

BUDOWA I DZIAŁANIE MIKROPROCESORA

Model programowy komputera I: format rozkazów, lista rozkazów, tryby adresowania, cykl rozkazowy, realizacja programu w komputerze.

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Programowanie Niskopoziomowe

Architektura komputera

Architektura systemów komputerowych. dr Artur Bartoszewski

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

Mikroinformatyka. Wielozadaniowość

Język programowania: Lista instrukcji (IL Instruction List)

Ćwiczenie nr 4. Zasady kodowania podprogramów

Architektura komputerów

Architektura komputerów

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

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

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Podstawy Techniki Mikroprocesorowej

Procesory rodziny x86. Dariusz Chaberski

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

Pytania. W obecnie wykorzystywanych komputerach osobistych jest stosowana architektura: jednoszynowa. pamięciowo-centryczna.

Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC

Programowanie Niskopoziomowe

Lista Rozkazów: Język komputera

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Materiały do wykładu. 4. Mikroprocesor. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski

Mikroprocesor Operacje wejścia / wyjścia

Mikrokontroler ATmega32. Język symboliczny

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

Procesory. Schemat budowy procesora

Transkrypt:

Architektura komputerów Wykład 3 Jan Kazimirski 1

Podstawowe elementy komputera. Procesor (CPU) 2

Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania 3

Podstawowe elementy komputera CPU PAMIĘĆ URZĄDZENIA WE/WY SZYNA DANYCH SZYNA ADRESOWA SZYNA STERUJĄCA 4

CPU CPU Central Processing Unit Wykonuje rozkazy programu komputerowego umieszczonego w pamięci komputera Elementy Jednostka arytmetyczno-logiczna (ALU) Rejestry sprzętowe Układy sterujące 5

ALU Jednostka arytmetyczno-logiczna Wykonuje podstawowe operacje matematyczne i logiczne Operuje na binarnych liczbach całkowitych bez znaku, lub w kodzie uzupełnienia do dwóch (czasami również inne kodowania np. BCD) Zakres liczb zależy od tzw. szerokości słowa maszynowego 8,16,32,64,128 bitów 6

FPU FPU Floating Point Unit jednostka obliczeń zmiennoprzecinkowych Wykorzystuje standard IEEE 754 zapisu zmiennopozycyjnego Formaty 32 lub 64 bity (inne stosowane do wyników pośrednich) Dawniej dostępna jako osobny układ, obecnie najczęściej zintegrowana 7

Zbiór instrukcji procesora Pełny zestaw rozkazów zrozumiałych przez procesor Postać binarna kod maszynowy Postać wygodniejsza dla człowieka zapis symboliczny assembler Język niskiego poziomu pełna kontrola nad postacią maszynową programu 8

Wykonywanie instrukcji maszynowej Pobranie instrukcji Dekodowanie instrukcji Wyliczenie adresu operandu i pobranie operandu Wykonanie operacji Wyliczenie adresu rezultatu i zapisanie rezultatu 9

Pobieranie i zapis danych Dane mogą być zapisywane i pobierane z: Pamięci operacyjnej Jednego z rejestrów procesora Urządzenia zewnętrznego 10

Format instrukcji Każda instrukcja ma unikalny wzorzec bitowy Wzorce bitowe instrukcji są dekodowane po załadowaniu instrukcji do rejestru instrukcji (IR) Zapis symboliczny instrukcji: np. ADD, MOV, DIV, JMP itd. Zaawansowane assemblery pozwalają na symboliczny zapis położenia danych np. ADD R, Y 11

Przykład formatu instrukcji Kod instrukcji Operand 1 Operand 2 4 bity 6 bitów 6 bitów 16 bitów 12

Typy instrukcji Przetwarzanie danych (instrukcje arytmetyczne, logiczne, konwersji) Transfer danych (pamięć rejestr, rejestr rejestr, rejestr stos) Instrukcje wejścia/wyjścia Instrukcje sterujące 13

Liczba operandów 0 operandów wszystkie operandy w domyślnych lokacjach (np. na stosie) 1 operand dla operacji dwuargumentowych drugi argument w domyślnej lokacji (np. Akumulator) 2 operandy jeden z operandów jest jednocześnie lokacją rezultatu 3 i więcej operandów złożone instrukcje CISC 14

Typy operandów Adresy (pamięć, rejestry) Liczby (całkowite, rzeczywiste, BCD) Znaki Dane logiczne (bity, flagi) 15

Instrukcje przetwarzanie danych Instrukcje arytmetyczne dodawanie, odejmowanie, mnożenie, dzielenie Operacje przesunięcia i rotacji (przesuwanie bitów) Operacje logiczne i bitowe (AND,OR,NOT,XOR) Operacje konwersji (np. Dwójkowa dziesiętna, dwójkowa - BCD) 16

Instrukcje transfer danych Ładowanie danych z pamięci do rejestrów i z rejestrów do pamięci Ładowanie danych bezpośrednich do rejestrów i pamięci. Przenoszenie danych w pamięci Operacje na stosie 17

Instrukcje wejście/wyjście Realizowane za pomocą rozkazów maszynowych (IN, OUT) Realizowane za pomocą zwykłych przesłań (przestrzeń I/O mapowana w pamięci) Stosowanie kontrolerów DMA 18

Instrukcje - sterowanie Instrukcje skoków warunkowych i bezwarunkowych Instrukcje wywołania i powrotu z podprogramu Obsługa przerwań Instrukcje zarezerwowane dla systemu operacyjnego 19

Stos Stosowany do realizacji wywołań podprogramów oraz tymczasowego przechowywania danych Realizacja sprzętowa i programowa: Stos sprzętowy osobne układy logiczne Stos programowy wydzielony obszar pamięci segment stosu, wierzchołek stosu przechowywany w rejestrze. 20

Stos c.d. Stos pozwala na realizację zagnieżdżonych skoków do podprogramów. Wykorzystywany jest również do przekazywania danych z i do podprogramów Na stosie można np. zachować zawartość rejestrów aby nie uległa zamazaniu w trakcie wykonywania podprogramu lub procedury obsługi przerwania. 21

Skok ze śladem SS:FFFA??? SS:FFFB??? SS:FFFC??? SS:FFFD??? SS:FFFE??? SS:FFFF??? SP Program wykonuje zwykłą instrukcję, nie korzysta ze stosu PC CS:0000 ADD A,B CS:0001 MOV HL,$0200 CS:0002 ROT 4 CS:0003 CALL 0100 CS:0004 MOV $0200,HL... CS:0100 INT 13 CS:0101 MOV HL,AB CS:0102 ADD HL,15 CS:0103 RET 22

Skok ze śladem SS:FFFA??? SS:FFFB??? SS:FFFC??? SS:FFFD??? SS:FFFE??? SS:FFFF CS:0004 SP Program napotkał instrukcję skoku Adres kolejnej instrukcji umieszczany jest na stosie Licznik programu ustawiany jest na instrukcję podprogramu PC CS:0000 ADD A,B CS:0001 MOV HL,$0200 CS:0002 ROT 4 CS:0003 CALL 0100 CS:0004 MOV $0200,HL... CS:0100 INT 13 CS:0101 MOV HL,AB CS:0102 ADD HL,15 CS:0103 RET 23

Skok ze śladem SS:FFFA??? SS:FFFB??? SS:FFFC??? SS:FFFD??? SS:FFFE??? SS:FFFF CS:0004 SP Wykonywane są instrukcje podprogramu. Stos nie jest wykorzystywany PC CS:0000 ADD A,B CS:0001 MOV HL,$0200 CS:0002 ROT 4 CS:0003 CALL 0100 CS:0004 MOV $0200,HL... CS:0100 INT 13 CS:0101 MOV HL,AB CS:0102 ADD HL,15 CS:0103 RET 24

Skok ze śladem SS:FFFA??? SS:FFFB??? SS:FFFC??? SS:FFFD??? SS:FFFE??? SS:FFFF CS:0004 SP Wykonywana jest instrukcja powrotu z podprogramu. Adres z wierzchołka stosu umieszczany jest w rejestrze PC Rejestr SP jest przesuwany (usunięcie adresu ze stosu) PC CS:0000 ADD A,B CS:0001 MOV HL,$0200 CS:0002 ROT 4 CS:0003 CALL 0100 CS:0004 MOV $0200,HL... CS:0100 INT 13 CS:0101 MOV HL,AB CS:0102 ADD HL,15 CS:0103 RET 25

Skok ze śladem SS:FFFA??? SS:FFFB??? SS:FFFC??? SS:FFFD??? SS:FFFE??? SS:FFFF??? SP Powrót z podprogramu. Wykonywana jest kolejna instrukcja programu głównego (następna za instrukcją wywołującą podprogram) PC CS:0000 ADD A,B CS:0001 MOV HL,$0200 CS:0002 ROT 4 CS:0003 CALL 0100 CS:0004 MOV $0200,HL... CS:0100 INT 13 CS:0101 MOV HL,AB CS:0102 ADD HL,15 CS:0103 RET 26

Adresowanie Sposoby wyznaczania położenia operandu Natychmiastowe Bezpośrednie Pośrednie Rejestrowe Rejestrowe pośrednie Indeksowe Wykorzystujące stos 27

Adresowanie natychmiastowe Operand jest częścią instrukcji (np. ADD 5 dodaj liczbę 5 do akumulatora) Brak dodatkowego dostępu do pamięci (wydajność) Ograniczony zakres i liczba operandów (długość instrukcji) Schemat instrukcji: KOD INSTRUKCJI WARTOŚĆ OPERANDU 28

Adresowanie bezpośrednie Instrukcja zawiera adres pamięci z operandem Wymaga dodatkowego dostępu do pamięci Nie wymaga dodatkowych wyliczeń efektywnego adresu Ograniczony zakres adresu (rozmiar instrukcji) Przykład: ADD [100] dodaj do akumulatora zawartość komórki o adresie 100 29

Adresowanie bezpośrednie - format instrukcji Instrukcja KOD INSTRUKCJI ADRES OPERANDU Pamięć OPERAND 30

Adresowanie pośrednie Instrukcja zawiera adres komórki pamięci. Ta komórka (i kolejne) zawiera adres operandu. Przykład ADD (100) dodaj do akumulatora wartość z pamięci o adresie zapisanym w komórce 100 Większa przestrzeń adresowa Wymaga dodatkowego dostępu do pamięci 31

Adresowanie pośrednie - format instrukcji Instrukcja KOD INSTRUKCJI ADRES WSKAŹNIKA Pamięć ADRES OPERAND 32

Adresowanie rejestrowe Wartość operandu przechowywana jest w rejestrze ADD AX,BX dodaj do rejestru AX zawartość rejestru BX Niewielki rozmiar instrukcji Brak odwołania do pamięci wydajność! Niewielka liczba dostępnych rejestrów 33

Adresowanie rejestrowe - format instrukcji Instrukcja KOD INSTRUKCJI NAZWA REJESTRU Rejestry Pamięć OPERAND 34

Adresowanie rejestrowe pośrednie Operand znajduje się w komórce pamięci o adresie przechowywanym we wskazanym rejestrze. Przykład: ADD [BX] dodaj do akumulatora zawartość komórki pamięci o adresie z rejestru BX Duża przestrzeń adresowa Nieduży rozmiar instrukcji 35

Adresowanie rejestrowe pośrednie - format instrukcji Instrukcja KOD INSTRUKCJI NAZWA REJESTRU Rejestry Pamięć OPERAND ADRES 36

Adresowanie bazowo-indeksowe Adres efektywny jest sumą zawartości rejestru oraz przesunięcia. Różne odmiany: Adresowanie względne Adresowanie bazowe Adresowanie indeksowe Adresowanie indeksowe ze skalowaniem 37

Adresowanie względne Adres operandu podawany jest jako przesunięcie względem adresu aktualnie wykonywanej instrukcji (rejestr PC). Krótka instrukcja (zwykle 1-bajtowe przesunięcie) Mała przestrzeń adresowa Wykorzystanie zasady lokalności 38

Adresowanie bazowe Adres efektywny wyliczany względem pewnej wartości bazowej Rejestry segmentowe (bazowe) Segmentacja podział programu na bloki (kodu, danych, stosu) 39

Adresowanie indeksowe Adres efektywny wyliczany na podstawie zawartości rejestru indeksowego i podanego przesunięcia Wygodne operacje na blokach danych CPU często ma automatyczne instrukcje wykorzystujące indeksowanie Adresowanie indeksowe może być połączone z bazowym 40

Adresowanie indeksowe ze skalowaniem Wprowadzony dodatkowy czynnik skalujący Pozwala na łatwiejszy dostęp do tablic Łatwiejszy dostęp do wielobajtowych typów danych Typowe czynniki skalujące 1,2,4,8 41

Adresowanie korzystające ze stosu Operacje wykonywane na stosie (podobni jak w RPN) Operandy pobierane są z wierzchołka stosu, wynik umieszczany jest na stosie. Przykład: PUSH a PUSH b ADD POP - umieść a na stosie - umieść b na stosie - dodaj a i b - pobierz wynik 42

Architektura CPU - Intel 8080 Wikipedia 43

Podsumowanie Podstawowe elementy komputera. Procesor (CPU). Rozkazy procesora Tryby adresowania Architektura procesora ALU, FPU, rejestry, układy sterujące 44