Kysymys:
Miksi mikrokontrollerien datatie on aina 2 leveä teho?
Federico Russo
2012-07-27 16:48:46 UTC
view on stackexchange narkive permalink

Mikrokontrollerien tietopolut ovat aina 2 leveän tehon: 4-bittisiä, 8, 16, 32-bittisiä jne. Jopa 12-bittisiä leveitä käskyjä käyttävät PIC: t ovat 8-bittisiä ohjaimia. Miksi? Onko tässä mitään suunnitteluetua? Mitä vikaa on 12-bittisellä tietokannalla tai 7-bittisellä ohjaimella?

edit
7-bittinen ei tuota paljoa mielessä, mutta se sai minut ajattelemaan kysymystä. Vastaukset viittaavat 8-bittiseen perinteeseen. Mutta 16-bittinen ei ole 8-bittinen, ja 24-bittinen voi käsitellä sekä 8-bittistä dataa että 16-bittistä, eikö? Miksi he ohittivat 24-bittiset siirtyäkseen 32-bittisiin?

sakrilege polta hänet vaarnalla!
@kenny Joo, olen myös raivoissaan! :-)
@m.Alin kauhu! Ennen kuin huomaatkaan sen, ihmiset palaavat palasekoituksiin ja kirjoittavat omia kokoonpanijoita.
Hänet tulisi tuomita 3 vuodeksi vain vanhojen 5-bittisten koodityyppien käytöstä (näillä oli erilliset "shift" -koodit, jotta hän voisi käyttää muita kirjeitä muiden ilojen joukossa).
@OlinLathrop ja jos joku näistä siirtohahmoista vioittui, kuten RTTY: ssä, voit helposti päätyä täydelliseen katkeruuteen.
... koska vähän itsessään on 2: n voima? :-P
Nykyaikainen analoginen siirtymälle / siirtymiselle olisi ... varattu muisti!
Kaikki linkit "7-bittiseen ohjaimeen" päätyvät 404-sivulle. Joten niitä ei ole olemassa?
@gbarry - Kysymys poistettiin. OP kysyi, millaista ohjainta hän tarvitsisi tiettyyn tehtävään, ja Olin teki vitsin "Oikeastaan ​​8-bittinen kuulostaa ylenmääräiseltä. Kokeile 7-bittistä".
He eivät ohittaneet 24-bittisiä prosessoreita. Kaikilla Motorola / freescale 56000- ja 563xx-suorittimilla on 24-bittinen tietopolku. Tämä poikkeus osoittaa, että oletettu sääntösi on virheellinen.
@Ian - 56000 ei lasketa mikrokontrolleriksi, se on DSP, joka on suunnattu äänisovelluksiin. 16-bittisissä laskelmissa sinulla oli 8-bittinen pääntila, aivan kuten 8-bittinen pääntila 24- ja 24-bittisiin MAC-operaatioihin -> 56-bittinen tulos.
@shimofuri - bitit ovat 2 ^ 0, 2 ^ 1, 2 ^ 2 jne. En näe linkkiä, jonka pituus on 8 = 2 ^ 3 tavua.
Seitsemän vastused:
pjc50
2012-07-27 17:35:20 UTC
view on stackexchange narkive permalink

Perinteellä on vahva vetovoima. Mutta niin tekee myös yhteentoimivuus. Melkein kaikki olemassa olevat tiedostomuodot ja tietoliikenneprotokollat ​​toimivat tavuilla. Kuinka käsittelet näitä 7-bittisessä mikrokontrollerissasi?

PIC pääsee siitä eroon antamalla käskytilan täysin erillään ja ohjelmoida etukäteen ulkopuolelta. Bittiä ajettaessa käskyjoukolla on jonkin verran arvoa, koska se on yksi asia, jonka saat hallita itseäsi mikroprosessorisuunnittelijana.

Jos haluat äärimmäisen arkkitehtuurin, voit Huffman koodata käskysarjan antamalla olet vaihteleva pituus bittiä.

Olin Lathrop
2012-07-27 18:23:49 UTC
view on stackexchange narkive permalink

Koska suurin osa maailmasta on lähentynyt tietojenkäsittelytietojen tallentamista, kommunikointia ja muuten käsittelyä 8 bitin paloina. Se ei ole virallinen standardi, mutta se on erittäin vahva tapauskohtainen.

Aiemmin on ollut koneita, jotka käsittelivät tietoreiteissään muita kuin 8 bitin kerrannaisia. Esimerkkejä ovat CDC Cyber ​​6000- ja 7000-sarjat sekä PDP-8. CDC-koneet käyttivät 6-bittisiä tavuja, ja PDP-8: lla oli 12-bittinen leveä sana ilman erityistä tapaa käsitellä vain 8-bittisiä määriä. Myös tässä luokassa oli varmasti muita koneita. Syy, ettet kuule heistä paljon tänään, johtuu siitä, että ihmiset ovat päättäneet haluavansa koneita, jotka pystyvät käsittelemään heidän 8-bittiset tavunsa hyvin, ja valmistajat tekevät sen. Kuinka luulet 7-bittisen mikro-ohjaimen myyvän? Jokainen, joka teki sellaisen, sai vakavan pilkan ja löysi sitten vähän asiakkaita. Se olisi typerä liikeehdotus.

Näet lisää todisteita ei-8-bittisistä "tavuista", jos tarkastelet Internet-standardeja. He käyttävät tarkoituksella termiä "oktetti", koska silloin ei ollut yleistä sopimusta siitä, että tavu olisi aina 8 bittiä. Nykyään tavun merkitys on lähentynyt kahdeksaksi binaaribitiksi ja naurat pois kaupungista, jos yrität käyttää sitä eri tavalla.

Russell McMahon
2012-07-27 19:21:21 UTC
view on stackexchange narkive permalink

4 bittiä järkevä minimi:
0-9 Numeerinen data tarvitsee 4 bittiä
0-9 = 10 sanaa.
Seuraava korkein binäärisanan koko = 4 bittiä = 16 mahdollista sanat.
Joten BCD-data (binäärikoodattu desimaali) = 4 bittiä

8 bittiä looginen seuraava hyppy
0-9, az, AZ = 10 + 26 + 26 = 62 sanaa.
Pystyy käsittelemään 7 bittiä = 128 sanaa.
8 on suunnilleen yhtä helppoa kuin 7 ja sallii 2 x 4 bittiä, joten numeeriset tiedot voidaan pakata 2 per 8 bittiä.

Sitten 12 bittiä (ei 16)?:
Seuraava looginen koko ylös = 12 bittiä ja varhainen ja erittäin onnistunut PDP-8 käytti 12 bittiä. 12 bittiä, joita käytetään dataan ja ohjelmaan, sallivat 2 ^ 12 = 4096 osoitepaikan. Kuten Bill Gates on ehkä kerran sanonut "4K muistin pitäisi riittää kenellekään".

Seuraava PDP-11-perhe käytti 16 bittiä.

Kaksinkertaistuu yhteensopivuuden vuoksi.
Jos haluat olla yhteydessä alemman ja ylemmän tason järjestelmiin ja jos haluat, että samassa perheessä on enemmän kykeneviä laitteita, on paljon järkeä pystyä käsittelemään 2 pienemmän järjestelmän sanaa suuremmassa järjestelmäsanassa.


  • BUT

    Säännön todistavat poikkeukset:

    "Aina" on niin vahva sana :-)
    1-bittiset, 12-bittiset, 18-bittiset ja 36-bittiset esimerkit alla.
    18 & 36-bittiset koneet eivät koskaan olleet mikro-ohjaimia.
    1 & 12-bittiset olivat.


    Alla mainittu yhden bittinen järjestelmä on oikeastaan ​​"satunnaisbittiä kuin haluat". Yhden bittinen datasana on olennaisesti laskennan tuottama go / no-go-lippu, jota käytetään ohjelmatoiminnon käyttöönottoon tai poistamiseen käytöstä. Ohjelmalaskuri on ylälaskuri, joka etenee muistin läpi syklisesti koodin ollessa käytössä tai poistettu käytöstä tarvittaessa. Todella hyvin hyvin hyvin ikävä. Siihen mennessä, kun se tuli markkinoille, päivän 8-bittiset prosessorit olivat melko kypsiä, ja 1-bittisellä prosessorilla ei koskaan ollut mitään järkeä. En tiedä kuinka paljon käyttöä se on koskaan saanut.


    1-bittinen !!!:

    Motorola MC14500B Sain Jack Gansellin kunniamaininnan parhaan kuvauksen saamiseksi tästä laitteesta :-)

    Datalehti - lataa tiedosto napsauttamalla sivua.

    enter image description here


    Harris HM-6100 eli Intersil IM6100 - 12-bittinen minitietokone wannabee ] ( http://www.classiccmp.org/dunfield/other/i6100cfs.pdf)

    Perustuu erittäin onnistuneeseen 12-bittiseen DEC PDP-8 -tietokoneeseen.

    Yleiskatsaus

    • Ohjelmamuisti ja datamuisti vievät saman muistitilan. Suoraan osoitettavan muistin koko on 4 K sanaa. Sanan koko on 12 bittiä. 6100: lla ei ole pinomuistia.

      Ohjelmamuistin koko on 4 K sanaa. Kaikkien ehdollisten ohjeiden avulla prosessori voi ohittaa vain seuraavan ohjeen. Jos haluat siirtyä ehdollisesti mielivaltaiseen osoitteeseen muistissa, kun tietty ehto täyttyy, koodin tulisi suorittaa "ohita, jos ehto ei täyty" -komento ensin ja laittaa suora tai epäsuora ehdoton hyppykäsky ohituskomennon jälkeen. Ehdoton ohjeiden avulla voidaan hypätä suoraan nykyiselle sivulle (127 sanaa) tai hypätä epäsuorasti koko muistitilaan (4 K sanaa). 6100 tukee aliohjelmakutsuja, mutta pinomuistin puutteen vuoksi aliohjelmien paluuosoite tallennetaan muistiin . Paluuta aliohjelmasta -ohjeita ei ole - aliohjelman tulisi käyttää epäsuoraa hyppyä palataksesi takaisin soittajalle.

      Datamuistin koko on 4 K sanaa. Tietoihin pääsee suoraan nollasivulla (0000h - 007Fh) tai nykyisellä 127 sanan sivulla. Tietoihin pääsee epäsuorasti missä tahansa 4 K: n muistisanalla.

    Wikipedia - Intersil 6100

    PDP- 8 & Intersil 6100: lla oli 16 erittäin monipuolista ohjetta. EI ole vähennyskäskyjä.
    ADD-käsky on nimeltään TADD muistuttamaan sinua siitä, että se on 2: n täydennyslisäys, joten emme tarvitse mitään ... vähennyskäskyjä.


    18-bittinen, 36-bittinen muu - PDP-perhe:

    Wikipediaan ohjelmoitu tietojenkäsittelylaite

    PDP1 - 18 bittiä

    PDP2 - 24 bittiä kuoli katkeamalla

    PDP3, PDP6 - 36-bittinen


    PDP-12 -käyttöopas (alustava - Vau.
    Numeroinnista huolimatta tämä on ennen PDP16 - PDP-8: ta steroideilla, joilla on analoginen I / O-ominaisuus - ja insinöörilaboratorion koneella. Olisin voinut saada sellaisen ilmaiseksi, jos haluan, mutta se ei olisi sopinut mihinkään järkevään - tai järjetöntä.
    Ensimmäinen tietokonepeli, jota olen koskaan pelannut, oli päällä yksi näistä.
    Avaruussota.
    Kone oli kahdessa pienen huoneen kaapissa.
    Avasit oven ja kävelit sisälle tekemään asioita sen sisäosiin.

  • Jos haluat 24-bittisen tuotanto-osan, ATI: n R300 / 420-näytönohjaimet (9500-X600 ja X700-850-kortit) sopivat laskuun.
    Idea yksibittisestä mikrosta näyttää mielenkiintoiselta, mutta kuinka hyödyllinen siru kuten MC14500B oli käytännössä? Luulisin, että syöttötietojen hallinta ohjelman osoitebittillä (salvan ja 2: 1-multiplekserin avulla) olisi tehokkaampaa kuin yrittää käyttää ohjeita tilan hallintaan. Löysin osan 1990-luvun aikakauden tietolomakkeen, joka viittaa siihen, että se pysyi jonkin aikaa, mutta olen utelias, kuinka tällaista sirua todella käytettäisiin.
    @supercat - Löysin yhden viitteen, jossa suunnittelija sanoi, että heillä oli vanha erillinen langankierrepakkaus, joka korvattiin mallilla MC14500B ja joka muutaman vuoden ajan asiakas osti useita. Siitä huolimatta rammasta ja kyvyttömästä laitteesta olisi vaikea kuvitella.
    En voi kuvitella 1970-luvun suunnittelupsykologiaa, mutta Steve Wozniakin levykeasemaohjain (esillä Applessa] [) osoittaa, että "tietokoneen" rakentaminen ei vaadi paljon erillistä logiikkaa. Tarkasteltuani MC14500B: n käyttöohjetta ajattelin, kuinka voisin suunnitella järjestelmän suorittamaan koodin PROM: lta käyttämällä vain erillistä logiikkaa (itse PROM: n ulkopuolella). Luulen, että koneeni suolet olisivat 8-bittinen läpinäkyvä salpa, 8-bittinen kiikku ja nelinkertainen NAND ja mahdollisesti RC-viive (riippuen I / O: n asetus- / pitovaatimuksista). Yksi 16-bittinen käsky jaksoa kohden.
    Seitsemän bittiä kiikalta ajaisi PROM: n ylemmät osoitebitit ja alempaa bittiä ohjaisi kello. Kunkin syklin ensimmäisen puoliskon aikana läpinäkyvä salpa otti kuusi ylintä lähtöbittiä (I / O-osoite), ja laite suorittaa I / O-lukun. I / O-tulo ajaa seitsemättä läpinäkyvää salpalabittiä, ja 3 NAND: tä toimisi multiplekserinä käyttämällä salvattua tuloa valitsemaan Q0 tai Q1 PROM: sta syöttämään jäljellä olevan läpinäkyvän salpaa. Suorita jokaisen jakson toisella puoliskolla I / O-kirjoitus lukitulla osoitteella ja tiedoilla.
    Syklin toisen puoliskon lopussa läpinäkyvä salpa tarttui Q0-Q5: een PROM: stä yhdessä NAND-muxin lähdön kanssa. Seurauksena olisi, että käsky olisi "Lue I / O-osoite A, ja joko määritä, tyhjennä, vaihda tai jätä se ennalleen. Siirry sitten määritettyyn tilaan, jolloin valtion LSB on ehdottomasti korkea, ehdoitta matala yhtä suuri kuin luettu arvo, tai päinvastoin kuin luettu arvo. Ei tarvita "ohjelmalaskuria" sellaisenaan. Sama 3-NAND-mux toimisi sekä kirjoitettavilla tiedoilla että seuraavan tilan valinnalla.
    Jotain, kuten vakion lisääminen tai vähentäminen N-bittiseen binäärilukuun / siitä, vaatisi 2N käskyä (kaksi tavua kukin) ja N jaksoa. Kahden rekisteriin tallennetun N-bittisen binääriluvun lisääminen vie 6N käskyä ja 2N jaksoa. Yksi voisi laajentaa ROM- ja I / O-tilaa käyttämällä joitain osoitteellisia salpoja ylempien osoitebittien ohjaamiseen. ROM-pohjaiset tilakoneet voivat olla erittäin tehokkaita, jopa ilman "prosessoria".
    @supercat - Kuvailet enemmän tai vähemmän "aritmeettista tilakonetta", jolla on hyvät mahdollisuudet tiettyihin tarkoin määriteltyihin ohjelmiin. MC14500 lamauttaa läpimenonsa sillä, että puuttuu ohjelmalaskuri, joka voidaan "hypätä" joko ehdoitta laskettuun osoitteeseen muutamassa jaksossa. Sen on selattava kaikki käytettävissä olevat muistit peräkkäin, kunnes se saavuttaa suorituksen voimassaolon. Tämä voi olla hyväksyttävää esim. Releemuloinnissa, mutta siitä tulee nopeasti liian hidas (olettaen, että "nopea hitaus" on käsitteellisesti loogista :-)) monien tosielämän tehtävien suorittamiseksi.
    @supercat - Rakastin Apple II -levykeohjainta - joka myöhemmin muuttui yhdeksi IC-pohjaiseksi IWM: ksi ("Integrated Woz Machine"), kun tapasin sen ensimmäisen kerran ja olen vuosien varrella kutsunut siihen useita ihmisiä esimerkkinä minimalistisesta kirkkaudesta. [Alkuperäinen piiri täällä] (http://www.laughton.com/Apple/woz-hw.gif) (heikkolaatuinen kopio) ja [koko Apple II -kaavio täällä] (http://dreher.net/projects/CFforAppleII/ images / CFforAppleII_schematic.jpg)
    @RussellMcMahon: 14500B ei rajoita ohjelman suoritusta tällä tavalla, koska se voidaan kytkeä mihin tahansa ohjelmalaskurin piiriin, jonka toteuttaja haluaa; Motorola ehdottaa piirejä, joissa on "hyppy" ja jopa "puhelu / paluu". Mielestäni suurempi rajoitus on kuorman ja varaston erottaminen. En näe paljon tapoja korjata sitä jättämättä MC14500B: tä kokonaan huomiotta.
    Et ole maininnut Motorola 56000- ja 563xx-suorittimia, jotka ovat olleet tuotannossa 1980-luvun alusta lähtien. Näillä on 24-bittinen tietopolku.
    @Ian - "Et ole maininnut ..." -> Totta. Asymptoottisesti äärettömän eklektiset vastaukset maksavat enemmän.
    En ole vieläkään onnistunut ymmärtämään ajattelutapaa, jonka mukaan "tämä vastaus ei ole hyödyllinen" alaspäin äänestäjän on pakko aliarvioida tällaisia ​​vastauksia. Paras vastaus menossa? - mahdollisesti ei. Parempi vastaus mahdollinen? - tietysti. Hyödyllinen? - Oletko hullu !!!? :-) Ehkä he ovat :-)
    +8/0 +8/0 + 8 / -1 +6/0 +2/0 xx / 0 xx / 0 xx / 0 - Mielenkiintoista.
    Adam Davis
    2012-07-27 19:42:30 UTC
    view on stackexchange narkive permalink

    Siellä on pieni tehokkuus sekoitettuna paljon taaksepäin yhteensopivuuteen syynä tähän yleiseen suunnitteluvalintaan.

    Jos datapoluni on 7 bittiä leveä, tarvitsen 3 bittiä edustamaan tiettyä riviä tuolta polulta. Koska tuhlaan kolme bittiä, voisin yhtä hyvin käyttää ne loppuun, sekä tehokkuuden parantamiseksi että kuolleen polun poistamiseksi, joka saattaa johtaa kaatumiseen.

    Yleisimmät tietotyypit perustuvat 4-bittisellä napautuksella, ja suurin osa niistä perustuu 8-bittiseen tavuun. Valitsemalla vaihtoehtoisen perustan käyttämisen saatat joutua turvautumaan parittomaan ja tehottomaan koodiin käsittelemään yleisiä tietotyyppejä. Esimerkiksi 7-bittinen tietokoneeni vaatii 5 muistitilaa käsittelemään mitä tahansa 32-bittistä lukua, mukaan lukien liukuluku, jotka ovat hyvin yleisiä nykypäivän teollisuudessa.

    Jos koneeni ei ollut riippuvainen ulkopuolisista tiedoista, voisin todennäköisesti päästä eroon siitä, mutta moottorin ohjaimet, enkooderit, lämpötila-anturit ja useimmat reaalimaailman rajapintalaitteet ja anturit tukevat tällaisia ​​vakioyksiköitä.

    Ei ole sitä, että 7-bittisen tietokoneen liittäminen USB-porttiin ei ole mahdotonta, mutta teet paljon ylimääräistä testausta ja suoritat paljon enemmän ohjeita, jotka käsittelevät kaikkia näitä 5 yksikön tapahtumia 32-bittisille tietotyypeille kuin tekisit, jos lisäät vielä vähän enemmän datapolkuusi ja putoaisit muun teollisuuden kanssa.

    Se alkoi kuitenkin suurelta osin ja sulautui nykyiseen muotoon bittiosoitteen tehokkuuden vuoksi, joten se on syy. Jos esimerkiksi luodaan trinaaritietokone (3 tilaa eikä 2 tilaa bittiä kohti), näet tehokkaimmat bittikoot 3, 9, 27, 81 jne. Näet myös vähemmän tehokkaita yrityksiä 18, 24, 33 ja 66 pyrkien tarjoamaan paremman yhteensopivuuden binaarijärjestelmien kanssa.

    "Yleisimmät tietotyypit perustuvat 4-bittiseen naposteluun". En usko, että se on totta. Tekstidata (siellä on * paljon *) on tavupohjaista, ja numeerinen data (mukaan lukien pakattu / koodattu) on usein 16- tai 32-bittistä. Ainoa 4-bittisen datan käyttö, jonka voin ajatella, on BCD, mutta IMO on * hyvin * rajoitettu.
    @stevenvh Luulen, että hän viittaa HEX: n laajaan käyttöön tietojen ryhmittelyssä ... sanoisin totta, arkkitehtuureissa näet usein tämän hajoamisen
    drxzcl
    2012-07-27 18:20:19 UTC
    view on stackexchange narkive permalink

    Se on helpompaa, koska sen avulla voit määrittää useita bittejä bitteihin. Tämä saattaa tuntua salin temppu, mutta käskysarjat tekevät sen koko ajan. Ajattele esimerkiksi "siirto vasemmalle" -komentoa:

      SHL R1,4  

    Jos sinulla on kahden bitin määrä, voit koodata operandin kiinteänä määränä bittejä ilman tuhlausta.

    Ajattelin myös tätä, mutta en ole varma, onko se tarpeeksi syytä perustaa siihen täydellinen arkkitehtuuri.
    Mielestäni isompi tekijä on kyky tallentaa ja käyttää tietoja bittiryhmissä. Tällaisten taulukoiden käyttö ei edusta suurta osaa tietokoneiden toiminnasta, mutta ne ovat tuskin harvinaisia. Koneessa, jossa on esim. 8-bittiset tavut, matriisin elementti i voidaan lukea `arr [i >> 3] >> (i & 7) '- kautta tai testaamalla, onko` arr [i >> 3] & naamio [i & 7]' ei ole nolla (jotkut suorittimet suosivat yhtä lähestymistapaa toiseen). Tällaisen tekeminen kahden sanan koon ollessa ei-teho olisi paljon vaikeampi.
    @supercat Ei paljon vaikeampi, vain paljon hitaampi. Yksi vain korvaa muutoksen jaolla. Minkä varmasti tiedät jo, mutta ajattelin vain, että se on syytä huomauttaa.
    naved
    2012-08-01 11:47:12 UTC
    view on stackexchange narkive permalink

    Digitaalisen elektroniikan tuntemukseni syyt näyttävät olevan aivan ilmeisiä. Asia on, että kaikissa digitaalisissa järjestelmissä käytämme binäärilukujärjestelmän käsitettä. Se tarkoittaa, että meillä on vain kaksi toimintatasoa eli 0 tai 1. Joten minkä tahansa laitteistotasolla mahdollisen yhdistelmän on oltava 0: n ja 1: n yhdistelmä. Joten jos meidän on suoritettava 4 erilaista tehtävää, tarvitsemme 2 muuttujaa, 32 tehtävään tarvitaan 5 muuttujaa ja niin edelleen (logiikka on 2 ^ n, jossa n on muuttujien määrä). Joten, kun olemme tekemisissä vain kahdella tasolla, niin meillä on varmasti yhdistelmä vain 2: n voimana, mikä siis tarkoittaa 2,4,8,16,32,64,128,256 ja niin edelleen ... ..

    Tämä ei selitä 2: n voimia sanan pituudelle. Mainitset 5 pituuden itsesi riittävänä 32 yhdistelmään. OP kysyy, miksi ei ole 5-bittisiä ohjaimia.
    @stevenvh:T, mikä on aivan hienoa, sir. Sain sen. Ehkä en keskittynyt kysymykseen kunnolla. Kiitos.
    Olen siirtänyt vastauksesi kommenttiin, jota voit käyttää alla olevasta ruudusta. Vastaukset on suunnattu tarjoamaan kysymykseen sisältöä, loput on kommentteja.
    Yann Vernier
    2012-08-01 15:51:21 UTC
    view on stackexchange narkive permalink

    Myönnän, että olen vain ohjannut muut vastaukset, mutta yksi keskeinen yksityiskohta vaikuttaa olevan epäsuorasti käsitelty: logiikan nopeus ja kompakti.

    Jos pakattaisit 24-bittiset arvot vierekkäin ja pystyisit myös käyttämään niitä tavulla osoitetulla tavalla, käsittelylogiikan olisi jaettava 3: lla sanan käyttöä varten. Jakaminen on melko kallista logiikassa (tarkista vain suosikkiprosessorin viitteesi - jako-ohje on hidas), ellei se ole nimenomaan 2: n tehoa; siinä tapauksessa sivuutat vain pienimmät bitit (mikä ohjelmisto tekee bittisiirtämällä). Tämä on sama perussyy, miksi suosimme tasattuja pääsyjä. on erittäin yllättynyt nähdessään sellaisia ​​DSP: ssä (kuten GPU); mutta se ei ole normaali suorittimille. Se päätyisi myös outoon 4/3-vaiheeseen tavutaulukkoon pääsyille, mikä tarvitsisi samanlaisen käsittelyn kuin BCD-numerot. Siten on paljon tehokkaampaa käsitellä 3x8-bittisten vektorien ryhmää 8-bittisten tavujen sijaan.



    Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 3.0-lisenssistä, jolla sitä jaetaan.
    Loading...