Inhalt Teil 8 (PCI-Bus) aus 5. Busse und Systemstrukturen



Ähnliche Dokumente
Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Hardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg

Anleitung zur Nutzung des SharePort Utility

Serielle Kommunikation mit dem Arduino. Teil 1: Das Serial Peripheral Interface (SPI)

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Man liest sich: POP3/IMAP

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Teil VIII Von Neumann Rechner 1

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

DELFI. Benutzeranleitung Dateiversand für unsere Kunden. Grontmij GmbH. Postfach Bremen. Friedrich-Mißler-Straße Bremen

5. PC-Architekturen und Bussysteme

Web Interface für Anwender

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Mikrocontroller Grundlagen. Markus Koch April 2011

web: CAD/CAM-Systeme Entwicklung Beratung Vertrieb Kundenbetreuung Service für Werkzeugmaschinen

Installation von Office 365 auf einem privaten PC

Tipps und Tricks zu Netop Vision und Vision Pro

Leitfaden zur Nutzung des System CryptShare

Lizenzierung von Windows Server 2012

Die Installation von D-Link WLAN Karten unter Windows Vista

PC CADDIE SMS Versand

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Wurde eine Sammlung Werte übermittelt, so wird der örtliche Speicher des jeweiligen Moduls gelöscht und die Speicherung beginnt aufs Neue.

Wie in der Skizze zu sehen ist, bleibt die Periodendauer / Frequenz konstant und nur die Pulsweite ändert sich.

QUICK INSTALLATION GUIDE

Anleitung zur Nutzung des SharePort Plus

LPT1 Anschluss mit PCMCIA Karte

EKF Software Server. Handbuch. Version 2.1. Hersteller: 2008 mesics gmbh Berliner Platz Münster info@mesics.de

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

Serieller S-Bus reduziertes Protokoll (Level 1)

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Technical Note 0201 Gateway

1 Einleitung Anmelden und Abmelden Mail-Adresse einrichten Versenden von SMS Zusätzliche Einstellungen...

Network Controller TCP/IP

Grundlagen der Informatik (BSc) Übung Nr. 5

Subpostfächer und Vertretungen für Unternehmen

Anwendungsbeispiele Buchhaltung

Erstellen einer in OWA (Outlook Web App)

Bedienungsanleitung Control DC Supply

Registrierung am Elterninformationssysytem: ClaXss Infoline

Transparente Kommunikation zwischen SPS / PC und TOSHIBA Frequenzumrichtern

Klicken Sie mit einem Doppelklick auf das Symbol Arbeitsplatz auf Ihrem Desktop. Es öffnet sich das folgende Fenster.

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

QR-FUNKTION. Informationen über zu erledigende Aufgaben an das Reinigungspersonal senden.

T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series

Fragen zur GridVis MSSQL-Server

mit SD-Karte SD-Karte Inhalt

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

TrekStor - ebook-reader TrekStor (TS) Edition - Firmware-Update

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Anleitung zur Einrichtung des USB-Speicherzugriffs (SharePort) Für DIR-506L (Stand April 2013)

JUNG Facility-Pilot Visualisierungs-Server Version 1.1

Benutzerkonto unter Windows 2000

RO-Serie CAN-Übertragungsprotokoll

Dokumentenkontrolle Matthias Wohlgemuth Telefon Erstellt am

Anwenderdokumentation PersoSim

E-TIME ADVANCED Dokumentation zum Vorgehen bei der elektronischen Zeiterfassung. Geben Sie folgende Internetadresse ein:

Kommunikations-Management

Video Unlimited -Nutzungsbeschränkungen

1 Aufgaben zu Wie funktioniert ein Computer?

Persönliches Adressbuch

Anleitung zur Software Aktualisierung für die gemeinsamen Komponenten an der Maschine (Stand August 2005)

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Hardware-Interfaces für FlexRay und CAN

Quick XMP Ü bertaktungseinstellungen

Installationshilfe und Systemanforderungen. Vertriebssoftware für die Praxis

Anleitung für DT-TPC Tel Modul

Bedienungsanleitung Version 1.0

DC-1394 PCI. IEEE 1394 FireWire TM PCI Card. Windows 2000 / XP / Vista / Server 2003 SP1 oder höher

Teil 2: Ablauf der Analyse festlegen

Mobile Banking App Bedienungsanleitung

BACHER Informatik - we do IT Alte Gasse 1, CH-6390 Engelberg Telefon info@hostdomain.ch

Schnittstelle RS 232, UP RS 232 UP, WS, GJ B A0037

Erforderliche Änderung des Firewire (IEEE1394) Kartentreibers für die Kodak Scanner i600/i700/i1800 unter Microsoft Windows 7

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

SNr bis mit Gigabyte AMD K7 Mainboard. Konfiguration 7 und 7M

32-Bit Microcontroller based, passive and intelligent UHF RFID Gen2 Tag. Zürcher Fachhochschule

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

Version 1.0 Datum Anmeldung... 2

O UTLOOK EDITION. Was ist die Outlook Edition? Installieren der Outlook Edition. Siehe auch:

zur WinIBW Version 2.3

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Anleitung Grundsetup C3 Mail & SMS Gateway V

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

CUx-Daemon Wireless M-Bus Dokumentation. Version 1.4

M-net -Adressen einrichten - Apple iphone

Handbuch PCI Treiber-Installation

Pilot Drivers Package. Handbuch

VIDA ADMIN KURZANLEITUNG

Updatehinweise für die Version forma 5.5.5

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

3.14 Die Programmieroberfläche Programmierung

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

OPERATIONEN AUF EINER DATENBANK

Der Anrufbeantworter. Service-Telefon: Eine Verbindung mit Zukunft. MDCC / Stand 10/10

USB-Driver: Download-Link:

Grundlagen verteilter Systeme

Transkript:

Inhalt Teil 8 (PCI-Bus) aus 5. Busse und Systemstrukturen 1 5.6 Der PCI-Local-Bus

5.6 Der PCI-Local-Bus (Peripheral Component Interconnect Bus) 2 Bridge Prozessor Cache Speicher Memory-Controller PCI-Bus-Controller Busarbitration Datenpuffer PCI-Bus PCI-Slave/Master PCI-Contr. Speicher EA Systembus, unabhängig vom Prozessortyp definiert 1994 Multimasterfähig Blocktransfers Sequentielle Zugriffe der CPU werden von der Bridge automatisch zu einem Burst zusammengesezt Sender u. Empfänger erhöhen gleichzeitig die Adressen Parallele Transfers. Parallel zum Prozessor/Speicherzugriff sind Transfers zwischen den PCI-Komponenten möglich. Synchroner Multiplexbus, 33 oder 66 MHz, 32 oder 64 Bit relativ hohe Busbandbreite zur Versorgung schneller Peripherie (Audio, SCSI-, LAN- Controller, Grafik) 32 Bit Daten, 33 MHz => 4 Byte * 33 MHz, max. 132 MByte/s 64 Bit Daten, 66 MHz => 8 Byte * 66 MHz, max. 528 MByte/s

Host-to-PCI-Bridge (Bridge/Memory-Controller) 3 Prozessor kann über die Bridge direkt auf den eigenen Speicher und den PCI-Slave zugreifen. Die Umsetzung der Buszyklen übernimmt die Bridge. Zugriff Prozessor Cache Speicher Prozessor- Buszyklen Bridge Memory-Controller PCI-Bus-Controller Busarbitration PCI-Bus PCI- Buszyklen PCI-Slave/Master PCI-Contr. Speicher EA P2P PCI-Master können direkt auf den Hauptspeicher über die Bridge zugreifen. (ähnlich wie DMA-Transfers) weitere PCI-Komponenten

Begriffe 4 Bus Components, Agents, Devices: angeschlossene Komponenten Master (Initiator) : Bus Transaktion wird von einem Master initiiert Slave (Target) : interpretiert Kommando vom Master

Zugriffsräume 5 Konfigurationsraum Memory-Adressraum 256 Bytes normaler 32-Bit-Adressraum Zugriff über Aktivierung von IDSEL und Zugriffskommando Informationen Device-ID, Hersteller-ID, Geräteklasse (IO-Adressraum) nur 16-Bit Adressen, wird kaum noch benutzt Maske, die spezifiziert welche Kommandos von dem Device akzeptiert werden z.b. darf Busmaster sein, darf auf dem Memory-Bereich zugreifen, darf auf den IO-Bereich zugreifen 6 Basisadressregister (Anfangsadresse eines Blocktransfers) Statusinformation / Kontrollinformation Paritätsfehler, Abort (vom Target bzw. Master) Device-Select-Time (Reaktionszeit, die zwischen der Adressierung des Device und dezentraler Erkennung (DEVSL) vergeht) Latenzzeit (gibt an, wie lange die Aufforderung zur Rückgabe des Busses ignoriert wird) Interrupt-Nummer

Festlegung der Zugriffsräume 6 Adressbereiche, die ein Device im Memory- oder IO-Adressraum belegt, werden durch Basisregister definiert Basisadresse Memory-Adressraum Bit 2,1,0 = 000 Bit 3: Zugriffe sind im Vorgriff erlaubt Die Adressbits [k..4] = 0..0 definieren die Größe des Adressbereichs Die Bits 31..k+1 werden vom BS als Anfangsseitenadresse festgelegt (IO-Adressraum) Bits 1,0 = 00 Die höherwertigen Adressbits 31..2 definieren die Adressbereich Die PCI-Devices decodieren die Adressen selbst (dezentral). 00...0 k 4 0000 Adressraum Adressbereich Basisregister

Adressierung 7 Zugriff auf den Memory-Adressraum mittels der Wortadresse AD[31:2] und BE (Byte-Enable) AD[1:0] spezifiziert die Adressweiterschaltung Linear-Incrementing: Erhöhung der Adresse um 4 Bytes (32-Bit-Transfer) oder um 8 Bytes nach jeder Datenphase Cacheline-Wrap-Mode: Beginn bei beliebiger Adresse mit wrap-around. Zugriff auf den IO-Adressraum mittels der Wortadresse AD[31:2] Während der Datenphase gibt C/BE an, welches Byte gemeint ist.

Slot 1 Slot 2 Slot 3 Slot 4 Busarbitration 8 IDSEL Arbitration Control (Auswahl Master) REQ# GNT Arbitrierung erfolgt "hidden" (überlappend) nach jedem Transfer neue Arbitration PCI HOST AD C/BE# Control Interrupt Control IRQ# 4

Busmastering 9 1. Busanforderung Device fordert beim zentralen Arbiter den Bus an (REQ-Signal) Zentraler Arbiter gibt die Buskontrolle ab (GNT) 2. Datenübertragung Device fungiert als Master und generiert die erforderlichen Kontrollsignale und Adressen 3. Busrückgabe Device deaktiviert das REQ-Signal Arbiter bestätigt durch Deaktivierung von GNT Vorzeitige Busrückgabe Arbiter deaktiviert GNT Device gibt Bus nach einer voreingestellten (konfigurierten) Latenzzeit zurück

Signale 10 Die wichtigsten Signale AD C/BE# FRAME# IRDY# TRDY# DEVSEL# Multiplexbus, Adressen, Daten (Initiator) Kommandos / Byteauswahl (Initiator) Aktiv vom Beginn bis zum vorletzten Takt der Übertragung (Initiator) Bereit zur Durchführung und Beendigung der Datenphase (Target) Bereit zur Durchführung und Beendigung der Datenphase (Target) Adresse erkannt (selektiert) Alle Signale haben Pullup-Widerstände

Signalarten (ausführlich) 11 Signalarten in Input Eingangssignal out Totem Poole Output Ausgangssignal mit hohen Strömen, nur ein Treiber erlaubt. t/s Tristate bidirektionaler Tri-State-Ausgang mit Eingangsport. s/t/s Sustained Tristate 0-aktives EA-Signal, das zu einem Zeitpunkt nur von einem Device aktiviert werden darf. Freigabe durch Setzen auf HIGH für mindestens einen Takt. Frühestens einen Takt noch HIGH darf das Singal wieder 0 werden. Ein zentraler Pullup-Widerstand ist erforderlich. 0/d Open Drain von mehreren Devices nutzbares Aktivierungssignal, Wired-or-Funktion

PCI-Schnittstellen-Signale (ausführlich) 12 AD[31:0]# t/s Adress or Data im Multiplexbetrieb. Turnaround bei READ. C/BE[3:0]# t/s Bus Command während der Adressphase oder Byte Enable während der Datenphase PAR t/s Parity: Parität über AD und C/BE FRAME# s/t/s Cycle Frame, aktueller Master zeigt Beginn und Dauer der Transaktion an. IRDY# s/t/s Initiator Ready, Bereitschaft des aktuellen Masters, die aktuelle Datenphase abzuschließen. TRDY# s/t/s Target Ready, Bereitschaft des angewählten Targets, die aktuelle Datenphase abzuschließen STOP# s/t/s Stop: Target signalisiert dem Master, dass es die Transaktion abbrechen möchte. DEVSEL# s/t/s Device Select: Target meldet dem Master, dass es angewählt wurde. IDSEL in Initialisation Device Select: Chip-Select Signal für die Konfigurationsregister REQ# s/t/s Request: Busanforderungssignal von jedem Master zum Arbiter GNT# in Grant: Bus-Grant-Signal vom Arbiter zu jedem Master PERR# s/t/s Parity Error: Datenparitätsfehler bei Bustransaktion, erzeugt vom Datenempfänger SERR# o/d System Error: schwerwiegender Systemfehler RST# in Reset: Initialisierung der PCI-spezifischen Register und Signale CLK in Clock: Bustakt (33/66 MHz)

Busoperationen 13 Master sendet Kommandos zum Target. Explizite Adressierung Memory- und IO-Adressraum Kommandos bewirken Lese- oder Schreibzugriffe mit expliziter oder impliziter Adressierung. Implizite Adressierung Konfigurationsregister, Targets, ggf. Interrupt-Controller codiert in C/BE[4]#, Übertragung während der Adressphase 12 der 16 Codierungen werden benutzt.

Buskommandos 14 C/BE[4]# Configuration-Read, Configuration-Write Memory-Read, Memory Write Memory-Read-Line Memory-Read-Multiple Zugriff auf den Konfigurationsadressraum (256 Bytes) im Konfigurationszyklus. Quasi-implizite Adressierung. Zugriff auf den Memory-Adressraum. Explizite Adressierung. Einzel- und Blocktransport. Lesen einer (Cache)-Line aus dem Speicher (prefetch bis zum Ende der Cache-Line erlaubt) Lesen mehrerer (Cache)-Lines (The memory read multiple command allows pre-fetch even beyond the end of the current cache line) Memory-Write-and- Invalidate I/O-Read, I/O-Write Interrupt-Acknowledge Special-Cycle Dual-Address-Cycle (Zurück) Schreiben von mindestens einer ganzen (Cache)-Line in den Speicher. (bei Write Back: Cache Lines des Prozessors können auf Invalid gesetzt werden) Zugriff auf Targets, die im IO-Adressraum liegen. Explizite Übertragung der Adresse. (Sonderfall für alten 8259 kompatiblen IR-Controller, Lesezugriff) (Lesen der Vektornummer) Broadcasting einer Nachricht an alle Agenten. 64-Bit-Adressierung im Memory-Adressraum von Targets in zwei Zyklen.

Write-Block-Transaction 15 I I FRAME# Signal vom Master, bestimmt Beginn und Ende der Transaktion I I T T DEVSL# Antwort vom Target, Adresse erkannt, Anwahl bestätigt IRDY#, TRDY# Nur wenn wenn Initiator und Target Ready sind, findet ein Datentransfer statt. Ansonsten werden Wartezyklen eingeschoben.

Read-Block-Transaction 16 I I T I I T T

Beispiel: CEPRA-1X, Prozessor für die zellulare Verarbeitung mit PCI-Interface 17 holt sich einen Datenblock aus dem Hauptspeicher schreibt einen Datenblock in den Hauptspeicher schreibt einen Datenblock in den Grafikspeicher

CEPRA-64b 18 Entwickelt von D. Paschka 2007 Hardware: PCI-Einsteckkarte mit Cyclone II FPGA (483 840 Logic Elements, 33 216 Speicherbits) 64 MB DDR2 DRAM-Speicher FPGA-Configware, entwickelt mit ALTERA- Quartus, Verilog PCI-Interface DDR2-Interface Blocktransfers zwischen dem DDR2-Speicher und den lokalen Speichern auf den FPGA C-Treiber für die Karte unter Linux Cellular Automata Configware Zellgröße: 64 bis 1 Bit Verarbeitungsprinzip: Zeilenpuffer für die letzten zwei Berechnungszeilen, ein Ausgabe- Zeilenpuffer Berechnung von k Generationen, die sich im DDR2-Speicher befinden System-Software zur Kommunikation mit dem Host-PC Filetransfers zwischen DDR2-Speicher und PC über DMA Remotezugriff auf den PC Anwendungssoftware CA-Beispiel-Anwendungen