events

DESIGN&ELEKTRONIK-Entwicklerforum HMI – Komponenten & Lösungen
DESIGN&ELEKTRONIK-Entwicklerforum HMI – Komponenten & Lösungen

Am 24. Mai 2012 findet das DESIGN&ELEKTRONIK-Entwicklerforum »HMI – Komponenten & Lösungen« mit begleitender Fachausstellung statt. Die Themen: »Bedienen und Beobachten: Technik, Know-how und Tools für das Design moderner Benutzerschnittstellen«.

Melden Sie sich jetzt an…

DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«
DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«

Auch in diesem Jahr veranstaltet die DESIGN&ELEKTRONIK wieder das Entwicklerforum »Embedded-System-Entwicklung« am 11. und 12. Juli 2012 in München. Neben einem technisch anspruchsvollen Vortragsprogramm ermöglichen verschiedene Workshops den Teilnehmern einen differenzierten Einblick in die Thematik.

Ausführliche Informationen:
www.embedded-entwicklerforum.de

Produkte des Jahres 2012

Linux /ARM

Linux: Embedded für alle
Linux: Embedded für alle

Linux ist heute erste Wahl geworden, wenn es um die Entscheidung für ein Betriebssystem in einem leistungsfähigen Embedded-System geht. Wie kann es sein, dass eine Open-Source-Software gerade bei Embedded-Systemen so erfolgreich ist?

Konferenz für ARM-Systementwicklung
Konferenz für ARM-Systementwicklung

Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.

Ausführliche Informationen:
www.arm-entwicklerkonferenz.de

embedded world Technology Report

Android & Embedded
embedded world Technology Report

Welche Embedded-Trends zeichnen sich ab? Im »embedded world Technology Report« gibt ein unabhängiger Expertenrat einen exklusiven Einblick in aktuelle Entwicklungen und zukünftige Trends im Embedded-Bereich.

Interessiert? Hier geht es zum kostenlosen Download

embedded world special

embedded world 2012
embedded world 2012

Wir haben aktuell von der weltgrößten Messe für die Embedded-Branche mit News, Videobeiträgen und Produktneuheiten berichtet.

Windows Embedded Standard 7

Windows Embedded Standard 7
Windows Embedded Standard 7

Was ist neu in Windows Embedded Standard 7? Lesen Sie alles rund um das neue Microsoft-Embedded-Betriebssystem Embedded Standard 7 in unserem Spezial.


Windows 7 - Special zum Download

Windows 7 -Special zum Download
Windows 7 -Special zum Download

20 Seiten Fachwissen – Das Windows-Embedded-Special als PDF-Download.


Marktübersichten Embedded

Marktübersichten aus dem Bereich Embedded

Software im sicherheitskritischen Bereich

Entwicklungssoftware
Entwicklungssoftware

Um die »Worst-Case Execution Time« zu erhalten, gibt es verschiedene Herangehensweisen – bequeme und weniger bequeme.


12. Mai 2009
Rechnerbussysteme

Wie Software die PCI-Leistung von Intel-Chipsätzen beeinflusst

Daten zwischen Hauptspeicher und Peripheriegeräten mit hohem Durchsatz zu übertragen, ist in fast allen Bereichen von Computeranwendungen ausschlaggebend. Eine optimale Leistung ist jedoch nur erreichbar, wenn man geeignete Übertragungsmethoden und -einstellungen anwendet.

Von Matthias Söhnlein

Anzeige

Der PCI-Bus (Peripheral Component Interconnect), der mit einer Frequenz von 33 MHz arbeitet, hat eine theoretische Bandbreite von 33 MHz × 32 bit = 132 Mbyte pro Sekunde. Dies könnte man mit einem endlosen Block-Transfer erreichen. Da reelle Block-Transfers in ihrer Länge begrenzt sind, ist die tatsächliche Bandbreite jedoch wesentlich geringer. Wenn die Blocklänge beispielsweise auf neun Zyklen begrenzt ist, also nach jedem 9. Zyklus ein neuer PCI-Block-Transfer angestoßen werden muss, und das Anstoßen eines neuen Transfers einen Zyklus benötigt, reduziert sich die theoretische Leistung auf 90 % (119 Mbyte/s).

Unter optimalen Bedingungen lassen sich solche Übertragungsraten auch in der Praxis realisieren: Ein PCI-Target sendet ununterbrochen und ohne Störungen durch andere PCI-Targets einen großen Datenblock nach dem anderen an ein anderes PCI-Target. Derartige Bedingungen können jedoch nur für extrem kurze Zeit gewährleistet werden.

Typischerweise sind mehrere PCI-Targets mit dem Bus verbunden, und jedes möchte zu irgendeiner Zeit Daten übertragen. Deshalb muss die verfügbare Bandbreite zwischen den Targets aufgeteilt werden.

Motherboard-Aufbau: Von der Bridge zum Hub

Motherboard-Architektur auf Bridge-Basis
MEN Mikro Elektronik 
zoom
Bild 1. Motherboard-Architektur auf Bridge-Basis. Die Performance des PCI-Busses bestimmt wesentlich die Leistung des Gesamtsystems mit.

Es gibt jedoch noch weitere Faktoren, die sich auf den PCI-Durchsatz auswirken. Bei früheren Chip-Designs von Intel war der PCI-Bus das Bindeglied zwischen den Hauptbestandteilen des Chipsatzes, und die Leistungsfähigkeit dieses Busses war ausschlaggebend für die Leistung des Gesamtsystems (Bild 1). Um eine optimale Gesamt-Systemleistung zu erreichen, wurden die Schnittstellen der Chips für PCI-Übertragungen optimiert. Der CPU-Cache war ein eigener Speicher und wurde von der so genannten Northbridge verwaltet, dem gleichen Chip, durch den auch die CPU, der Hauptspeicher und der PCI-Bus angebunden wurden. Dieser Chip war in der Lage, einzelne PCI-Bus-Transfers zu einem einzelnen PCI-Block-Transfer zusammenzufassen.

Heutige Chip-Designs von Intel bringen viele Verbesserungen mit sich. Für eine höhere CPU-Leistung wurde der Cache-Speicher auf mehrere Ebenen erweitert und hängt nicht mehr an der Northbridge, sondern befindet sich nun im gleichen Chip-Gehäuse wie die CPU. Durch die direkte Verbindung mit der CPU wird der Cache nicht durch externe Schnittstellen ausgebremst und ist somit wesentlich schneller. Aktuelle CPUs sind außerdem wesentlich schneller, und ihr Out-of-Order-Design erlaubt es ihnen, sich mit zusätzlichen Aufgaben und Operationen zu beschäftigen, während sie auf die Übertragung von Daten warten.

Motherboard-Architektur auf Hub-Basis
MEN Mikro Elektronik 
zoom
Bild 2. Motherboard-Architektur auf Hub-Basis. Der PCI-Bus ist im wahrsten Sinne des Wortes zum Peripheriebus geworden. Die zentralen Schaltstellen sind Memory- und I/O-Controller-Hub, die über ein schnelles „Direct Media Interface“ verbunden sind.

Mittlerweile stellt auch nicht mehr der PCI-Bus die Verbindung zwischen den Bausteinen des Chipsatzes her. Stattdessen wird mit dem „Direct Media Interface“ (DMI) eine schnellere Verbindung genutzt, die ausreichend Bandbreite für Datenübertragungen zu Schnittstellen wie Serial-ATA, Gigabit-Ethernet usw. zur Verfügung stellt. Dies ist die größte Veränderung, die auch einen enormen Einfluss auf die Datenströme hat.

Jedes Direct Media Interface ist unabhängig von allen anderen Schnittstellen und wesentlich schneller als der PCI-Bus, der im wahrsten Sinne des Wortes ein Peripherie-Bus geworden ist. Jetzt stellt der so genannte „I/O Controller Hub“ (ICH) den 33-MHz-PCI-Bus zur Verfügung, und ein PCI64-Hub den 66-MHz-PCI-Bus (Bild 2).

Während sich die Leistungsfähigkeit des Gesamtsystems verbessert hat, ist die Datenübertragung von und zu den PCI-Targets nicht unbedingt schneller geworden. Insbesondere dann, wenn die Daten per programmierter Ein-/Ausgabe (Programmed Input/Output – PIO) übertragen werden, bei der die Daten von der CPU in Einheiten von 4 byte von der Quelle gelesen und zum Ziel gesendet werden, kann der Durchsatz geringer ausfallen.

Abgesehen von Sonderfällen, bei denen z.B. Daten direkt zwischen zwei PCI-Targets ausgetauscht werden, erfolgt die Kommunikation mit einem PCI-Target in der Regel durch einen Gerätetreiber, indem Daten zwischen einem Speicher auf dem PCI-Target und dem Hauptspeicher transferiert werden. Hierfür stehen vor allem die programmierte Ein-/Ausgabe (PIO) und die Datenübertragung per Direct Memory Access (DMA) zur Verfügung. Da bei der programmierten Ein-/Ausgabe reguläre Speicherzugriffe ausgeführt werden, kann außerdem durch Veränderung der Cache-Strategie für die beiden Speicher mittels Einträgen in den „Memory Type Range“-Registern (MTRR) Einfluss auf den Datendurchsatz genommen werden.