Struktura i działanie jednostki centralnej



Podobne dokumenty
Architektura komputerów

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

Architektura komputerów

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

Architektura typu Single-Cycle

Magistrala systemowa (System Bus)

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

Technika mikroprocesorowa I Wykład 2

Organizacja typowego mikroprocesora

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

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Architektura komputerów. Asembler procesorów rodziny x86

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

A Machine Architecture that is Really Intuitive and Easy. Dane: notacja dwójkowa, zapis w kodzie dopełnieniowym

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

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

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

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

LEKCJA TEMAT: Współczesne procesory.

ARCHITEKTURA PROCESORA,

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

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

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

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

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

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

organizacja procesora 8086

Architektura komputerów

Architektura komputerów

Architektura komputerów wer. 7

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]

Projekt prostego procesora

Projektowanie. Projektowanie mikroprocesorów

Przykładowe pytania DSP 1

Budowa i zasada działania komputera. dr Artur Bartoszewski

Rozszerzalne kody operacji (przykład)

Mikrooperacje. Mikrooperacje arytmetyczne

Lista Rozkazów: Język komputera

MIKROKONTROLERY I MIKROPROCESORY

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

Jednostka centralna. dr hab. inż. Krzysztof Patan, prof. PWSZ

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

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

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

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

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

Architektura komputerów

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

PLC2: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs zaawansowany

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

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Mikrokontroler ATmega32. Język symboliczny

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYNTEZA UKŁADÓW CYFROWYCH ES2D100005

Programowanie niskopoziomowe

Budowa komputera Komputer computer computare

Programowalne układy logiczne

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

2. Architektura mikrokontrolerów PIC16F8x... 13

Architektura komputerów Wykład 2

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

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

Systemy operacyjne. Struktura i zasady budowy. Rozdział 1 Wprowadzenie do systemów komputerowych

Architektura systemów komputerowych

Lista instrukcji mikroprocesora Programowanie w assemblerze

Technologie Informacyjne Wykład 3

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

Przetwarzanie potokowe pipelining

Programowanie mikrokontrolera 8051

Mikroprocesor Operacje wejścia / wyjścia

1. Operacje logiczne A B A OR B

Sprzęt i architektura komputerów

Zarządzanie pamięcią w systemie operacyjnym

Architektura komputerów wer. 3

architektura komputerów w 1 1

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Programowanie Niskopoziomowe

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

Materiały pomocnicze do ćwiczeń z podstaw techniki cyfrowej (przygotował R.Walkowiak) Dla studiów niestacjonarnych rok AK 2017/18

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Programowanie Niskopoziomowe

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

Jerzy Nawrocki, Wprowadzenie do informatyki

Podstawy Informatyki

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

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

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Architektura potokowa RISC

Procesory. Schemat budowy procesora

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Architektura mikroprocesorów z rdzeniem ColdFire

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

Transkrypt:

Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Blok arytmetyczno-logiczny - ALU Wykonuje operacje na 4-bitowych zmiennych A i B. Wynik umieszczany jest w F Wejścia S i M służą do programowania funkcji wykonywanych przez układ Cn przeniesienie wejściowe Cn+4 - przeniesienie wyjściowe SN 74181

Blok arytmetyczno-logiczny - ALU Realizowane funkcje:

Blok arytmetyczno-logiczny - ALU

Wewnętrzna struktura procesora Wewnętrzna magistrala procesora Znacznik stanu Przesuwnik Rejestry Układ dopełnienia Układy logiczne i arytmetyczne Jednostka sterująca ALU Ścieżki sterowania

Rejestry można podzielić na: rejestry widzialne dla użytkownika; rejestry sterowania i stanu są one używane przez jednostkę sterującą do sterowania pracą procesora oraz przez uprzywilejowane programy systemu operacujnego; Rejestry widzialne przez użytkownika: ogólnego przeznaczenia (general purpose); danych; adresów; kodów warunkowych; Rejestry adresowe: wskaźnik segmentu; indeksowe; wskaźnik stosu rejstr wskazujący wierzchołek stosu

Rejestry kodów warunkowych: Kody warunkowe są bitami ustawianymi sprzętowo przez procesor w wyniku operacji. Np. operacja arytmetyczna może dać wynik dodatni, ujemny, zerowy lub przepełnienie. Poza umieszczeniem wyniku w rejestrze danych lub w pamięci ustalany jest również kod warunkowy. Kod ten może być następnie sprawdzany w ramach rozgałęzienia warunkowego. Bity kodu warunkowego zbierane są w jednym lub wielu rejestrach.

Rejestry sterowania i stanu: licznik programu (PC) zawiera adres rozkazu przewidzianego do pobrania; rejestr rozkazu (IR) zawiera ostatnio pobrany rozkaz; rejestr adresowy pamięci (MAR) zawiera adres pamięci, z którego (do którego) ma odczytać (zapisać) słowo danych; rejestr buforowy pamięci (MBR) zawiera słowo danych, które ma być zapisane/odczytane z pamięci; rejestr stanu programu (PSW)

Rejestr stanu programu (PSW) zawiera następujace pola: znak bit znaku wyniku ostatniej operacji; zero ustawiane, gdy wynik operacji równa sie 0; przeniesienie ustawiane, gdy wynikiem operacji jest przeniesienie. Używane przy operacjach arytmetycznych obejmujących wiele słów; równość - ustawiane, gdy wynikiem porównania logicznego jest równość; przepełnienie wskazuje przepełnienie arytmetyczne; zezwolenie/blokowanie przerwania; nadzorca wskazuje, czy procesor pracuje w trybie nadzorcy, czy w trybie użytkownika;

Projektowanie listy rozkazów Problemy projektowania: repertuar operacji ilość i złożoność dostępnych operacji; rodzaje danych różne rodzaje danych, na których wykonywane są operacje; format rozkazu długość rozkazu w bitach; rejestry liczba rejestrów, do których mogą odnosić się rozkazy; Adresowanie tryb/tryby specyfikacji adresów argumentów;

Repertuar operacji: Transfer danych: Move przeniesienie słowa lub bloku ze źródła do miejsca przeznaczenia; Store przeniesienie słowa z procesora do pamięci; Load - przeniesienie słowa z pamięci do procesora; Exchange - zmiana zawartości źródła i miejsca przeznaczenia; Clear - przeniesienie słowa złożonego z zer do miejsca przeznaczenia; Set - przeniesienie słowa złożonego z 1 do miejsca przeznaczenia; Push-przeniesienie słowa ze źródła na wierzchołek stosu; Pop - przeniesienie słowa z wierzchołka stosu do wejścia przeznaczenia;

Arytmetyczne Add-obliczanie sumy dwóch argumentów; Substract-odejmowanie; Multiply-iloczyn; Divide-dzielenie; Absolute-zamiana argumentu na jego wartość bezwzględną; Negate-zmiana znaku argumentu; Increment-dodanie 1 do argumentu; Decrement-odjęcie 1 od argumentu;

Logiczne AND, OR, NOT, XOR - operacje na poziomie bitowym; Test - zbadanie określonego warunku; Compare - logiczne lub arytmetyczne porównanie dwóch argumentów,na podstawie wyniku ustawienie znacznika(ów) stanu; Set control variable - klasa rozkazów ustalających elementy sterowania; Shift - przesunięcie bitów w lewo lub w prawo z prowadzeniem stałej na końcu; Rotate - przesunięcie bitów z łączeniem końca z początkiem;

Przeniesienie sterowania Jump przeniesienie bezwarunkowe, ładuje określony adres do licznika programu; Jump Conditional zbadanie określonego warunku i załadowanie adresu zgodnie z warunkiem; Jump to Subroutine umieszczenie informacji kontrolnej bieżącego programu w znanym miejscu, skok do określonego adresu; Return zmiana zawartości licznika rozkazów i innych rejestrów na dane przechowywane w znanym miejscu; Execute pobranie argumentu z określonego miejsca i wykonanie go jako rozkazu bez modyfikacji licznika rozkazów; Skip inkrementowanie licznika rozkazów w celu pominięcia kolejnego rozkazu; Skip Conditional zbadanie określonego warunku i pominięcie (lub nie) kolejnego rozkazu; Halt zatrzymanie wykonania programu; Wait oczekiwanie na spełnienie określonego warunku;

Wejście - wyjście Input przeniesienie danych, np. z pamięci do rejestru procesora; Output przeniesienie danych z rejestru procesora do pamięci; Start I/O rozkaz skierowany do modułu we-wy; Test I/O przeniesienie informacji o stanie modułu we-wy.

Elementy rozkazu maszynowego kod operacji jaka ma być wykonana; odniesienie do argumentów źródłowych; Odniesienie do wyniku; Odniesienie do następnego rozkazu; Format rozkazu rozkaz jest dzielony na pola odpowiadające elementom składowym rozkazu Kod operacji (4) Odniesienie do argumentu (6) Odniesienie do argumentu (6) 16 bitów

Symboliczna reprezentacja kodów operacji, mnemoniki ADD dodaj SUB odejmij MPY pomnóż LOAD ładuj z pamięci STOR zapisz dane Przykład rozkazu: ADD R, Y Dodaj zawartość w pozycji danych Y do zawartości rejestru R, Y adres komórki pamięci ADD R,Y - dodaj zawartość danych z komórki Y do zawartości rejestru R

Rozkazy maszynowe Pisanie programów w języku maszynowym jest rzadkością. Programy pisze się w języku asemblerowym lub językach wysokiego poziomu Przykład: X= X + Y Załóżmy, że X i Y odpowiadają komórką pamięci o adresach 513, 514 W języku maszynowym mamy następujące rozkazy: Załaduj do rejestru zawartość komórki pamięci 513 Dodaj zawartość komórki 514 do rejestru Przenieść zawartość rejestru do komórki 513

Liczba adresów w rozkazie Jaka liczba adresów potrzebna jest w rozkazie: 2 adresy - odniesienie do argumentów; 1 adres - odniesienie do wyniku rozkazu 1 adres odniesienie do następnego rozkazu Jednak 4 adresowe rozkazy występują bardzo rzadko. Najczęściej np. adres następnego rozkazu jest domyślny, uzyskiwany z licznika rozkazów.

Przykład Y=(A-B)/(C+D*E) Rozkazy trójadresowe: SUB Y, A, B MPY T, D, E ADD T, T, C DIV Y, Y, T Y A - B T D * E T T + C Y Y / T

Przykład Y=(A-B)/(C+D*E) Rozkazy dwuadresowe: MOVE Y, A SUB Y, B MOVE T, D MPY T, E ADD T, C DIV Y, T Y A Y Y - B T D T T * E T T + C Y Y / T

Przykład Y=(A-B)/(C+D*E) Rozkazy jednoadresowe: AC - akumulator LOAD D MPY E ADD C STORE Y LOAD A SUB B DIV Y STORE Y AC D AC AC * E AC AC + C Y AC AC A AC AC - B AC AC / Y Y AC

Liczba adresów w rozkazie Większość współczesnych komputerów stosuje rozkazy 2 i 3 adresowe Jeśli procesor ma wiele rejestrów to operacje mogą być wykonywane na samych rejestrach Możliwe jest też by rozkazy funkcjonowały bez adresów. Takie rozkazy mogą być używane w przypadku organizacji pamięci zwanej stosem.