Johnsonin koodi

Johnson-koodi  on eräänlainen binäärilukujärjestelmä , jossa kaksi vierekkäistä koodia eroavat toisistaan ​​vain yhdellä binäärinumerolla.

Historia

Vuonna 1953 Robert Royce Johnson kehitti useita erilaisia ​​laskureita, jotka perustuivat vaihteleviin tilojen siirtorekistereihin yksinkertaisella takaisinkytkentälogiikalla ja haki patenttia [1] . Johnsonin koodissa toimiva laskuri on yksinkertaisin niistä.

Johnson-koodin muodostamisen periaatteet

4-bittinen Johnson-koodi
N bittiä
neljä 3 2 yksi
0 0 0 0 0
yksi 0 0 0 yksi
2 0 0 yksi yksi
3 0 yksi yksi yksi
neljä yksi yksi yksi yksi
5 yksi yksi yksi 0
6 yksi yksi 0 0
7 yksi 0 0 0
0 0 0 0 0
yksi 0 0 0 yksi
  1. Johnson-koodin muodostus tapahtuu siirtymällä oikealta vasemmalle, ja numeron seuraava bitti on yhtä suuri kuin looginen 1, kunnes kaikissa numeroissa on loogisia. Tämän jälkeen loogisia nollia siirretään samassa järjestyksessä (oikealta puolelta vasemman numeron puolelle), kunnes kaikista numeroista on jäljellä vain loogisia nollia.
  2. Johnson-koodi on ylimääräinen koodi, toisin sanoen Johnson-koodin bittien määrälle, joka on suurempi kuin 2, tarvitaan enemmän bittejä koodatakseen tietty määrä tilaa kuin sijaintibinäärikoodissa .
  3. Johnson-koodi on häiriönestokoodi. Tämä tarkoittaa, että jokainen seuraava yhdistelmä eroaa edellisestä vain yhden bitin arvolla tai vierekkäisten koodiyhdistelmien välinen Hamming-etäisyys on yhtä suuri kuin 1.Laskuripiirissä tämä ominaisuus eliminoi useiden elementtien samanaikaisen kytkennän, mikä on tyypillistä binäärilaskureille joidenkin siirtymien aikana . Monien kiikkujen kytkeminen samanaikaisesti luo suuria virtapulsseja piirien tehopiireihin, jotka voivat aiheuttaa logiikkapiirin vikoja.
  4. Johnson-koodi on syklinen koodi. Toisin sanoen viimeinen yhdistelmä eroaa ensimmäisestä myös vain yhden bitin arvolla.

Laskuri Johnsonin koodissa

Kuvassa on kaavio Johnson-koodissa toimivasta 4-bittisestä binäärilaskurista . Muutokset tämän laskurin bittien tilassa vastaavat taulukossa annettuja. Kun pulssi on syötetty "Reset"-riville, kaikki laskurin numerot asetetaan loogiseen 0-tilaan, kun taas looginen 1 on läsnä ensimmäisen D-liipaisimen D-tulossa, koska tämä tulo vastaanottaa signaalin. neljännen liipaisimen käänteislähdöstä. Kellopulssin "Count" nousevalla reunalla ensimmäinen liipaisin asetetaan tilaan looginen 1, joka välitetään toisen liipaisimen D-tuloon. Seuraava kellopulssi siirtää tämän liipaisimen Logic 1 -tilaan jne. Kun 4 kellopulssia on käytetty, kaikki liipaisimet siirtyvät Logic 1 -tilaan ja logiikka 0 asetetaan ensimmäisen liipaisimen sisääntuloon, sitten liipaisimet ottaa peräkkäin loogisen tilan 0, kunnes kaikkia laukaisuja ei aseteta loogisen nollan tilaan, alkutilaan.

Muistiinpanot

  1. Robert Royce Johnson , "Elektroninen laskuri" Arkistoitu 19. joulukuuta 2021 Wayback Machinessa , US-patentti nro. 3030581, jätetty vuonna 1953.

Katso myös