Forum: Mikrocontroller und Digitale Elektronik wieviel MHz sind für Gigabit Ethernet notwendig?


von Olaf (Gast)


Lesenswert?

Hi,

wieviel MHz benötigt ein ARM oder Cortex Prozessor, damit dieser Gigabit 
Ethernetdaten verarbeiten kann?

Dieser ARM PRozessor von Micrel läuft gerade mal auf 250MHz und kann 
u.a. zwei Gigabitnetzwerkschnittstellen bedienen.
http://www.micrel.com/_PDF/Ethernet/datasheets/ksz9692mpb_xpb.pdf

Die interne Busgeschwindigkeit wird ja auch nicht schneller als 250MHz 
sein, auch wenn sie mittels DMA durchgeführt wird.


Bis jetzt dachte ich, dass man zumindestens 500-600MHz benötigt, damit 
man eine Gigabitnetzwerkschnittstelle bedienen kann.

Gruß
Olaf

von (prx) A. K. (prx)


Lesenswert?

Olaf schrieb:

> wieviel MHz benötigt ein ARM oder Cortex Prozessor, damit dieser Gigabit
> Ethernetdaten verarbeiten kann?

Verarbeiten kann die jeder Prozessor, der überhaupt ein solches 
Interface hat. Die Frage ist eher wie schnell, also ab welcher Leistung 
er einen bestimmten Netzwerkdienst mit voller Geschwindigkeit 
verarbeiten kann. Das aber hängt nicht unerheblich vom betreffenden 
Dienst ab. Für HTTPS ist ein bissel Dampf nötig als für FTP.

Es kann ja auch nicht jeder PC, in den man eine 10Gb-Ethernet Karte 
stopft, damit ungebremst umgehen.

von Olaf (Gast)


Lesenswert?

A. K. schrieb:
> Die Frage ist eher wie schnell, also ab welcher Leistung
> er einen bestimmten Netzwerkdienst mit voller Geschwindigkeit
> verarbeiten kann.

hat man dann überhaupt einen Vorteil gegenüber einer 100MBit 
Schnittstelle, wenn die Verarbeitungsgeschwindigkeit des Prozessors 
gering ist?

von Jim M. (turboj)


Lesenswert?

> Die interne Busgeschwindigkeit wird ja auch nicht schneller als 250MHz
> sein, auch wenn sie mittels DMA durchgeführt wird.

Ja, aber es sind 4 Bytes parallel - aka 32 Bit - und dann rechne 
nochmal. Ich komme da auf 1 GByte/sec - das würde reichen um beide GbE 
Schnittstelle voll sendend und empfangend auszulasten.

Jetzt wo ich das Datenblatt lese kann der Bus leider nur 166 MHz, reicht 
also nur fast.

von Andreas (Gast)


Lesenswert?

> hat man dann überhaupt einen Vorteil gegenüber einer 100MBit
> Schnittstelle, wenn die Verarbeitungsgeschwindigkeit des Prozessors
> gering ist?

Ja, mehrere:
Erstens wird die Latenz niedriger, denn ein Ethernet-Packet hat am Ende 
eine CRC-Pruefsumme und man kann das Packet erst verarbeiten, wenn es 
komplett da ist, und das Netzwerkinterface die CRC ueberprueft hat.
Wenn die Bandbreite 10mal so hoch ist, ist das Packet auch zehnmal so 
schnell da.
Selbst wenn also die Datenrate gleich gross ist, geht es schneller von 
dem Augenblick, an der Sender das Packet abschickt, bis es vom 
Empfaenger verarbeitet werden kann.

Zweitens kann es sinnvoll sein, wenn ein Server/PC/Zentralstelle mit 
vielen Clients arbeitet. Zwar ist die Bandbreite am einzelnen Client 
unproblematisch, aber am Server kann das anders aussehen.

Andreas

von (prx) A. K. (prx)


Lesenswert?

Olaf schrieb:

> hat man dann überhaupt einen Vorteil gegenüber einer 100MBit
> Schnittstelle, wenn die Verarbeitungsgeschwindigkeit des Prozessors
> gering ist?

Ich bin fast sicher, dass auch ein 250MHz Prozessor in der Lage ist, den 
immer gleichen Frame mit weit mehr als 100Mb/s rauszublasen. ;-)

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Mit 250MHz wirste GBit sicher nicht auslasten können.
Der hat eben "nur" den Gbit Controller, also die Packete kommen mit GBit 
an und werden gepuffert, der Prozzel kann dann damit spielen.
WEnn du den jetzt mit Gbit zupumpst, läuft irgendwann der Puffer über.
bei UDP isses packet dann verloren und bei TCP kommts irgendwann 
nochmal.

von Svenska (Gast)


Lesenswert?

Ich besitze ein NAS mit 600 MHz ARM (IOP32x) und 2x GBit Ethernet. Das 
lastet nichtmal 100 MBit/s auf einem LAN aus, selbst dann nicht, wenn es 
immer das gleiche Paket ist.

Um Daten mit GBit/s zu verarbeiten, reichen 250 MHz nicht. Dein Bus muss 
die Daten übrigens zweimal verarbeiten, wenn du sie wegschreiben 
möchtest: Ethernet->RAM und RAM->Festplatte.

Wenn es dir nur darum geht, GBit auf dem Kabel zu fahren, spielt die 
Prozessorgeschwindigkeit keine Rolle. Du kannst ja mal ausprobieren, wie 
schnell dein IP-Stack synthetische Daten verarbeiten kann, daraus ergibt 
sich dann die Geschwindigkeit. ;-)

von (prx) A. K. (prx)


Lesenswert?

Svenska schrieb:

> Ich besitze ein NAS mit 600 MHz ARM (IOP32x) und 2x GBit Ethernet. Das
> lastet nichtmal 100 MBit/s auf einem LAN aus, selbst dann nicht, wenn es
> immer das gleiche Paket ist.

Und ich hab ein altes NAS mit einem 300-400 MHz ARM9 rumliegen, das mit 
FTP immerhin auf knapp 20MB/s kam, also weit über 100Mbps. Von Disk.

von Stephan (Gast)


Lesenswert?

Olaf schrieb:
> Bis jetzt dachte ich, dass man zumindestens 500-600MHz benötigt, damit
> man eine Gigabitnetzwerkschnittstelle bedienen kann.

Solange Daten 1:1 aus dem Speicher kommen und das Netzwerkinterface in 
HW die einfacheren Protokollschichten alleine abwickelt kann ein 
100MBit-Interface begrenzend sein.

Der Prozessor wird das GBit-Interface nicht ausreizen können. Er kann 
aber davon profitieren, und das reicht eigentlich. Die Zusatzkosten 
dürften minimal sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.