Forum: Mikrocontroller und Digitale Elektronik Bedeutung von 128k words


von Michi (Gast)


Lesenswert?

Hallo,

ich habe eine typische Anfängerfrage:

Bei einem Mikrocontroller verstehe ich die Angabe zum Speicher nicht.
Da steht z.B. "128k words Flash memory".
Also 18.000 Worte Flash. Aber was sind jetzt Worte? Bedeutet dass, das 
der Speicher von der Wortbreite der CPU abhängt (hier 32)?
Kann man das Ganze nicht ganz konventionell in Kilobyte angeben?

Danke

von spess53 (Gast)


Lesenswert?

Hi

"128k words Flash memory"  131072 (2^17) Worte á 16 Bit

MfG Spess

von Andreas V. (tico)


Lesenswert?

Michi schrieb:
> Bei einem Mikrocontroller verstehe ich die Angabe zum Speicher nicht.
> Da steht z.B. "128k words Flash memory".
> Also 18.000 Worte Flash.

Nö.
Das kleine k hinter der Zahl bedeutet in diesem Fall sehr wahrscheinlich 
"multipliziere mit 1024". Folglich handelt es sich um 131072 Words 
Flash.
Ein Word sind immer 16 Bit, also 2 Byte. Nach Adam Ries kommst Du dann 
auf 262144 Bytes Flash, das sind - oh Wunder - genau 256kB.

von Christian R. (supachris)


Lesenswert?

Naja, Word ist nicht eindeutig. Das kann alles mögliche sein. Deswegen 
gibt man das normalerweise besser in kiByte an, das ist eindeutig. Wobei 
es sich schon eingebürgert hat, dass WORD 16 Bit sind, DWORD 32 und 
QWORD 64. Aber wie gesagt, nicht immer...

von (prx) A. K. (prx)


Lesenswert?

Was ein "Wort" ist, das ist nicht fest definiert. Das können 
Maschinenworte sein, das können Speicherworte unbekannter Breite sein 
(bei externem Speicher dürften das 16 Bits sein), das können 16 Bits 
sein (x86).

von (prx) A. K. (prx)


Lesenswert?

Christian R. schrieb:

> es sich schon eingebürgert hat, dass WORD 16 Bit sind, DWORD 32 und
> QWORD 64. Aber wie gesagt, nicht immer...

Nur bei x86, nirgends sonst.

von Christian R. (supachris)


Lesenswert?

A. K. schrieb:
> Christian R. schrieb:
>
>> es sich schon eingebürgert hat, dass WORD 16 Bit sind, DWORD 32 und
>> QWORD 64. Aber wie gesagt, nicht immer...
>
> Nur bei x86, nirgends sonst.

Naja, bei den MSP430 Compiler beispielsweise auch. Dort aber meist in 
irgendwelchen Headern per typedef gemacht.

von Andreas V. (tico)


Lesenswert?

A. K. schrieb:
> Christian R. schrieb:
>
>> es sich schon eingebürgert hat, dass WORD 16 Bit sind, DWORD 32 und
>> QWORD 64. Aber wie gesagt, nicht immer...
>
> Nur bei x86, nirgends sonst.

Das stimmt nicht. Atmel z.B. verwendet den Begriff Word ebenfalls als 
Synonym für eine 16 bit breite Speicherzelle.

von (prx) A. K. (prx)


Lesenswert?

Ich wollte damit nur ausdrücken, dass sich das durchaus nicht 
eingebürgert hat.

So gibt es jede Menge Maschinen, bei denen ein Wort 32 Bits breit ist 
und 16 Bits als Halbwort bezeichnet werden. Wenn die als 32- oder 64-Bit 
Architektur entstanden sind und nicht von Intel stammen, dann ist diese 
Version üblich. 60 oder 48 Bits Wortbreite hat's aber auch schon 
gegeben.

von Maxxie (Gast)


Lesenswert?

Also

Byte: kleinste seperat addressierbare Speicherzelle. Meist verwendet als 
Synonym für Octed (wie es in ieee's, rfc's auch verwendet wird), das 
immer aus 8 Bits besteht. Es gibt(besser gab) allerdings auch Rechner 
die mit 6Bit Bytes rechneten.

Word: Größter nativ verarbeitbare ordinale Datentyp. (

Bei x86 ist das 32bit(EM64T 64). Die Konvention word = 16bit hat unser 
geliebtes ;-) MS eingeführt, nicht Intel, und in der ewigen Reihe der 
Abwärtskompatibilität von MASM&co beibehalten.

von (prx) A. K. (prx)


Lesenswert?

Maxxie schrieb:

> Word: Größter nativ verarbeitbare ordinale Datentyp.

Wobei sich das aber auf die erste Architektur beziehen kann, die in der 
Historie der Firma eine relevante Rolle spielt. Was bezogen auf DEC 
Alpha die PDP-11 war, auf dem Umweg über die VAX. So kamen die von 
Anfang an 64 Bit breiten Alphas zu 16 Bit breiten Worten (aber 
Langworten für 32 Bits).

> Bei x86 ist das 32bit(EM64T 64). Die Konvention word = 16bit hat unser
> geliebtes ;-) MS eingeführt, nicht Intel, und in der ewigen Reihe der
> Abwärtskompatibilität von MASM&co beibehalten.

Doch, das war sehr wohl Intel, anno 8086. Hat damals ja auch gestimmt. 
Auch die Begriffe WORD, DWORD, QWORD in Assembler haben wir Intel zu 
verdanken, nicht erst MS.

von avr (Gast)


Lesenswert?

Ich glaube der TE meint Angaben wie bei Microchip.

z.B. der alte 16x54 hat 768 Byte Programmspeicher.

Er arbeitet mit 8 Bit Datenbreite. Die Befehle haben jedoch
12 Bit (OP-Code + Daten). Solch ein Befehl wird dann
von Microchip WORD genannt.

Da in in 768 Byte 512 solcher WORDs a 12 Bit passen ist
der Speicher mit 512 WORD bzw. 0,5 kWORD angegeben.

Auch bei den 14 Bit-Typen so verwendet.

-> 1 kWord ==>> Platz für 1k = 1024 Befehle

gruß avr

von (prx) A. K. (prx)


Lesenswert?

Bei IA64 (Itanium) hatte Intel offensichtlich die Lust in diesem 
Verwirrspiel verloren und meidet darin solche Begriffe wie der Teufel 
das Weihwasser ;-).

von Maxxie (Gast)


Lesenswert?

A. K. schrieb:
> Doch, das war sehr wohl Intel, anno 8086. Hat damals ja auch gestimmt.

Eben. Sie haben es aber auch entsprechend angepasst. In den Blättern zum 
80486/7 erinnere ich mihc bei den eingeführten Caches die richtige 
Bezeichnung word für 32bit.

von (prx) A. K. (prx)


Lesenswert?

avr schrieb:

> Ich glaube der TE meint Angaben wie bei Microchip.

Das kann schon sein, aber er schreibt ausdrücklich, dass eine 32-Bit CPU 
gemeint ist. Und die einzige solche von Mirochip ist PIC32 aka MIPS32, 
und da ist ein Wort 32 Bits breit.

von (prx) A. K. (prx)


Lesenswert?

Maxxie schrieb:

> Eben. Sie haben es aber auch entsprechend angepasst. In den Blättern zum
> 80486/7 erinnere ich mihc bei den eingeführten Caches die richtige
> Bezeichnung word für 32bit.

Mag sein, dass in irgendwelchen wolkigen Beschreibungen zum inneren 
Aufbau der CPU der Begriff "word" für 32 Bits steht, aber soweit es die 
Dokumentation der ISA und damit den Programmierer angeht ist ein Wort 
bei allen x86 16 Bits breit.

Komplizierter ist es jedoch bei 32 Bits, denn im FPU-Kontext stehen 
"short integers" für 32 Bits obwohl dafür sonst "dword" verwendet wird, 
und "long integers" für 64 Bits.

von gast (Gast)


Lesenswert?

Auch beim 680x0 war ein Word 16 Bit groß. Leider halten sich nicht alle
an übliche Definitionen.

von Michael U. (amiga)


Lesenswert?

Hallo,

bei den mir bekannten (alten) Speicher-Ics hieß es entweder 
Byte-organisiert oder Word-organisiert und beschrieb 8Bit oder 16Bit 
Datenbreite.

Ob die Dinger dann einzeln (8Bit oder 16Bit breit) oder paarweise (16Bit 
oder 32Bit breit) oder 4x8 = 32Bit breit) an irgendwelche CPU-Busse 
gehangen wurden, hat die Speicherhersteller relativ wenig interessiert.

Zumindest für mich ist somit ein Word-organisierter Flash erstmal 16Bit 
breit.
Den Rest sagt mir dann das Datenblatt...

Gruß aus Berlin
Michael

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.