by Ernest Jamro Katedra Elektroniki, AGH Kraków

Slides:



Advertisements
Podobne prezentacje
Gniazda rozszerzeń.
Advertisements

Wprowadzenie do informatyki Wykład 6
Język VERILOG w praktyce.
Budowa i zastosowanie sieci CompoBus/S
Wykład 9 Dedykowane procesory DSP oraz mikrokontrolery z jednostką DSP
Magistrale.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
by Ernest Jamro Katedra Elektroniki, AGH Kraków
Najczęściej popełniane błędy w VHDL’u
Wprowadzenie do SystemC
MAGISTRALA oraz MOSTEK PÓLNOCNY I POLUDNIOWY. Komputer zbudowanych jest z 3 podstawowych modułów (procesora, pamięci i urządzeń wejścia/wyjścia), między.
Magistrala & mostki PN/PD
Komputer, procesor, rozkaz.
KOMPONENTY TYPU SLAVE Orkiszewski Marcin
Płyty główne Budowa.
Urządzenia systemów pomiarowych
1-Wire® Standard 1-Wire®, zwany też czasami siecią MicroLAN, oznacza technologię zaprojektowaną i rozwijaną przez firmę Dallas Semiconductor polegającą.
Mikroprocesory i mikrokontrolery
Zastosowanie do sterowania obiektami
Układy wejścia-wyjścia
Komputery macierzowe.
ogólne pojęcia struktury
Komputer a system komputerowy
Programowalny układ we-wy szeregowego 8251
Przerzutniki.
Programowalny układ we/wy równoległego.. Wyprowadzenia układu.
Architektura komputerów
Architektura komputerów
Rodzina AVR wykład 4.
Wykonał Piotr Jakubowski 1ET
Magistrale szeregowe.
ARCHTEKTURA KOMPUTERA
Płyta główna. Magistrale I/O
Sekwencyjne bloki funkcjonalne
Zasada działania komputera
MAGISTRALE: - ISA - EISA - PCI - SCSI GARSKI KAROL ŁOSIK PAWEŁ.
Dynamiczna rekonfiguracja układów FPGA
Architektura systemów komputerowych (jesień 2013)
Budowa i rodzaje procesorów.
PROCESORY (C) Wiesław Sornat.
Architektura PC.
Sieci komputerowe Anna Wysocka.
Budowa komputera ProProgramer.
OPB - On-chip Peripherial Bus AXI – Advance eXtensible Interface
Prezentacja Multimedialna
Magistrala i Gniazda rozszerzeń budowa i zasada dzialania.
T.10.Magistrala.
i inne urządzenia elektroniczne
 Karta sieciowa to urządzenie odpowiedzialne za wysyłanie i odbieranie danych w sieciach LAN. Każdy komputer, który ma korzystać z dobrodziejstw sieci,
BUDOWA I ZASADA DZIAŁANIA
Klawiatura i mysz.
Przerzutniki Przerzutniki.
Przerzutniki bistabilne
Procesor, pamięć, przerwania, WE/WY, …
Wyk. Tomasz Marciniuk ZASADA DZIAŁANIA KOMPUTERA Operacje I/O pod nadzorem procesora Urządzenia Techniki Komputerowej.
Pamięć DRAM.
Pamięć SRAM.
Projekt i Wykonanie Pojemnościowego Tomografu Procesowego
Jednostka centralna.
Architektura systemów komputerowych (jesień 2015) Wykład 5 Budowa i działanie komputera dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki.
PAMIĘCI PÓŁPRZEWODNIKOWE
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
AES 50 format wielokanałowej transmisji audio Antoni Paluszkiewicz wsparcie techniczne – sprzedaż w firmie Audio Plus Sp. z o.o.
BUDOWA KOMPUTERA.. -płyta główna -procesor -ram-y -dysk twardy -karta graficzna -karta muzyczna -karta sieciowa -wentylator -cd-rom -stacja dyskietek.
Płyta główna. Magistrale I/O
Interfejsy synchroniczne
OPB - On-chip Peripherial Bus AXI – Advance eXtensible Interface
Budowa komputera..
Mikrokontrolery System przerwań
OPB - On-chip Peripherial Bus AXI – Advance eXtensible Interface
Zapis prezentacji:

by Ernest Jamro Katedra Elektroniki, AGH Kraków PCI - Peripherial Component Interconnect OPB - On-chip Peripherial Bus PLB Processor Local Bus by Ernest Jamro Katedra Elektroniki, AGH Kraków

Zastosowanie PCI – magistrala zewnętrzna - łącząca różne moduły wewnątrz komputera PC OPB – magistrala wewnętrzna – łącząca moduły wewnątrz pojedynczego układu scalonego PLB magistrala wewnętrzna służąca do bardzo szybkiej komunikacji

Przykład magistrali PCI

Przykład magistrali OPB

OPB i PCI - MAGISTRALE SYNCHRONICZNE Dla PCI przebiegi czasowe względem sygnału zegarowego (wyjście) f=33MHz Tval= 2 ns min Tval= 11ns max

Przebiegi czasowe względem sygnału zegarowego (wejście) (33MHz) Ts= 7 ns min (setup time) Th= 0ns min (hold time)

Magistrala OPB Wytyczne czasowe podane w procentach okresu zegara: Begin Signal is valid within 8% of the clock cycle from the rise of the OPB clock signal. Early Signal is valid within 18% of the clock cycle from the rise of the OPB clock signal. Early + Signal is valid within 28% of the clock cycle from the rise of the OPB clock signal. Middle - Signal is valid within 33% of the clock cycle from the rise of the OPB clock signal. Middle Signal is valid within 43% of the clock cycle from the rise of the OPB clock signal. Middle + Signal is valid within 53% of the clock cycle from the rise of the OPB clock signal. Late - Signal is valid within 58% of the clock cycle from the rise of the OPB clock signal. Late Signal is valid within 68% of the clock cycle from the rise of the OPB clock signal. End Signal is valid within 78% of the clock cycle from the rise of the OPB clock signal.

Magistrala PCI Sygnały są współdzielone poprzez zastosowanie buforów trójstanowych (uwaga błąd na schemacie)

Różne rodzaje urządzeń: Master (OPB), Initiator (PCI) – inicjuje transfer: podaje sygnał gotowości do transmisji (sygnał Select – OPB lub adres na magistrale adresową, dane (w przypadku zapisu) na magistralę Slave (OPB), Target (PCI) – zachowuje się podobnie jak pamięć – czyli odczytuje adres i wystawia dane (w przypadku odczytu). Arbiter – Transmisja jest wykonywana tylko pomiędzy jednym urządzeniem Master (Initiator) i pojedynczym urządzeniem Slave (Target) w jednym takcie zegara. Dlatego Arbiter przyznaje magistrale wybranemu pojedynczemu urządzeniowi Master (Initiator) w wybranej chwili czasowej.

Współdzielenie (multipleksacja) sygnałów na magistrali OPB

Fizyczne połączenie sygnałów magistrali OPB

Nazewnictwo sygnałów na magistrali OPB Mn_... – sygnał wystawiany przez urządzenie Master Sl_... – sygnał wystawiony przez urządzenie Slave OPB_... – sygnał wynikowy magistrali OPB (odpowiednia suma sygnałów Mn_... i SL_...

Prosty sposób transakcji - OPB Urządzenie Master gotowe do transmisji: Select=‘1’ Urządzenie Slave odpowiada, że jest gotowe do transmisji: Ack=‘1’ Transfer danych tylko wtedy kiedy Ack=‘1’ (przy narastającym sygnale zegarowym)

Prosty sposób transakcji - PCI Urządzenie Inicjator gotowe do transmisji: IRDY#=‘0’ Urządzenie Docelowe gotowe do transmisji: TRDY#=‘0’ Transfer danych tylko wtedy kiedy IRDY#=‘0’ oraz TRDY#=‘0’ (przy narastającym sygnale zegarowym)

Arbitraż magistrali PCI Podobnie jest dla magistrali OPB – występują sygnały Mn_request oraz OPB_MnGrant

Algorytm Arbitrażu 1 Stały priorytet – każde urządzenie ma określony priorytet i magistrala jest przydzielana według priorytetu (urządzenie żądające magistrali o najwyższym priorytecie dostaje magistrale. OPB_M0Grant<= M0_request -- [M0 – najwyższy priorytet] OPB_M1Grant<= M1_request and not M0_request OPB_M2Grant<= M2_request and not (M0_request or M1_request) OPB_M3Grant<= M3_request and not (M0_request or M1_request or M2_request)

Algorytm Arbitrażu 2 Dynamiczny Priorytet – np. Least Recently Used (LRU) algorytm, dla którego po każdym arbitrażu magistrali Master, który ostatnio otrzymał magistralę ma ustawiony priorytet na najniższy, pozostałym urządzeniom priorytet jest podnoszony o 1. M0_Priorytet<= 0 -- [M0 – przyznano właśnie magistra] M1_Priorytet<= M1_Priorytet + 1 M2_Priorytet<= M2_Priorytet + 1 ...

Arbitraż Magistrali OPB

Pojedynczy odczyt na OPB

Pojedynczy odczyt i zapis na OPB

Wykorzystanie sygnału busLock Sygnał busLock powoduje, że Master ma nieprzerwanie przydzieloną magistralę

Adresowanie sekwencyjne

Timeout Brak odpowiedzi Slave’a (OPB_xferAck) przez 16 cykli zegarowych

Materiały dodatkowe Nie były na wykładzie

Arbitraż magistrali OPB dwa urządzeń Master

Wielokrotne pojedyncze transakcje

busLock przetrzymany o 1 clk za długo

Sygnały magistrali PCI Master

Arbitraż Magistrali OPB użycie sygnału busLock (dla PCI - LOCK#)

PCI Magistrala synchroniczna Prawie wszystkie sygnały są próbkowane wraz z narastającym sygnałem zegarowym. Sygnał zegarowy może mieć częstotliwość od 0 (!!!) do 33MHz (66MHz). Poprzez zatrzymanie zegara można wprowadzić magistralę w tryb oszczędzania energii lub może to służyć do celów testowych.

Sygnały magistrali PCI Target

Zapis

Stany magistrali

Cykl przejęcia magistrali

Fast Back-to-Back

Przedwczesne przerwanie transferu (zainicjalizowane przez Master’a) Master wykorzystał swój czas (Latency Timer) oraz inne urządzenie zgłosiło REQ#. Brak odpowiedzi od urządzenia adresowanego (Target - DEVSEL#)

Kontrola parzystości

Rejestry konfiguracyjne

Command register bit 0 - I/O Access Enable bit 1 - Memory Access Enable bit 2 - Master Enable bit 3 - Special Cycle Recognition bit 4 - Memory Write and Invalidate Recognition bit 5 - VGA Palette Snoop Enable bit 6 - Parity Error Response (ma kontrolę parzystości) bit 7 - Wait Cycle Enable (Stepping) bit 8 - System Error Enable (can drive SERR#) bit 9 - Fast Back - to - Back Enable - (for bus master) bit 10-15 - Reserved

Status Register bits 0-4 - Reserved bit 5 - 66MHz Capable bit 6 - User-Definable Feature Supported bit 7 - Fast Back-to-Back (for a target) bit 8 - Data Parity Reported bits 9-10 - Device Select Timing: 00b-fast, 01b-medium, 10b-slow, 11b-reserved bit 11 - Signaled Target Abort (for a target) bit 12 - Received Target Abort (for a master) bit 13 - Received Master Abort (for a master) bit 14 - Signaled System Error (SERR#) bit 15 - Detected Parity Error

Base Address Memory

Base Address (I/O)

Processor Local Bus (PLB) Żądanie magistrali Priorytet żądania Zarezerwowanie magistrali Read Not Wirte Rozmiar transmisji Typ trans.: zwykły, DMA, .. Primary Address Valid Secondary Address Valid Rd Secendary to Primary Address Acknowkedge Read Data Bus Read Data Ack Read Data Complete

PLB – Back to Back Read

PLB – Back to Back Write

PLB – 4 Line Read

PLB – Rozmiar transmisji

PLB –line read followed by 4-line write

Deep Address Piplining

4- Deep Read Piplining

Koniec

Główne cechy PCI (Revision 2.1) Architektura niezależna od procesora Do 256 PCI funkcjonalnych urządzeń na 1 magistralę (ale tylko do około 10 urządzeń fizycznych ze względu na obciążenie elektryczne lub logicznie 32 urządzenia * 8 niezależnych logicznych funkcji) Do 256 magistrali PCI 32 lub 64-bitowa magistrala danych (adresowa) Magistrala synchroniczna z zegarem o maksymalnej częstotliwości 33MHz (dopuszczalna również 66MHz) Transfer blokowy (burst) dla wszystkich odczytów i zapisów co daje maksymalny transfer 33MHz*32bity= 133MB/s (najczęściej) lub 66MHz*64bity=528MB/s

Główne cechy (Revision 2.1) cd. (2) Każde urządzenie może (ale nie musi) nadzorować magistralą (bus master) czyli wystawiać adres na magistrali adresując np. główną pamięć (main memory) lub urządzenie na innej magistrali. Ukryty arbitraż magistrali (niewidoczny dla innych urządzeń) Mała liczba wyprowadzeń (np. multipleksowana magistrala dane/adres) Kontrola poprawności transferu poprzez kontrolę parzystości dla: poleceń, danych i adresu (tylko jeden bit parzystości)

Główne cechy (Revision 2.1) cd. (3) Trzy przestrzenie adresowe: pamięć, we/wy, konfiguracji. Automatyczna konfiguracja, np. podczas inicjalizacji urządzenie podaje rozmiar wymaganej pamięci a arbiter przydziela mu adres. Przeźroczystość softwarowa - te same komendy dla urządzenia znajdującego się na głównej magistrali lub magistralach podrzędnych. Równoczesna praca magistrali.

Przerwania 4 linie (Open Drain) INTA# - INTD#. Linie te mogą być dzielone przez inne urządzenia. Każde urządzenie musi najpierw używać przerwania INTA# potem INTB# itd. Urządzenie wraz z ustawieniem odpowiedniej linii INT również ustawia odpowiedni bit w rejestrze statusowym świadczący o żądaniu przerwania.

Przedwczesne przerwanie transferu (zainicjalizowane przez Target) Rozłączenie po zakończeniu obecnego (pojedynczego) transferu (disconnect A,B). TRDY# =L; DEVSEL# =L, STOP# =L. Rozłączenie bez zakończenia transferu obecnego transferu ale wcześniej nastąpił transfer danych (disconnect C). TRDY# =H; DEVSEL# =L, STOP# =L. Rozłączenie bez jakiegokolwiek transferu, transakcja musi być powtórzona (retry). Permanentne zaniechanie transferu spowodowane błędem (abort and not retry). TRDY# =H; DEVSEL# =H, STOP# =L.

Disconnect A

Powody przerwania Disconnect, Retry Target za wolny (więcej niż 8 clk sekwencyjnie, 16 clk pierwsza transmisja) Target nie rozpoznaje adresowania sekwencyjnego Transfer sekwencyjny wykracza poza obszar adresowy Target Transfer blokowy (burst) wykracza poza obszar linii cache Transfer do zmodyfikowanej linii cache lub do urządzenia zatrzaśniętego (locked)

Powody przerwania permanentnego (abort) Urządzenie Target niedziałające (niezdolne do jakiegokolwiek transferu) Błąd adresacji (związane z BE#) Błąd parzystości podczas cyklu adresowego Odpowiedz master’a na rozłączenie permanentne Generacja przerwania (interrupt) uaktywnienie sygnału SERR#

Błąd systemowy (sygnał SERR#) przyczyny Błąd parzystości podczas transmisji adresu i komendy lub też podczas specjalnego (special) cyklu na magistrali błąd parzystości podczas przesyłania danych (w zależności od driver’a) inne rodzaje błędów krytycznych.

Obsługa przerwania Procesor przerywa pracę aktualnego zadania i składa swój stan na stos. Procesor odczytuje wektor przerwania od układu 8259. Procesor mnoży otrzymany wektor przez 4 (8 virtual mode) i z otrzymanego adresu odczytuje adres początku programu obsługi przerwania. Uruchamia procedurę obsługi przerwania (driver urządzenia A) Na początku obsługi przerwania sprawdzany jest bit statusowy wystawienia przerwania przez urządzenie A (interrupt pending bit)

Przerwanie cd. 1. Bit ustawiony (urządzenie A żąda obsługi) wykonywany jest program obsługi urządzenia A zerowany jest bit żądania obsługi w rejestrze statusowym (urządzenia A) oraz przerwanie wystawiania linii INT# 2. Bit jest nieaktywny (urządzenie A nie żąda obsługi) nie jest uruchamiany driver urządzenia A kontrola programu przekazywana jest następnemu urządzeniu. itd.

Wspomaganie cache’u przez PCI dodatkowe dwie linie 1) SBO# - Snoop Back Off sygnał wystawiany przez PCI cache kontroler aktywny gdy następuje odczyt danych (pamięci) które zostały zmienione ale jeszcze nie zapisane (znajdują się w cache’u tzw. Write Back i bit dirty (modified) jest ustawiony), lub aktywny gdy następuje zapis (ale nie unieważnienie - Memory Write and Invalidate) i równocześnie dane pod tym samym adresem zostały zmienione w chache’u i nie uaktywnione.