Enthält ein Byte 8 Bits oder 9?

56

In diesem Tutorial zur Baugruppenprogrammierung habe ich gelesen, dass 8 Bits für Daten verwendet werden, während 1 Bit für die Parität verwendet wird, die dann zum Erkennen von Paritätsfehlern (verursacht durch Hardwarefehler oder elektrische Störungen) verwendet wird.

Ist das wahr?

xtt
quelle
5
Unter cs.stackexchange.com/a/19851/584 finden Sie eine Erläuterung, was ein Byte sein kann.
Programmierer
63
Dieser Artikel ist voller Unsinn und du solltest ihn ignorieren.
David Schwartz
12
Wenn Sie pedantisch sein wollen, nennen Sie sie einfach "Oktette". Dieser Artikel ist entweder mit einem ganz bestimmten Prozessor geschrieben (einer, der aus irgendeinem Grund Paritätsbits im ROM behalten muss ...) oder einfach nur verrückt. Mikrochip-PICs verwenden beispielsweise eine Wortlänge von 14 Bit. Der gesamte Programmspeicher ist in einem N · 14-Bit-Array organisiert.
Nick T
13
@ NickT: Sie sind jedoch nicht dasselbe. Ein Oktett besteht immer aus 8 Bits, ein Byte kann alles sein.
Jörg W Mittag
4
Der Artikel bezog sich möglicherweise auf die Speicherkorrekturmechanismen, die in einigen frühen IBM PCs verwendet wurden, aber die Aussage, dass "Byte 8-Bit-Daten + 1-Bit-Parität sind", ist völliger Unsinn. Beispielsweise verwenden CD-ROMs in der Regel Fehlerkorrekturmechanismen, die viel gieriger sind - eine typische Audio-CD verwendet 8 Byte pro 24 Byte Audiodaten. Aber das Wichtigste ist, dass es Ihnen egal ist . Überhaupt. Es ist exklusiv für den eigentlichen Speichermechanismus - die CPU kümmert sich nicht darum, Ihr Code interessiert sich nicht dafür.
Luaan

Antworten:

78

Ein Datenbyte besteht aus acht Bits, es kann mehr Bits pro Datenbyte geben, die im Betriebssystem oder sogar auf Hardwareebene für die Fehlerprüfung verwendet werden (Paritätsbit oder sogar ein erweitertes Fehlererkennungsschema), die Daten bestehen jedoch aus acht Bits Bits und jedes Paritätsbit ist normalerweise für die Software unsichtbar. Ein Byte wurde standardisiert, um "acht Datenbits" zu bedeuten. Der Text ist nicht falsch zu sagen, dass möglicherweise mehr Bits zum Speichern eines Datenbytes als die acht Datenbits vorgesehen sind, aber diese werden normalerweise nicht als Teil des Bytes an sich betrachtet. Der Text selbst weist auf diese Tatsache hin.

Sie können dies im folgenden Abschnitt des Tutorials sehen:

Doubleword: a 4-byte (32 bit) data item

4 * 8 = 32, es kann tatsächlich 36 Bit im System beanspruchen, aber für Ihre Absichten und Zwecke sind es nur 32 Bit.

JustAnotherSoul
quelle
5
Wenn die Hardware eine Fehlererkennung implementiert, wird dies wahrscheinlich bei größeren Speicherbereichen als einem Byte der Fall sein, z. B. bei Sektoren mit 512 Byte. Auf diese Weise können Sie den zusätzlichen Speicherbedarf reduzieren. Nur zur Verdeutlichung: Auch bei einer Fehlerkorrektur verwendet die Hardware immer noch 8 Bit pro Byte plus einige Bits für jeden "Datenblock", der wahrscheinlich viel größer als ein einzelnes Byte ist.
Bakuriu
11
Beachten Sie, dass es Systeme mit nicht 8-Bit-Bytes gibt, die von der Software angezeigt werden. Siehe Welche Plattformen haben etwas anderes als 8-Bit-Zeichen? Frage bei StackOverflow.
Ruslan
3
Ja, sie existieren tatsächlich. Bei diesem bestimmten Link handelt es sich jedoch um Zeichen, die keine 8-Bit-Zeichen sind. Sozusagen: Byte bezeichnet einfach die Anzahl der Bits, die ein bestimmtes System zum Speichern eines "Zeichens" benötigte, das so niedrig wie sechs Bits war. Aber IIRC ist in der IEC-80000-Spezifikation standardisiert, dass ein Byte 8-Bit ist. Wenn Sie sich von den Mainstream-Systemen entfernen, werden Sie natürlich auf Kuriositäten stoßen, und Standards sind keine Gesetze.
JustAnotherSoul
3
@JustAnotherSoul: Und es gibt konkurrierende Standards, die Bytes als "mindestens 8 Bit" oder auf andere Weise definieren. Es ist interessant zu sehen, wie sich die Definition von Byte Jahrzehnte später in den Köpfen der Menschen ändert. In der Zeit einer viel stärkeren architektonischen Heterogenität war Byte einfach die kleinste adressierbare Einheit Ihrer Architektur (Beispiele finden Sie in verschiedenen PDPs). Dies ist auch der Grund, warum im Internet der Begriff Oktett zur Beschreibung der Daten auf Draht verwendet wurde, da Byte kein universelles Wort für einen Teil von 8-Bit-Daten war.
PlasmaHH
2
@ JustAnotherSoul Beachten Sie, dass charin C (worum es bei der Verknüpfung geht) genau die kleinste adressierbare Speichereinheit ist. Es heißt nur char , aber der C-Standard macht es auch zu byte .
Ruslan
48

Herkömmlicherweise kann ein Byte eine beliebige Größe haben und ist nur die kleinste adressierbare Speichereinheit. Heutzutage sind 8-Bit-Bytes für Software so ziemlich standardisiert. Wie JustAnotherSoul sagte, kann die Hardware mehr Bits als die 8 Datenbits speichern.

Wenn Sie an programmierbaren Logikbausteinen wie FPGAs arbeiten, werden Sie möglicherweise feststellen, dass deren interner Speicher häufig als 9-Bit-Chunks adressierbar ist, und als HDL-Autor können Sie dieses neunte Bit zur Fehlerprüfung oder nur zum Speichern größerer Mengen verwenden von Daten pro "Byte". Beim Kauf von Speicherchips für kundenspezifische Hardware haben Sie im Allgemeinen die Wahl zwischen 8- oder 9-Bit-adressierbaren Einheiten (oder 16/18, 32/36 usw.), und dann liegt es an Ihnen, ob Sie 9-Bit- "Bytes" haben und welche Du machst das mit dem 9. Bit, wenn du es haben willst.

Extrarius
quelle
10
Im Allgemeinen spricht man von einem "Wort", wenn es eine Gruppe von Daten gibt, die logischerweise eine einzelne Einheit ist, aber mehr oder weniger als 8 Bits enthält. Beispielsweise verwenden einige Prozessoren ein 40-Bit-Befehlswort.
Devsman
3
+1. Im Übrigen gab es Architekturen mit sowohl "Bitzeigern" als auch "Bytezeigern". In solchen Architekturen ist ein Byte technisch gesehen nicht "die kleinste adressierbare Speichereinheit" (da Sie jedes Bit unabhängig adressieren können), obwohl es schwierig ist, genau zu sagen, was es ist . Ich denke, es ist so etwas wie "Ich weiß es, wenn ich es sehe". :-P
ruakh
18
"Oktett" war das traditionell verwendete Wort für "Ich würde es ein Byte nennen, aber ich meine wirklich genau 8 Bits" für verschiedene Kommunikationsprotokolle zwischen Systemen, die möglicherweise unterschiedliche Byte-Größen haben. In diesen Tagen ist es jedoch anachronistisch, Byte für etwas anderes als 8 Bit zu verwenden.
21.
@ Devsman Nicht unbedingt. x86-Chips haben beispielsweise 32-Bit-Wörter und 8-Bit-Bytes. Ein Byte ist die kleinste adressierbare Größe. Das Wort ist etwas vager definiert, hat jedoch die Größe, mit der man am bequemsten arbeiten kann. dh die erwartete Operandenlänge der meisten Befehle.
Ray
Dies sollte als die richtige Antwort markiert werden, es ist richtiger.
Liebe
32

Dieser Text ist äußerst schlecht formuliert. Er spricht mit ziemlicher Sicherheit von ECC - RAM (Error Correction Code) .

Der ECC-RAM speichert normalerweise Informationen im Wert von 8 Bit unter Verwendung von 9 Bit. Das zusätzliche Bit pro Byte wird zum Speichern von Fehlerkorrekturcodes verwendet.

ECC gegen Nicht-ECC (In beiden Fällen ist jedes Byte über jeden Chip verteilt. Mit freundlicher Genehmigung von Puget Systems )

Dies alles ist für Benutzer der Hardware völlig unsichtbar. In beiden Fällen sieht Software, die diesen RAM verwendet, 8 Bits pro Byte.


Übrigens: Fehlerkorrekturcodes im RAM sind normalerweise nicht wirklich 1 Bit pro Byte. Sie sind stattdessen 8 Bits pro 8 Bytes. Dies hat den gleichen Platzaufwand, hat jedoch einige zusätzliche Vorteile. Siehe SECDED für weitere Informationen.

BlueRaja - Danny Pflughoeft
quelle
12
Parity RAM und ECC RAM sind verschiedene Dinge. Der Paritäts-RAM speichert ein zusätzliches Bit pro Fehlerdomäne, kann alle Einzelbitfehler und keine Doppelbitfehler erkennen und kann nichts beheben. ECC speichert eine Reihe zusätzlicher Bits pro Fehlerdomäne, kann alle Einzelbitfehler erkennen und beheben, kann alle Doppelbitfehler erkennen, aber nicht beheben und kann einige größere Fehler abfangen. Paritäts-RAM ist heutzutage selten, da es fast vollständig durch ECC-RAM ersetzt wurde.
Mark
1
@Mark: Ich habe darauf hingewiesen, dass in meinem letzten Absatz mehr Details im Link stehen. Paritäts-RAM existiert heutzutage im Grunde genommen nicht mehr, da ein (72,64) Fehlerkorrekturcode den gleichen Overhead wie ein (9,8) Paritätscode hat.
BlueRaja - Danny Pflughoeft
7
Während Sie darauf hinweisen, geben Sie auch Dinge an, die es ungenau / verwirrend machen. Der ECC-RAM speichert keine Informationen im Wert von 8 Bit unter Verwendung von 9 Bit. Dies impliziert, dass Sie ECC für 8 Bit mit 9 Bit ausführen können, was nicht möglich ist. Für 8 Bits diskreter Informationen reicht ein zusätzliches Bit aus, um Einzelbitfehler zu erkennen und nicht zu korrigieren. ECCs verwenden eine größere Anzahl von Bits oder Bytes, um Daten zu enthalten, die ausreichen, um Fehler für Datengruppen zu korrigieren, die normalerweise größer als ein einzelnes Byte sind. Während dies im Durchschnitt ein zusätzliches Bit pro 8 Bits sein kann, kann es nicht auf die Zuordnung von nur 1 Bit pro 8 Bits heruntergebrochen werden.
Makyen
Es gibt ein 36-Bit-Schema (32-Bit-Wort + 4-Bit-ECC), das eine Einzelbit-Fehlerkorrektur und eine Zwei-Bit-Fehlererkennung ermöglicht. Sie können es zwar arithmetisch auf 8 Datenbits + 1 ECC-Bit aufteilen, aber so kann / kann es nicht funktionieren. Die vollen 4 Bits des ECC sind erforderlich, was 32 Datenbits abdeckt.
Zenilogix
@Zenilogix und andere, die dasselbe wiederholten: Ich verstehe sehr gut, wie ECC funktioniert, und nichts, was ich sagte, war falsch. Ich habe nie behauptet, dass 8-Bit-ECC mit 9 Bit durchgeführt werden kann. Ich sagte, dass der ECC-RAM 9 Bit pro Byte Speicher verwendet. Die Funktionsweise von ECC ist für diese Frage völlig unangebracht, weshalb ich die Details mit einem Link beiseite gelassen habe. Bitte stoppen Sie alle umständlichen Kommentare.
BlueRaja - Danny Pflughoeft
16

Im Allgemeinen lautet die kurze Antwort: Ein Byte besteht aus 8 Bits. Dies vereinfacht die Angelegenheit zu stark (manchmal sogar bis zur Ungenauigkeit), ist jedoch die Definition, mit der die meisten Menschen (einschließlich einer großen Anzahl von Programmierern) vertraut sind, und die Definition wird von fast allen standardmäßig verwendet (unabhängig von der Anzahl der unterschiedlich großen Bytes). musste arbeiten mit).

Insbesondere ist ein Byte die kleinste adressierbare Speichereinheit für die gegebene Architektur und ist im Allgemeinen groß genug, um ein einzelnes Textzeichen aufzunehmen. In den meisten modernen Architekturen ist ein Byte als 8 Bit definiert. ISO / IEC 80000-13 spezifiziert auch, dass ein Byte 8 Bits hat, ebenso wie der allgemeine Konsens (was bedeutet, dass, wenn Sie von 9-Bit-Bytes sprechen, Sie auf ein Byte stoßen werden) Menge Probleme stoßen, es sei denn, Sie führen dies ausdrücklich aus) Geben Sie an, dass Sie keine normalen Bytes meinen.

Es gibt jedoch Ausnahmen von dieser Regel. Zum Beispiel:

In den meisten Fällen besteht ein Byte also im Allgemeinen aus 8 Bits. Wenn nicht, sind es wahrscheinlich 9 Bits und können Teil eines 36-Bit-Wortes sein oder auch nicht.

Gerade rechtzeitig
quelle
8

Beachten Sie, dass der Begriff Byte ohne Kontext nicht genau definiert ist. In Bezug auf Computerarchitekturen kann man zumindest für moderne Architekturen davon ausgehen, dass ein Byte 8-Bit ist. Dies wurde weitgehend durch Programmiersprachen wie C standardisiert, für die Bytes erforderlich waren mindestens 8 Bits jedoch keine Garantie für größere Bytes gegeben ist. macht 8 Bits pro Byte zur einzigen sicheren Annahme.

Es gibt Computer mit adressierbaren Einheiten, die größer als 8 Bit sind (normalerweise 16 oder 32). Diese Einheiten werden jedoch normalerweise als Maschinenwörter und nicht als Bytes bezeichnet. Beispielsweise würde ein DSP mit 32K 32-Bit-RAM-Wörtern mit 128 KB oder RAM und nicht mit 32 KB angekündigt.

Was Kommunikationsstandards betrifft, sind die Dinge nicht so genau definiert. ASCII ist immer noch weit verbreitet und hat 7-Bit-Bytes (die gut in 8-Bit-Bytes auf Computern passen). UART-Transceiver werden immer noch mit konfigurierbarer Bytegröße hergestellt (normalerweise können Sie mindestens 6, 7 und 8 Bits pro Byte auswählen, aber 5 und 9 sind keine Seltenheit).

Dmitry Grigoryev
quelle
6

Ein Byte wird normalerweise als die kleinste einzeln adressierbare Einheit des Speicherplatzes definiert. Es kann jede Größe sein. Es gab Architekturen mit Byte-Größen zwischen 6 und 9 Bit, vielleicht sogar größer. Es gibt auch Architekturen, bei denen die einzige adressierbare Einheit die Größe des Busses ist. Bei solchen Architekturen können wir entweder sagen, dass sie einfach kein Byte haben , oder das Byte hat die gleiche Größe wie das Wort (in einem bestimmten Fall weiß ich, dass dies der Fall ist) 32 Bit sein); In beiden Fällen ist es definitiv nicht 8 Bit. Ebenso gibt es bitadressierbare Architekturen. Auf diesen Architekturen könnten wir wiederum argumentieren, dass Bytes einfach nicht existieren, oder wir könnten argumentieren, dass Bytes 1 Bit sind. So oder so ist eine sinnvolle Definition, aber 8 Bit ist definitiv falsch.

In vielen allgemeinen Standardarchitekturen enthält ein Byte 8 Bit. Dies ist jedoch nicht garantiert. Je weiter Sie sich vom Mainstream und / oder von Allzweck-CPUs entfernen, desto wahrscheinlicher werden Sie auf Nicht-8-Bit-Bytes stoßen. Dies geht so weit, dass einige hoch portable Software sogar die Größe konfigurierbar macht. Beispielsweise enthielten ältere Versionen von GCC ein Makro namensBITS_PER_BYTE (oder so ähnlich), das die Größe eines Bytes für eine bestimmte Architektur konfigurierte. Ich glaube, einige ältere Versionen von NetBSD könnten auf Nicht-8-Bit-pro-Byte-Architekturen ausgeführt werden.

Wenn Sie wirklich betonen möchten, dass es sich nicht um die kleinste adressierbare Speicherkapazität handelt, sondern um eine exakte 8-Bit-Speicherkapazität, wie groß sie auch sein mag, können Sie den Begriff Oktett verwenden , der beispielsweise in vielen neueren RfCs verwendet wird.

Jörg W. Mittag
quelle
2
Standard C und C ++ haben ein vordefiniertes Makro CHAR_BIT(gefunden in limits.h), mir ist nicht bekanntBITS_PER_BYTE
njuffa
3

Als ich 1960 mit dem Programmieren anfing, hatten wir 48-Bit-Wörter mit 6-Bit-Bytes - sie hießen damals nicht so, sie hießen Zeichen. Dann habe ich am Golem-Computer mit 75-Bit-Wörtern und 15-Bit-Bytes gearbeitet. Später waren 6-Bit-Bytes die Norm, bis IBM die 360 ​​herausbrachte, und heutzutage entspricht ein Byte üblicherweise einem Oktett, dh 8-Bit-Daten. Einige Hardware verfügte über zusätzliche Bits zur Fehlererkennung und möglicherweise zur Fehlerkorrektur, auf die die Software jedoch nicht zugreifen konnte.

Jonathan Rosenne
quelle
3

Ein Byte besteht aus 8 Bits.

In der fernen Vergangenheit gab es unterschiedliche Definitionen eines Erinnerungsworts und eines Bytes. Die Annahme, dass diese Mehrdeutigkeit im heutigen Leben weit verbreitet oder weit verbreitet ist, ist falsch.

Seit mindestens den späten 1970er Jahren besteht ein Byte aus 8 Bits. Die Massenbevölkerung von Heimcomputern und PCs hat in ihrer Dokumentation eindeutig ein Byte als 8-Bit-Wert verwendet, ebenso wie alle Datenblätter und Dokumentationen für Diskettenlaufwerke, Festplattenlaufwerke und PROM / EPROM / EEPROM / Flash-EPROM / SRAM / SDRAM-Speicherchips, die ich in diesem Zeitraum gelesen habe. (Und ich habe in dieser Zeit persönlich sehr viel darüber gelesen.) Ethernet und einige andere Kommunikationsprotokolle sind für mich ungewöhnlich, wenn es um Oktette geht.

Die Mehrdeutigkeit des Begriffs Byte ist selbst eine seltene und dunkle Sache. Sehr, sehr wenige Programmierer, Konstrukteure, Testingenieure, Verkäufer, Servicetechniker oder durchschnittliche Kunden in den letzten 30 Jahren oder mehr würden denken, dass dies etwas anderes als einen 8-Bit-Wert bedeutet, wenn sie das Wort überhaupt erkennen .

Wenn ein Byte von der Hardware verarbeitet wird, z. B. wenn es in Speicherchips gespeichert ist oder über eine Leitung übertragen wird, fügt die Hardware dem Byte möglicherweise redundante Daten hinzu. Dies kann später bei der Erkennung von Hardwarefehlern hilfreich sein, so dass unzuverlässige Daten erkannt und verworfen werden können (z. B. Parität, Prüfsumme, CRC). Oder es können Fehler in den Daten korrigiert und die Daten wiederhergestellt werden (z. B. ECC). In beiden Fällen werden die redundanten Daten verworfen, wenn das Byte abgerufen oder zur weiteren Verarbeitung empfangen wurde. Das Byte bleibt der zentrale 8-Bit-Wert und die redundanten Daten bleiben redundante Daten.

TonyM
quelle
2

Erstens scheint das Tutorial, auf das Sie verweisen, ziemlich veraltet zu sein und scheint auf veraltete Versionen von x86-Prozessoren ausgerichtet zu sein, ohne es anzugeben Wenn ein WORD 2 Byte groß ist, wissen die Leute entweder nicht, wovon Sie sprechen, oder sie wissen, dass Sie auf der Basis von sehr veralteten x86-Prozessoren unterrichtet wurden und wissen, was Sie zu erwarten haben.

Ein Byte ist die Anzahl der Bits, für die sich jemand entschieden hat. Es kann sich um 8 Bit, 9 Bit oder 16 Bit handeln. Im Jahr 2016 wird ein Byte in den meisten Fällen aus acht Bit bestehen. Aus Sicherheitsgründen können Sie den Begriff Oktett verwenden - ein Oktett besteht immer aus acht Bits.

Die eigentliche Verwirrung besteht darin, zwei Fragen zu verwechseln: 1. Wie viele Bits enthält ein Byte? 2. Wenn ich ein Byte von einem Ort zum anderen übertragen oder ein Byte mit praktischen physikalischen Mitteln speichern wollte, wie würde ich das tun? Die zweite Frage ist normalerweise für Sie von geringem Interesse, es sei denn, Sie arbeiten in einem Unternehmen, das Modems, Festplatten oder SSD-Laufwerke herstellt. In der Praxis interessiert Sie die erste Frage, und für die zweite Frage sagen Sie einfach "gut, jemand kümmert sich darum".

Das erwähnte Paritätsbit ist ein primitiver Mechanismus, mit dem festgestellt werden kann, dass sich der Speicher versehentlich geändert hat, wenn ein Byte im Speicher gespeichert und später gelesen wird. Das ist nicht sehr gut, weil es nicht feststellt, dass zwei Bits geändert wurden, sodass eine Änderung wahrscheinlich unentdeckt bleibt, und sich nicht von dem Problem erholen kann, da es keine Möglichkeit gibt, herauszufinden, welche der 8 Bits geändert wurden , oder auch wenn sich das Paritätsbit geändert hat.

Paritätsbits werden in dieser primitiven Form praktisch nicht verwendet. Daten, die dauerhaft gespeichert werden, werden normalerweise auf kompliziertere Weise geschützt, z. B. durch Hinzufügen einer 32-Bit-Prüfsumme oder einer längeren Prüfsumme zu einem Block von 1024 Byte - was viel weniger zusätzlichen Speicherplatz beansprucht (0,4% in diesem Beispiel anstelle von 12,5%) und erheblich ist weniger wahrscheinlich nicht herauszufinden, wenn etwas nicht stimmt.

gnasher729
quelle
Wirklich veraltet: Der 16-Byte- "Absatz" ist seit dem Wechsel vom Real-Modus und der segmentierten Adressierung keine sinnvolle Speichereinheit mehr.
Mark
Persönlich würde ich "WinAPI" annehmen, wenn jemand über 2-Byte- WORDs spricht , was ... Ihren Standpunkt irgendwie beweist, da viele der WinAPI-Typnamen veraltet sind, aber aus Gründen der Abwärtskompatibilität beibehalten werden. xP
Justin Time
1

Trotz der wirklich hervorragenden Antworten, die hier gegeben wurden, bin ich überrascht, dass niemand darauf hingewiesen hat, dass Paritätsbits oder Fehlerkorrekturbits per Definition "Metadaten" sind und daher nicht Teil des Bytes selbst.

Ein Byte hat 8 Bits !

user34445
quelle
0

Im modernen Sprachgebrauch besteht ein Byte aus 8 Bits, Punkt (obwohl es historisch andere Definitionen hatte). Andererseits ist ein Datenwort das, was die betreffende Hardware als atomare Einheit behandelt - es könnte 8 Bits, 9 Bits, 10 Bits, 12 Bits, 16 Bits, 20 Bits, 24 Bits, 32 Bits usw. sein. Verschiedene Computer Systeme hatten im Laufe der Jahre alle möglichen unterschiedlichen Wortgrößen.

Um ein Speichersystem oder ein Übertragungsprotokoll zu implementieren, ist es vorteilhaft, eine Fehlererkennung / -korrektur hinzuzufügen, die zusätzliche Bits beinhaltet. Sie ergeben kein 9-Bit-Byte, da ein Byte, wie oben angegeben, aus 8 Bits besteht.

Verschiedene Schemata ergänzen die Fehlererkennung und / oder -korrektur auf verschiedene Arten.

Die typische Verwendung der Parität besteht darin, dem Übertragungswort ein zusätzliches Bit hinzuzufügen, damit der Empfänger ein einzelnes Fehlerbit erkennen kann.

Ein Schema, das eine Einzelbit-Fehlerkorrektur bereitstellen kann, beinhaltet das Hinzufügen von 4 ECC-Bits pro 32-Bit-Datenwort. Dies entspricht zwar arithmetisch 1 Bit pro Byte, funktioniert aber so nicht. Ein 36-Bit-Datenwort kann genug Informationen enthalten, um einen Einzelbitfehler für einen 32-Bit-Datenraum zu beheben.

Zenilogix
quelle
0

8 Bits. In der CPU und der Tastatur sind es 9 und 11 Bit. Benutzerdaten werden jedoch in 8 Bits dargestellt. Tasten auf der Tastatur senden Sings, die in 11 Bits unterteilt sind. 1 Startbit, 1 Endbit, 1 Paritätsbit und 8 Bits, die eine gedrückte Taste darstellen.

Siva
quelle
2
Beantwortet dies die Frage? Meinen Sie unterschiedliche Längen für Bytes in der CPU und Bytes in der Tastatur? Sollten "Sings" "Strings" oder "Streams" sein?
Apass.Jack
Klingt so, als würden Sie von einem Wire-Protokoll mit Framing-Daten sprechen, nicht von den eigentlichen Daten.
Peter Cordes
Ich würde annehmen, "singt" ist "Signale", ich selbst, @ Apass.Jack.
Justin Time