Digitaal

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Digitaal is afgeleid van het Latijnse woord digitus, dat vinger betekent, en refereert aan het tellen op de vingers.

Data en datatransport worden digitaal genoemd als de data slechts een aantal discrete waarden kan aannemen, dit in tegenstelling tot een situatie waarbij data en datatransport analoog zijn, hetgeen betekent dat elke waarde binnen een continuüm mogelijk is.

De getallen uit een digitaal signaal kunnen bijvoorbeeld de amplitude van een analoog elektrisch signaal representeren, zoals een geluidssignaal (audio) of een beeldsignaal (video). Ook logische waarden kunnen met getallen weergegeven worden, bijvoorbeeld "waar" en "onwaar" met respectievelijk 0 en 1 (zie binair). Het omzetten van een analoog signaal naar een digitaal signaal noemt men analoog-digitaal- of AD-conversie.

Zowel digitale als analoge technieken kunnen worden gebruikt voor de opslag, overdracht en bewerking van informatie, of de manier waarop een waarde wordt weergegeven, maar de digitale informatieverwerking heeft belangrijke voordelen.

  • De opslag, verwerking en transmissie van digitale informatie kan in principe foutvrij verricht worden; bij analoge operaties accumuleren de fouten en storingen bij iedere bewerking.
  • Zeer complexe bewerkingen zijn mogelijk, zoals de ingewikkelde digitale signaalverwerking waarop het internet gebaseerd is en de algemeen toegepaste codecs die efficiënte en hoogwaardige compressie van audiovisuele informatie mogelijk maken.
  • Betrouwbare, complexe elektronische digitale schakelingen kunnen verregaand geminiaturiseerd en goedkoop gefabriceerd worden en hebben in enkele decennia een ware revolutie op talloze gebieden teweeggebracht.
  • Vergeleken met digitale informatieverwerking is het resultaat van analoge informatieverwerking vaak minder van kwaliteit. Dit ondanks het bij digitale verwerking optredende nadeel van de AD-conversie, waarbij afronding op discrete waarden wordt toegepast (kwantisatie), waardoor er een verschil tussen analoge en digitale waarde ontstaat dat kwantiseringsruis genoemd wordt. In principe kan deze afronding willekeurig klein gemaakt worden en is daardoor in de praktijk niet of nauwelijks van betekenis.

In het volgende wordt het begrip digitaal in de meest toegepaste betekenissen uiteengezet, waarbij niet-essentiële details zo veel mogelijk vermeden zijn. De gangbare Engelse terminologie wordt gebruikt als er geen algemeen geaccepteerd Nederlands equivalent is.

Digitaal systeem[bewerken]

Digitaal systeem

Om een digitaal systeem een stroom van informatie te laten bewerken, is het nodig dat deze informatie met discrete getallen te beschrijven is. Een goed voorbeeld van zo'n systeem is een digitaal hoortoestel, waarbij die informatie uit geluid bestaat. Dat zo'n toestel deze informatie digitaal bewerkt is, aan de buitenzijde niet te zien, want bij het ontwerp van de uiterlijke vorm hoeft met de digitale werkwijze geen rekening gehouden te worden. Het is niet eenvoudig voorbeelden te bedenken van informatie die niet getalsmatig te beschrijven is; op dit moment is een voorbeeld de informatie die non-verbaal tussen mensen wordt uitgewisseld. In de toekomst is het wellicht mogelijk dit soort informatie uit videobeelden te filteren, zoals nu al wordt gedaan met informatie die gezichtsherkenning mogelijk maakt.

Informatievormen binnen een systeem[bewerken]

Digitaal hoortoestel

Bij de opbouw van een digitaal systeem kunnen een tweetal lagen onderscheiden worden, in nevenstaande figuur met kleuren aangegeven.

Informatie in de buitenwereld over allerlei natuurlijke grootheden kan alle mogelijke vormen en waarden hebben. Zo is er bij geluid sprake van (schommelingen van) de luchtdruk als functie van de tijd.

De bovenste kleur geeft het domein aan waarin de digitale bewerkingen plaatsvinden en waar informatie uitsluitend getalsmatig te vinden is. Zo is er bij "digitaal geluid" sprake van een reeks discrete getallen die de luchtdruk als functie van de de tijd representeren, dat wil zeggen voor een reeks van op gelijke afstand liggende tijdstippen is de luchtdruk bekend, afgerond naar een waarde uit een vooraf bepaalde rij van luchtdrukken.

Digitale bewerking gaat vrijwel altijd elektronisch, maar kan, zoals bij fluidics, ook pneumatisch of hydraulisch gebeuren. In een hoortoestel gaat het elektronisch en er is dus conversie nodig van informatie tussen het digitale/elektronische domein en de buitenwereld.

Voor de ingaande/uitgaande informatie gaat dat in twee stappen:

  1. van/naar de buitenwereld naar/van analoge elektronische informatie, ofwel conversie tussen verschillende soorten analoge informatie (bv. luchtdruk en elektrische spanning)
  2. van/naar analoge elektronische informatie naar/van elektronische digitale informatie, ofwel conversie tussen analoge en digitale informatie (bv. kwantisering)

Dit betekent dat tussen het digitale domein en de buitenwereld ook nog een analoog domein zal zijn; dit is in de figuur aangegeven met de onderste kleur.

Conversie tussen verschillende soorten analoge informatie[bewerken]

Voor een juist begrip van de algemene omgeving van een digitaal systeem is het belangrijk hoe een digitaal systeem met de buitenwereld communiceert. Voor een analoge convertor wordt soms de algemene term transducer gebruikt, met name als er energie van betekenis bij te pas komt, waarbij het rendement belangrijk is. Meestal worden meer specifieke namen gebruikt.

Conversie van informatie van de buitenwereld naar analoge elektronische informatie[bewerken]

Voor dit soort functies wordt ook wel de term sensor gebruikt, met name als de nadruk ligt op grote gevoeligheid, m.a.w. dat kleine veranderingen niet verloren gaan door ruis of onnauwkeurigheden. Indien nodig wordt de elektronische informatie na conversie bijvoorbeeld door een versterker op een geschikte waarde gebracht voor de convertor naar digitale informatie. Wanneer nauwkeurigheid vereist is, wordt ook ijking toegepast.

Bij het hoortoestel komt het geluid het systeem binnen via een microfoon, die de luchtdrukschommelingen omzet in analoge elektrische spanningsschommelingen. Andere voorbeelden van dit soort omzetters zijn:

Bij een toetsenbord, schakelaar en dergelijke is de conversie naar een digitale signaal triviaal en worden dit soort apparaten geacht direct een digitaal signaal te leveren.

Conversie van analoge elektronische informatie naar informatie naar de buitenwereld[bewerken]

Bij het hoortoestel worden elektrische spanningsschommelingen omgezet in analoge luchtdrukschommelingen met een miniatuurluidspreker.

Andere voorbeelden zijn:

Indien nodig wordt de elektronische informatie vóór conversie door een analoge versterker op de vereiste waarde gebracht. In het algemeen is bij een signaallamp, alfanumeriek display en dergelijke de aansturing met het digitale signaal triviaal en kunnen dit soort apparaten veelal direct met een digitaal signaal overweg. Soms bestaat de conversie alleen maar uit een aanpassing die het mogelijk maakt om een ander digitaal apparaat aan te sturen, zoals bij een digitaal beeldscherm.

Mens-machine-interactie[bewerken]

In deze categorie valt alle apparatuur waar mensen informatie aan kunnen toevoeren of onttrekken op het meest elementaire niveau. Wanneer het resultaat van een bewerking een digitale waarde naar de buitenwereld op moet leveren, wordt deze gewoonlijk als een getal weergegeven. In een aantal gevallen is het wenselijk om deze op analoge wijze aan te geven, bijvoorbeeld door een draaibare wijzer of balkje met variabele lengte, al dan niet met geijkte schaalverdeling. Een analoge uitlezing kan in één oogopslag globaal afgelezen worden, zelfs als het oog er niet direct op gericht is. Voorbeelden van meetapparaten die vaak werken met een analoge uitlezing zijn klok, weegschaal, snelheidsmeter, thermometer en manometer.

Het voordeel van de digitale uitlezing is dat deze exact is, een mogelijk nadeel is dat hierdoor onterecht de indruk van volstrekte betrouwbaarheid kan ontstaan.

Als zowel snel als exact aflezen nodig zijn, wordt vaak van een gecombineerde weergave gebruikgemaakt, zoals bij een glazen cockpit.

Conversie tussen analoge en digitale informatie[bewerken]

Analoog-digitaalomzetting[bewerken]

Bij analoog-digitaalomzetting wordt de waarde van een natuurkundige grootheid gemeten, met een getal als resultaat. Een alledaags voorbeeld is het meten van de lengte van een gegeven plank met een duimstok met als resultaat een getal dat deze lengte van die plank aangeeft in centimeters.

Meer in het algemeen: zij A een waarde van een natuurkundige grootheid en M een constante waarde van die grootheid, en deelt men A door M waarbij het resultaat D afgerond wordt op het dichtstbijzijnde gehele getal, dan is het getal D de digitale waarde van A voor een maatstaf M. Dit proces wordt uitgevoerd door een analoog-digitaalomzetter, ook aangeduid met "AD-convertor" of "ADC". Omdat A een afgeronde waarde is, wijkt D maal M af van A. In de praktijk wordt voor M een zodanig kleine waarde gekozen, dat de afwijking acceptabel is. Wanneer de maatstaf zelf onnauwkeurig is, werkt deze onnauwkeurigheid door op D en W. Bij een analoge datastroom wordt de conversie op opeenvolgende tijdstippen uitgevoerd en behoort dit tijdstip ook tot het resultaat van de conversie, zodat zowel de analoge grootheid als de tijd beiden als digitale waarde beschikbaar komen.

Digitaal-analoogomzetting[bewerken]

Bij digitaal-analoogomzetting wordt een getal omgezet naar de waarde van een natuurkundige grootheid. Een voorbeeld is het aftekenen van een bepaalde lengte, gegeven in centimeters, op een plank met behulp van een duimstok. Algemeen: zij D een digitale waarde en M een constante analoge waarde van een natuurkundige grootheid, en vermenigvuldigt men D met M, dan is het resultaat A de analoge waarde van die grootheid. Dit proces wordt uitgevoerd door een digitaal-analoogomzetter, ook aangeduid met "DA-convertor" of "DAC". Voor de omzetting naar een analoge datastroom zijn de tijdstippen van de conversie ook belangrijk.

Digitalisatie[bewerken]

Bij het ontwerpen van een analoog-digitaalomzetter of een digitaal-analoogomzetter moeten de grootte van de maatstaf en het bereik bepaald worden en daarmee de stapgrootte en het aantal stappen dat nodig is. Dit hangt af van de toepassing. Voor muziekweergave wordt een waarneembare stapgrootte en een gebrek aan dynamiek als storend ervaren; hier zijn veel kleine stappen aan de orde.

Bij datatransport/dataopslag worden discrete waarden getransporteerd/opgeslagen en die moeten uiteraard zo goed mogelijk als dezelfde discrete waarden waarneembaar blijven bij ontvangst/lezen. Dit betekent dat de afzonderlijke bits van het datasignaal waarneembaar moeten blijven. In de praktijk is het aantal stappen veelal slechts 1 (0 en 1); in het extreme geval van QAM-256 bij kwadratuur-amplitudemodulatie is het aantal gebruikte discrete waarden 256, zoals de naam al aangeeft.

Bij een numeriek display zou men een getal van twee decimale cijfers kunnen weergeven als een balkje waarvan de lengte in millimeters gelijk is aan de waarde van dit getal; alhoewel correct, is deze weergave onvoldoende om in één oogopslag de juiste waarde te kunnen aflezen. Als men dit wil, moet er een beter onderscheid gemaakt kunnen worden. Zo kunnen met een zevensegmentendisplay, voor één decimaal cijfer, 10 discrete waarden voor de toestand van ieder segment worden gekozen die voor de 7 segmenten gecombineerd corresponderen met de waarden 0 t/m 9 en die direct als cijfer herkenbaar zijn. De digitaal-analoogomzetter (digitale waarde naar lichtintensiteit) is hier triviaal: het segment staat 'aan' of 'uit'. Slechts 1 bit per segment is nodig en veelal kunnen segmenten direct door een digitaal signaal worden aangedreven.

In extreme gevallen, bijvoorbeeld bij de meest nauwkeurige meetinstrumenten, wordt de keuze begrensd door technische beperkingen.

Digitale bewerking[bewerken]

Digitale bouwstenen en logische functies[bewerken]

Logische- en geheugenfuncties

Voor de digitale bewerking wordt gebruikgemaakt van digitale bouwstenen die logische of booleaanse functies kunnen uitvoeren, dat wil zeggen wiskundige functies met als input én als output binaire waarden, die hier als "0" en "1" zijn gedefinieerd. Een instantie van een binaire waarde wordt bit genoemd, een samentrekking van "binary digit". Net zoals in het decimale stelsel met meerdere cijfers willekeurig grote getallen kunnen worden gevormd, kan dit ook met meerdere bits. Zo kunnen met 64 bits de gehele getallen tot ruwweg 1,84 x 1019 (meer dan 1 met 19 nullen erachter) weergegeven worden. Twee fundamentele logische functies zijn y=NIET(a) en y=EN(a, b) en van deze twee kunnen alle mogelijke andere logische functies worden afgeleid. Zo is y=OF(a, b) identiek met de functie y=NIET(EN(NIET(a), NIET(b))), zoals in nevenstaande figuur aangegeven is. Met combinaties van digitale bouwstenen, ook wel combinatorische logica genoemd, kunnen alle denkbare digitale functies ontworpen en gebouwd worden, zoals een rekenmachine of microprocessor.

Geheugenfuncties zijn bijzonder, omdat deze binaire waarden kunnen onthouden, in de zin dat deze waarden op ieder gewenst moment kunnen worden gebruikt door andere logische functies en dat deze waarden door een of meer toegevoegde functies vastgelegd kunnen worden. Een voorbeeld is de set-reset-flipflop, gevormd door y=EN(NIET(a), NIET(z)) en z=EN(NIET(b), NIET(y)); normaal zijn a en b beide 0 en veranderen y en z niet. Als a kortstondig 1 is, wordt y=0 en als gevolg daarvan wordt z=1. Als daarentegen b kortstondig 1 is, wordt z=0 en als gevolg daarvan wordt y=1.

De set-reset-flipflop wordt toegepast in de zogenaamde D-flipflop (delay flipflop) met de functie y=DFLIPFLOP(d,c) waarbij y de waarde overneemt van d op een van de overgangen van het 'kloksignaal' c, dat periodiek wisselt tussen 0 en 1. Dit is een voorbeeld van een geklokt systeem, waarin alle toestandsveranderingen op de "tik" van de klok in gang gezet worden en voltooid zijn vóór de volgende tik.

Logische bouwstenen worden vrijwel uitsluitend als zogenaamd geïntegreerd circuit gerealiseerd, waarbij het aantal gebruikte transistors kan variëren van enkele tientallen tot miljarden voor een krachtige microprocessor of een groot geheugen.

Digitale signalen en storing[bewerken]

Ingangskarakteristiek digitale bouwsteen
Oogpatroon digitaal signaal

In het algemeen wordt een digitaal signaal gevormd door een digitale bouwsteen, zodanig dat de uitgangsspanning ervan op opeenvolgende tijdstippen de waarde van één bit vertegenwoordigt; tussen die tijdstippen kan een wisseling van waarde plaatsvinden. Die wisseling duurt enige tijd, doordat digitale bouwstenen uiteindelijk uit analoge elektronische componenten zijn opgebouwd; gedurende die tijd is de waarde van de bit niet eenduidig bepaald en dus onbetrouwbaar. In een geklokt systeem zijn op het moment van een kloktik alle uitgangsspanningen stabiel, daarna kunnen spanningswisselingen optreden en die zijn uitgewerkt op het moment van de volgende kloktik. Op deze wijze wordt er uitsluitend met betrouwbare bitwaarden gewerkt. In het volgende staan 0V en +V voor de elektrische spanningen die representatie zijn voor de bitwaarden 0 en 1. Digitale bouwstenen worden zo ontworpen, dat wanneer de spanning op een ingang geleidelijk van 0V, de lage voedingsspanning, naar +V, de hoge voedingsspanning, toeneemt, deze spanning eerst als "laag" gewaardeerd wordt en pas halverwege als "hoog". Het precieze omslagpunt van "laag" naar "hoog" kan variëren als gevolg van toleranties tijdens de fabricage. Als de ingangsspanning dus 0V of +V is, heeft storing geen invloed zolang het omslagpunt niet gepasseerd wordt.

Het is deze eigenschap die digitale bouwstenen en foutloze transmissie van digitale signalen mogelijk maakt, want in de praktijk is een zekere mate van storing niet te vermijden.

Een digitaal signaal kan met een elektrische geleider naar een dichtbijgelegen digitale bouwsteen getransporteerd worden, zoals binnen dezelfde geïntegreerde schakeling of hetzelfde elektronische paneel. Hierbij hoeven meestal geen bijzondere maatregelen genomen te worden, omdat de foutenkans door de intrinsieke ongevoeligheid voor storing praktisch verwaarloosbaar klein is. Een oogpatroon is een fraaie manier om een digitaal signaal weer te geven. Hierin worden alle mogelijke overgangen tussen twee kloktikken over elkaar weergegeven. Voor een binair signaal zijn dat de 4 overgangen 0-0, 0-1, 1-0 en 1-1. Als een bouwsteen dicht op de maximale snelheid werkt, duren die overgangen een belangrijk deel van de klokperiode en verlopen zij idealiter volgens een vloeiende kromme, zoals in de bovenste figuur. In de praktijk verlopen die overgangen minder vloeiend en komt daar ook nog storing bij. Zo ontstaat de realistischer onderste figuur, waarbij ook de grens tussen de 0 en 1 niet meer precies in het midden ligt; desondanks is het onderscheid tussen beide waarden nog steeds volkomen duidelijk op de momenten van de kloktikken.

Wanneer de fysieke afstanden groter worden in verhouding tot de tijd die een bit erover doet om die afstand af te leggen, kunnen er allerlei storende effecten optreden; die effecten, en de oplossingen ervoor, worden behandeld in het hoofdstuk 'Digitale datatransmissie'.

Gelaagde structuur bij informatiebewerking[bewerken]

Gelaagde structuur bij informatiebewerking

Digitale bewerking op complexe data is vrijwel altijd gelaagd van structuur. Een laag is hier gedefinieerd als een domein waarin specifieke soorten informatie een bewerking of transformatie ondergaan. Om dit te illustreren volgen twee schematische voorbeelden die passen op nevenstaande figuur. Deze voorbeelden dienen uitsluitend voor een juist begrip. Van een streng gelaagde opbouw kan om praktische redenen worden afgeweken; in extreme gevallen kan dit bij computerprogramma's leiden tot zogenaamde spaghetti-code.

Voorbeeld 1, digitaal hoortoestel

  • Laag 1: Soorten informatie: echt geluid en de elektrische representatie daarvan, bewerking 1 zet het echte geluid om in de elektrische representatie daarvan; bewerking 7 doet het omgekeerde.
  • Laag 2: Soorten informatie: de elektrische en digitale representaties van geluid, bewerking 2 zet de elektrische representatie om in de digitale; bewerking 6 doet het omgekeerde.
  • Laag 3: Soorten informatie: de digitale representaties van geluid als amplitudes en frequentiespectra, bewerking 3 zet amplitudes om in frequentiespectra; bewerking 5 doet het omgekeerde.
  • Laag 4: Soort informatie: de digitale representatie van geluid als frequentiespectra; de verschillende frequenties van deze spectra worden gemanipuleerd door bewerking 4.

Bewerking 3 is bijvoorbeeld de Fast Fourier transform of FFT, die reeksen amplitudes van de geluidsdruk omzet naar reeksen frequentiespectra; ieder spectrum bevat de afzonderlijke amplitudes van een groot aantal frequentiebanden. Het voordeel is dat iedere frequentieband apart geregeld kan worden door eenvoudigweg bij bewerking 4 de bijbehorende amplitude te vergroten of te verkleinen. Op deze wijze kunnen bijvoorbeeld de hoge frequenties selectief versterkt worden om een verminderde gevoeligheid van het oor voor deze frequenties te compenseren.

Voorbeeld 2: Bewerking van een versleuteld tekstdocument

  • Laag 1: Soorten informatie: de digitale representaties van een versleutelde en een niet-versleutelde rij bytes; bewerking 1 zet de versleutelde rij om in een niet-versleutelde (decryptie), bewerking 7 doet het omgekeerde (encryptie).
  • Laag 2: Soorten informatie: de digitale representaties van een rij bytes en een rij Unicodekarakters; bewerking 2 zet de rij bytes om in een rij Unicodekarakters; bewerking 6 doet het omgekeerde.
  • Laag 3: Soorten informatie: een rij Unicodekarakters en een rij woorden; bewerking 3 zet de rij Unicodekarakters om in een rij woorden, bewerking 5 doet het omgekeerde.
  • Laag 4: Soort informatie: de rij woorden worden gemanipuleerd door bewerking 4, zoals bijvoorbeeld in een tekstverwerker.

Multiplexing, multitasking en multiprocessing[bewerken]

Multiplexing heeft betrekking op gedeeld gebruik van een hulpmiddel. Bij inverse multiplexing (zie externe link) worden daarentegen meerdere instanties van een hulpmiddel gelijktijdig benut. Bij bewerking, transport en opslag van digitale informatie worden deze beide toegepast, vaak aangeduid met specifieke termen. In dit artikel wordt de term "multiplexing" gebruikt voor de algemene situatie dat N instanties van een hulpmiddel benut worden voor het bereiken van M doelen.

Bij bewerkingen is het bovengenoemde hulpmiddel: een taak of deelbewerking die zelfstandig wordt uitgevoerd. De taak bestaat meestal uit één of meer achtereenvolgende digitale bewerkingen, die door één processor wordt (of worden) uitgevoerd.

In voorbeeld 1 werd een voorbeeld van een digitaal hoortoestel gegeven, dat met één audiokanaal werkt.

Multiplexing van bewerkingen

Als een soortgelijke functie met bijvoorbeeld 3 kanalen geïmplementeerd wordt, zou men de functie 3 maal in zijn geheel kunnen opbouwen, zoals aangegeven in het linkergedeelte van bovenstaande figuur. Dat is natuurlijk erg inefficiënt en ook niet nodig, want bij een gelaagde bewerkingsstructuur kan tussen iedere twee lagen multiplexing plaatsvinden. Bij de 3-kanaals audiotoepassing zijn alleen de in- en uitgangstransducer voor ieder kanaal apart nodig. Dit kan door tussen laag 1 en 2 een multiplexer te plaatsen, zodat laag 2 en daarboven gemeenschappelijk gebruikt kunnen worden. Hierbij is er dan sprake van een analoge multiplexer, ofwel een elektronische commutator.

De multiplexer zou ook tussen laag 2 en 3 geplaatst kunnen worden, maar nu is voor ieder kanaal een afzonderlijke AD-conversie nodig, zodat dit in de praktijk niet zal voorkomen. In het rechtergedeelte van de figuur zijn een paar mogelijke voorbeelden van multiplexing weergegeven.

In de figuur moet ieder bewerkingsblok als een taak worden opgevat en dat geldt dus ook voor de transducer- en AD-conversie; de "processors" die zich met deze taken bezighouden, worden vrijwel nooit als processor aangeduid, omdat het hier over functies gaat die met relatief eenvoudige middelen gerealiseerd worden. Men kan de volgende gevallen onderscheiden.

  • N=1, M=1: 1 processor voor 1 taak; dit komt eigenlijk alleen bij simpele digitale schakelingen voor die een eenvoudige bewerking uitvoeren, bijvoorbeeld een digitale afstandsbediening.
  • N=1, M>1: 1 processor voor meerdere taken; dit wordt aangeduid met multitasking en is van toepassing op vrijwel alle computers die met een enkelvoudige processor zijn uitgerust.
  • N>1, M=1: meerdere processors voor 1 taak; dit kan aan de orde zijn bij een complexe taak, die echter is op te delen in gelijktijdig uitvoerbare deeltaken (waardoor het strikt genomen N>1, M>1 betreft); zie distributed computing.
  • N>1, M>1: meerdere processors voor meerdere taken, aangeduid met multiprocessing. Multiprocessing gaat normaliter gepaard met multitasking en is van toepassing op multikernprocessoren; zie ook 'parallel computing' (externe link).

Verschillende taken kunnen verschillende prioriteiten hebben. In het algemeen worden taken onderbroken om voorrang te geven aan taken met hogere prioriteit als die daarop staan te wachten. Dit wordt preëmptieve multitasking genoemd en dit wordt geregeld door een speciale werkverdelertaak (scheduler) die de allerhoogste prioriteit heeft.

Interprocescommunicatie en -synchronisatie[bewerken]

Taken zijn bewerkingen op digitale informatie waarvan in- en uitgangswaarden meestal via geheugenfuncties uitgewisseld worden (zie externe link: shared memory). Die uitwisseling wordt interprocescommunicatie genoemd. Om inconsistenties te voorkomen, mag er maar één taak tegelijk schrijfbewerkingen uitvoeren en mag er geen enkele taak leesbewerkingen uitvoeren tijdens schrijfbewerkingen. De functie om dit af te dwingen wordt synchronisatie genoemd.

Voor interprocescommunicatie kan ook van datatransmissie gebruikgemaakt worden: dan worden taken op verschillende fysieke locaties uitgevoerd en dat kan zelfs wereldomvattend zijn. Men spreekt dan van distributed computing en het internet kan worden opgevat als een extreem voorbeeld daarvan.

Multiplexing van transportcapaciteit[bewerken]

Bij het multiplexen van transportcapaciteit worden N transportmedia gebruikt om M informatiestromen te transporteren. Bij N=1 en M>1 gaat het dan om normale multiplexing, zie ook TDM en FDM (externe link: Frequency Division Multiplexing).

Bij N>1 worden de informatiestromen verdeeld over meerdere media; dit kan worden gedaan als de benodigde transportcapaciteit van 1 medium niet toereikend is. Zie verder het hoofdstuk "Digitale datatransmissie".

Multiplexing van opslagcapaciteit[bewerken]

Er bestaan verschillende contexten waarin er sprake is van multiplexing van opslagcapaciteit.

Voor het opslaan van informatiestromen die uit verschillende componenten bestaan, worden in het algemeen N datastructuren gebruikt om M componenten in op te slaan. Hierbij bestaat 1 component uit een aantal aaneengesloten bits informatie. Een datastructuur is in het algemeen een aaneengesloten rij geheugenadressen met een indeling die voor iedere component een aparte plaats biedt. Voor bijvoorbeeld een videostroom zouden twee componenten kunnen worden gebruikt (M=2), één voor beeld en één voor geluid, en de datastructuur bestaat dan uit die twee groepen; N van deze datastructuren bevatten dan de complete videostroom. Informatiestromen worden eerst opgeslagen in aaneengesloten datastructuren, het resultaat is een informatiebestand dat de complete informatiestroom bevat, bijvoorbeeld een complete videostroom. Vaak worden structuren bepaald door standaard-codecs voor audio-, video- en beeldinformatie met respectievelijk MP3, H.264 en JPEG als voorbeelden.

In een andere context worden N geheugens gebruikt om M informatiebestanden op te staan. Bij N=1 is de situatie zoals bij het hoofdgeheugen van een computer, dat verschillende informatiebestanden kan bevatten.

Bij een harde schijf kan het fysieke opslagmedium verdeeld in N partities, die iedere M informatiebestanden kunnen bevatten.

Bij Redundant Array of Independent Disks (RAID) worden N fysieke opslagmedia gebruikt om M informatiebestanden op te staan.

Bij een virtueel geheugen wordt 1 fysiek computergeheugen gebruikt om M computerprogramma's ieder een privécomputergeheugen te geven, dat zelfs meer ruimte kan bieden dan het fysieke geheugen zelf. Hierbij wordt gebruikgemaakt van het feit dat bij multiprocessing taken die staan te wachten het fysieke geheugen niet nodig hebben, zodat de gegevens die in het fysieke geheugen staan tijdelijk elders opgeslagen worden, meestal op een harde schijf. Dit wordt ook wel swapping genoemd. Omdat taken meestal maar met een klein deel van de opgeslagen informatie aan het werk zijn, hebben ze alleen daarvoor het fysieke geheugen nodig, de rest mag ook elders opgeslagen zijn.

Zie verder onder Digitale dataopslag.

Hardware, firmware en software[bewerken]

Hardware, firmware en software

Het begrip "hardware" wordt gebruikt om fysieke elektronische componenten aan te duiden die een bepaalde digitale functie vervullen.

Op het meest elementaire vlak zijn dit samenstellingen van logische bouwstenen, waarvan de functie wordt bepaald door de elektronische verbindingen tussen die bouwstenen. Bij samenstellingen als een PLA (Programmable Logic Array), FPLA (Field Programmable Logic Array) of FPGA (Field Programmable Gate Array) worden die verbindingen door elektronische signalen bepaald en kunnen deze soms achteraf gewijzigd worden. Met samenstellingen van digitale bouwstenen kunnen functies met de grootst mogelijke snelheid en betrouwbaarheid uitgevoerd worden.

Een computer-processor is een digitale schakeling die een set vaste digitale functies bevat; een computerprogramma bepaalt de totale functionaliteit door te selecteren welke van die functies achtereenvolgens uitgevoerd worden. In het algemeen wordt dit programma, voor het start, eerst vanaf een zogenaamd niet-vluchtig geheugen in een snel vluchtig geheugen geladen, waaruit de processor de instructies ophaalt die bepalen welke functies uitgevoerd moeten worden. Een programma op een niet-vluchtig geheugen, zoals een harde schijf of een vergelijkbaar medium, wordt algemeen aangeduid als software.

Bij complexere hardware kan er ook sprake zijn van een computerprocessor en een ingebouwd programma dat bepalend is voor de functie; zo'n programma wordt meestal firmware genoemd, om aan te geven dat het hier om "stevig" ingebouwde software gaat die zich minder makkelijk laat wijzigen. Firmware treft men aan bij bijvoorbeeld de harde schijf, de dvd-rewriter en de inkjetprinter, in veel hardware controllers zoals "SATA Controller", "Netwerk Interface Controller" en "Audio Controller" en in veel digitale video- en audioapparatuur, waaronder ook het digitale hoortoestel.

Met software bedoelt men in het algemeen programma's die routinematig geladen, gestart, gestopt, verwijderd en veranderd worden. Software is fragiel, omdat deze meestal zo complex is, dat de goede werking niet altijd gegarandeerd kan worden. Daardoor kan het gebeuren dat het programma zelf verstoord wordt, met onvoorspelbare resultaten. In het gunstigste geval stopt het programma (men spreekt dan van een crash), maar het kan ook voorkomen dat zonder waarschuwing foutieve bewerkingen worden uitgevoerd.

Firmware is in de regel wat minder complex en daarmee stabieler dan software.

Een aparte klasse van software is het besturingssysteem, dat een set vaste complexere functies bevat die algemeen door programma's gebruikt kunnen worden, zoals het beheer van hardware, geheugen, taken, deeltaken en interprocesscommunicatie- en synchronisatie, zodat die programma's zich uitsluitend op hun specifieke taak kunnen richten. Stuurprogramma's (device drivers) zijn speciale delen van het besturingssysteem die het mogelijk maken op generieke wijze met specifieke hardware te werken. Een besturingssysteem treft men niet alleen aan in een pc of een grotere computer, maar ook in een tablet-pc en smartphone. Wordt geen OS gebruikt, dan spreekt men van een "stand-alone" systeem, waarbij het gehele programma als firmware is uitgevoerd. Complexe firmware kan ook een besturingssysteem omvatten. Men spreekt dan van een "Embedded OS".

Functionele abstractie bij digitale systemen[bewerken]

Samenvattend is er bij digitale systemen steeds sprake van een eenvoudige abstractie van een complexe functie waarbij die complexe functie zelf een samenstelling is van een aantal eenvoudige abstracties op een lager niveau. Het laagste digitale niveau wordt gevormd door functies van digitale bouwstenen, die op hun beurt weer samenstellingen zijn van abstracties van analoge componenten, zoals transistors. Transistors zijn op hun beurt weer abstracties van eigenschappen van specifieke halfgeleiderstructuren en zo voortgaand, komt men uiteindelijk op de intrinsieke eigenschappen van quarks en elektronen, welke de basis vormen waarop dit alles berust.

Digitale datatransmissie[bewerken]

Transmissie van bits[bewerken]

2- en 4-niveau-oogpatroon

Zoals opgemerkt bij "digitale signalen en storing", zijn de signalen afkomstig van digitale bouwstenen niet geschikt om zomaar over langere afstand getransporteerd te worden. Wanneer de afstanden groter worden, in verhouding tot de tijd die een bit erover doet om die afstand af te leggen, ontstaan er problemen die te maken hebben met de complexe vorm van het digitale signaal. In het algemeen geldt dat snelle signaalveranderingen de grootste problemen opleveren; ze bevatten frequentiecomponenten die met verschillende snelheden door het medium kunnen reizen, zodat bits in de tijd uitgesmeerd worden. Bovendien veroorzaken snelle signaalveranderingen in transmissiekabels met meerdere geleiders verstoring door overspraak tussen die geleiders.

Daarom wordt het digitale signaal door een modulator gevoerd die de veranderingen zo vloeiend mogelijk maakt, veelal door verandering tussen twee opeenvolgende waarden volgens een halve periode van een cosinusfunctie te laten verlopen (zie externe link: raised cosine filter).

Het digitale signaal kan als een binair signaal worden verzonden, maar door een hoger talstelsel te gebruiken, wordt de tijd tussen twee veranderingen groter; het nadeel is een kleinere storingsmarge, doordat bij gelijk vermogen de verschillen tussen de signaalniveau's kleiner zijn.

Een theoretische grens voor de hoeveelheid informatie die bij een bepaalde bandbreedte van het transmissiemedium en een hoeveelheid storende ruis verstuurbaar is, wordt gegeven door de wet van Shannon-Hartley.

Bij een quaternair signaal worden steeds twee opeenvolgende bits samengenomen, waarmee 4 corresponderende signaalniveau's gemaakt kunnen worden die tweemaal zo langzaam veranderen vergeleken met een binair signaal met dezelfde bitsnelheid.

Aan de ontvangstzijde wordt een speciale vorm van AD-conversie toegepast, welke synchroon met de momenten, dat het ontvangen signaal het minst snel verandert, de waarde van dit signaal bepaalt. Ook hier wordt voldoende marge toegepast om fouten door niet te grote verstoringen te vermijden. In nevenstaande figuur worden twee oogpatronen weergegeven met de mogelijke overgangen tussen opeenvolgende signaalniveau's. Voor een binair signaal zijn dat de 4 overgangen 0-0, 0-1, 1-0 en 1-1, voor een quaternair signaal zijn dat er 16: 0-0, 0-1, 0-2, 0-3, 1-0, 1-1, 1-2, 1-3, 2-0, 2-1, 2-2, 2-3, 3-0, 3-1, 3-2 en 3-3.

Andere problemen kunnen ontstaan door de aanwezigheid van een gelijkstroomcomponent in het signaal en door de afwezigheid van voldoende timinginformatie. Hiervoor zijn oplossingen bedacht die gebruikmaken van lijncodering.

Het bovenstaande is maar een kleine greep uit het aantal transmissietechnieken op het niveau van bits.

Het signaal in het transmissiemedium wordt meestal ook een digitaal signaal genoemd, hoewel het volledig kan afwijken van het oorspronkelijke digitale signaal van een digitale bouwsteen.

Transmissie van data[bewerken]

Datatransmissiesysteem

In de praktijk worden 8 bits meestal gebundeld tot een octet of byte, meerdere octetten worden weer samengevoegd tot frames. Maatregelen worden getroffen om het begin van ieder frame te kunnen vaststellen; bij ontvangst worden de bits achtereenvolgens in een tijdelijk geheugen samengevoegd tot vastgesteld is dat er een frame is ontvangen, waarna dit beschikbaar is voor verdere bewerking (zie ook: Frame Synchronization; externe link).

Frames kunnen worden voorzien van redundante informatie die in principe detectie en reparatie van bitfouten mogelijk maakt (zie kanaalcodering). Wanneer er frames met niet gerepareerde fouten worden ontvangen, kan om herhaling van de transmissie worden gevraagd. Wanneer bijvoorbeeld de inhoud van een boek moet worden overgezonden, dan kan met 1 byte iedere benodigde letter, cijfer of leesteken worden weergegeven. Een frame zou voor een woord gebruikt kunnen worden; als er ook nog zaken als pagina's, hoofdstukken, inhoudsopgave, register, grafisch materiaal enz. moeten worden ondersteund, dan zal het duidelijk zijn dat het niet bij eenvoudige frames kan blijven.

Deze zaken vormen het onderwerp van datatransmissieprotocollen die in functionele lagen zijn geïmplementeerd. Die protocollen lossen problemen op die ontstaan als gevolg van storingen en onderbrekingen van de signaaloverdracht, het combineren van digitale signalen, het routeren van deze signalen over een netwerk, het opzetten en afbreken van een datatransmissie en de representatie van datastromen.

De lagere transmissieprotocollen worden veelal geïmplementeerd in hardware, zoals netwerkcontrollers, routers en modems, vaak met behulp van een DSP met firmware. Zie ook OSI-model, TCP/IP en User Datagram Protocol.

In de voorbeelden is er sprake van transmissie in één richting (simplex), meer gebruikelijk is een duplexverbinding waarmee transmissie in beide richtingen plaatsvindt.

In de figuur zijn als voorbeeld twee digitale bewerkingslagen onder elkaar aangegeven. Informatie die het blok aan de zendzijde binnenkomt, gaat fysiek naar het blok eronder, maar het lijkt net alsof deze informatie rechtstreeks naar het corresponderende bovenste blok aan de ontvangstzijde gaat. Dit noemt men peer-to-peercommunicatie tussen gelijkwaardige protocol-lagen. Zo worden via het bovenste blok complete bestanden overgezonden, terwijl in werkelijkheid dit blok ieder bestand in frames opdeelt en die frames fysiek doorstuurt naar het eronder gelegen blok, waarbij het weer lijkt alsof die frames rechtstreeks naar het corresponderende blok aan de ontvangstzijde gaan. In het bovenste blok aan de ontvangstzijde worden de frames weer samengevoegd tot complete bestanden.

Fysieke transmissiemedia[bewerken]

Transmissie van een digitaal signaal vindt plaats via een (fysiek) transmissiemedium. Gangbare fysieke media zijn:

  • Telefoonkabel: transmissie door elektrische geleiding; biedt internetverbinding aan particulieren over een kabel die oorspronkelijk bedoeld was voor telefonie.
  • Coaxkabel: geleiding via een 'kern' en een 'mantel'; transmissie door elektrische geleiding met hoge snelheid; biedt internetverbinding aan particulieren over een kabel die oorspronkelijk bedoeld was voor analoge centrale antennesystemen; wordt ook voor globale netwerken toegepast.
  • UTP-kabel: elektrische geleiding van het datasignaal; wordt gebruikt voor bekabelde lokale netwerken.
  • Glasvezel: optische transmissie waarmee de hoogste snelheden bereikt kunnen worden; biedt internetverbinding aan particulieren en wordt ook voor globale netwerken toegepast.
  • Wifi: draadloze transmissie voor lokale netwerken.
  • Bluetooth: draadloze transmissie voor randapparatuur, wordt ook voor lokale netwerken gebruikt.
  • Infrarood: draadloze optische transmissie voor zeer korte afstanden.
  • 3G: draadloze transmissie voor mobiele apparatuur.

Voor deze en andere media bestaan specifieke transmissieprotocollen, waarvan er veel gestandaardiseerd zijn om deze algemeen te kunnen gebruiken.

Digitale dataopslag[bewerken]

Dataopslagsysteem

Wordt bij digitale datatransmissie informatie als een tijdfunctie via een transportmedium overgedragen, bij digitale dataopslag wordt de informatie als een adresfunctie op een medium geschreven en later afgelezen, waarbij ieder adres correspondeert met een unieke fysieke plaats op het medium. De schrijffunctie brengt een permanente verandering op het medium aan, de leesfunctie kan later vaststellen wat die verandering inhield.

Voor opslag op een analoog medium wordt in het eenvoudigste geval op ieder adres 1 bit informatie aangebracht, dat wil zeggen na de schrijfbewerking kan de leesfunctie één van twee mogelijke toestanden op dat adres vaststellen.

Er kan echter ook worden gewerkt met symbolen die meer dan twee waarden kunnen hebben, bijvoorbeeld ternaire of quaternaire waarden, waarbij via een DA-convertor een signaal geproduceerd wordt, waarmee door de schrijffunctie op ieder adres één van respectievelijk 3 of 4 mogelijke toestanden wordt aangebracht. Op deze wijze kan, in principe, de informatiedichtheid groter gemaakt worden.

Net als bij digitale bouwstenen is er hier ook voor gezorgd dat een niet te grote verstoring van het medium geen effect heeft op de waarneembaarheid van de gebruikte waarden, zodat fouten worden vermeden. Fouten zijn echter niet altijd te voorkomen, maar door redundantie kunnen deze veelal hersteld worden. Een en ander vereist, behalve het eigenlijke medium, meestal een aanzienlijke hoeveelheid elektronica en vaak ook nogal wat mechanische componenten, in de figuur aangegeven met de digitale en analoge bewerkingsblokken.

Ook dataopslag kent veel protocollen, waarvan de laagste te maken hebben met aansluitingen en fysieke adressering en hogere met bestandssystemen zoals FAT en NTFS; de hoogste met bijvoorbeeld het bestandsformaat EPUB voor e-boeken.

Databases beheren complexe informatie die op een hoog abstractieniveau opgeslagen en weer teruggevonden kan worden. Het meest geavanceerd is de relationele database, die op een gestandaardiseerde wijze benaderd wordt (SQL).

Fysieke opslagmedia[bewerken]

Gangbare voorbeelden van opslagmedia voor de fysieke opslag van data zijn:

  • Processorgeheugen: Dit zijn de snelste geheugens welke berusten op de werking van set-reset-flipflops; processor-registers hebben capaciteiten van bijvoorbeeld 64 bits en een processor cache is bijvoorbeeld 1 MB groot. Kan direct met digitale signalen werken maar zonder elektrische voeding gaat opgeslagen informatie verloren.
  • Hoofdgeheugen van een computer: Eigenschappen vergelijkbaar met processorgeheugen, maar minder snel; grote capaciteit van bijvoorbeeld 4 GB.
  • Flashgeheugen: Een door het digitale signaal bestuurde verzameling elektroden brengt op zekere plaatsen permanente elektrische ladingen aan. Deze geheugens bestaan uit logische bouwstenen, geoptimaliseerd voor grote capaciteit; door genoemde elektrische ladingen wordt opgeslagen informatie ook zonder elektrische voeding behouden. Specifieke uitvoeringen zijn Secure Digital- en CompactFlash-kaarten, welke geoptimaliseerd zijn voor laag energieverbruik. Een vorm van flashgeheugen kan ook in een solid state drive (SSD) worden toegepast, maar in de snelste SSD's wordt hetzelfde type geheugen gebruikt als in het hoofdgeheugen, waarbij een ingebouwde voedingsbron waarborgt dat de opgeslagen gegevens bewaard blijven. SSD's zijn aanzienlijk sneller dan een harde schijf, maar hebben (nog) een kleinere capaciteit. Ze kunnen direct met digitale signalen werken. Zie ook Geheugenkaart.
  • Compact Disc: Een door het digitale signaal bestuurde laser brengt op zekere plaatsen op een plastic schijf putjes met verschillende lengten aan. Capaciteit tot 25 GB, eenvoudig massaal te kopiëren door persen. Zie ook Compact disc.
  • Harde schijf: Een door het digitale signaal bestuurde elektromagneet brengt op zekere plaatsen op een schijf een magnetische polarisatie aan. Geoptimaliseerd voor grote capaciteit, bijvoorbeeld 3 TB en willekeurige toegang.
  • Magnetische tape: Werkt op hetzelfde principe als een harde schijf maar gebruikt een band in plaats van een schijf. Geoptimaliseerd voor betrouwbaarheid, wordt gebruikt als backup-opslag voor professionele doeleinden.
  • Streepjescode, QR-code en BeeTagg: Een door het digitale signaal bestuurde printer drukt op zekere plaatsen op een lichtkleurig materiaal een serie smallere of bredere donkere lijnen aan of een serie donkere bokken.

Zie ook Gegevensdrager.

Digitaal in het spraakgebruik[bewerken]

In het dagelijkse spraakgebruik wordt 'digitaal' te pas en te onpas gebruikt.

  • digitaal kantoor: kantoor dat hoofdzakelijk gebruikmaakt van computers en het internet.
  • digitaal loket: loketdiensten via internet.
  • digitaal geredeneerd: veronderstelt een samenhang van "digitaal" en "niet subtiel" die niet vanzelfsprekend is.

Zie ook[bewerken]

Externe links[bewerken]