Adressverwaltung CPU

Gast #6303393
Lesenswert?

Was ich weiß:

Bool/ Byte können bei ungradzahliger Adresse beginnen
Real, int, DInt immer gradzahlige Adressse

Benötigter Speicherplatz:

Bool 0.1 Byte
Byte  1.0 byte
real 4.0
Int 2.0 Byte
DINT 4.0 Byte
usw...

dazu die Anfängerfrage (Anhang):
warum wird bei 5 nicht mit adresse 1.1 weitergrechnet?
...bei 7 mit 4.1?
Warum bei 8 mit 8.0? der sprung von 7 auf 8 hätte ja mindesten 4 Byte 
groß sein müssen. Die Aressvergabe danach verstehe ich auch nicht.

Vielen Dank schoneinmal
Angehängte Dateien:
(Firma: Schweigstill IT) Persönliche Seite #6303522
Lesenswert?

A. K. schrieb:
> Dein Sinn für Nachkommastellen in Ehren, aber wenn du das nicht im
> Oktalsystem angegeben hast, dann meinst du wohl die eher seltene
> Maschine mit 10-Bit Bytes.

Nein, es handelt sich ganz offenbar um eine Siemens S7-314C-2 PN/DP, die 
mit einer aktiken STEP7-Version (V5.x o.ä.) projektiert wird. Die 
Schreibweise mit per Punkt abgetrennten Bitpositionen ist ausgesprochen 
gebräuchlich im SPS-Bereich. Diese ist sogar in der Norm IEC/EN 61131-3 
enthalten.
#6303610
Lesenswert?

SPS schrieb:
> Was ich weiß:
>
> Bool/ Byte können bei ungradzahliger Adresse beginnen
> Real, int, DInt immer gradzahlige Adressse

Das weißt du falsch. Tip: verschiedene CPU handhaben das 
unterschiedlich. Lies mal 
https://en.wikipedia.org/wiki/Data_structure_alignment

> Bool 0.1 Byte

Das ist falsch.

> Byte  1.0 byte

Das ist trivial (wenn "Byte" und "byte" das gleiche meinen)

> real 4.0
> Int 2.0 Byte

Das ist manchmal auch falsch. Abgesehen davon haben verschiedene 
Programmiersprachen nicht nur unterschiedliche Ansichten über die Länge 
eines INT, sondern möglicherweise sogar über die Länge eines Bytes. Ein 
Byte enthält zwar oft, aber eben nicht immer 8 Bits.

https://en.wikipedia.org/wiki/Byte
Gast #6303637
Lesenswert?

Axel S. schrieb:
> SPS schrieb:
>> Was ich weiß:
>>
>> Bool/ Byte können bei ungradzahliger Adresse beginnen
>> Real, int, DInt immer gradzahlige Adressse
>
> Das weißt du falsch. Tip: verschiedene CPU handhaben das
> unterschiedlich. Lies mal
> https://en.wikipedia.org/wiki/Data_structure_alignment
>
>> Bool 0.1 Byte
>
> Das ist falsch.

>> real 4.0
>> Int 2.0 Byte
>
> Das ist manchmal auch falsch. Abgesehen davon haben verschiedene
> Programmiersprachen nicht nur unterschiedliche Ansichten über die Länge
> eines INT, sondern möglicherweise s

alles fake news in diesem Zusammenhang

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren