Grundlogn vo da Informatik

De **[[Informatik]]** (dt. aa *Informatik*, engl. *computer sciences*) bschäftigt se mit **elektraunischa Dotnvaoawadung** (kuaz **EDV**, dt. *elektronische Datenverarbeitung*, engl. *EDP* - *electronic data processing*), des hoaßt, mit Computan und so weida. A Computa is des Ding, wosd grod einestorrst und wosd woahscheinli koa Auhnung hosd, wia's eigantli funktiauniat.

## Dotn
De Dotn, de vaoawadt wean, kennan sei Zoachn (Zoihn, Texte, ...), Büdln, Musi oda Videos. Fia de Doastöllung vo oin Dotn wiad in da Informatik des Binärsystem vawendt.

A Bit is a Binäre Ziffa, des is a Koffawuat aus *Binary* und *Digit*. A Bit kau de Zuaständ Nui oda Oans repräsentian, des hoaßt, Straum oda koa Straum. Olle Dotn wean ois lauta Nulla und Oansa gspeichat. Mit zwoa Bit kaunst via (22) vaschiadane Dotn speichan: 00, 01, 10 und 11; bei drei Bit sans scho ocht (23), bei via Bit sechszehne (24) etc.

A Byte san ocht Bit. A Kilobyte san noch da Vuasübm 1000 Byte, owa wäu's im Binärsystem bessa passt, nimmt ma in da Informatik 210 Byte = 1024 Bytes. Drum geht aa auf a CD weniga auffe ois wia obm steht, wäu de Heastöla san aa ned deppat. Fian Computer san oa Kilobyte 1024 Byte und de CD is owa nua 1000 Byte groß.

### Zoachn
Zoachn san Zoihn, Buachstobm, Sotzzoachn bis hi zua iagandwöchn exotischn Sondazoachn; de miassn hiaz olle duach a binäre Zoih ausdrückt wean. Dofia hod ma se 1963 des ASCII-System iwalegt (*American Standard Code for Information Interchange*), wo jeds Zoachn 7 Bit laung is (genaua gsogt 8 Bit; de easchte Stöö wiad fia de sognaunte Code Page vawendt, de ländaspezifisch is. Wäu in Russlaund oda Schwedn wiast aundre Zoachn brauchn ois wia bei uns - z.&nbsp;B. č, φ, ж, ø, ...). De aktuelle Veasiaun vom ASCII is ANSI X3.4 vo 1986. Mit 7 Bit pro Zoachn kaunst 128 (= 27) vaschiadane Zoachn doastöön, de wean mit 0000000 bis 1111111 (0 bis 128) nummariat. Zuasätzli san no Steiazoahn vuahaundn (SOH - Start of Heading, STX - Start of Text, ...)

Hiaz weads sas eich eh scho denkn kennan, natiali is ma mit de 256 Zoachn ned auskumman und so hod ma es Unicode-System eigfiaht, wo jeds Zoachn auf 16 Bit (des san 2 Byte) gspeichat wiad. Damit san 65536 (= 216) Zoachn megli. Wäu des aa ned gnua is, dassd jeds Zoachn aus da Vagaunganheit bis in'd Zuakunft ohdeckn kaunst, gibt's 17 „planes“, wo jede davau 65536 vaschiadane Zoachn enthööt; dawäu san eascht 6 vo de in Vawendung:
* *Basic Multilingual Plane*: lateinische Schriftn und Symbole, Lautschriftn, aundre eiropäische Schriftn, asiatische Schriftn, chinesische, japanische und koreanische Ideograume (de mochn ca. de Hööftn aus), afrikaunische Schriftn, kanadische Süübm, Symbole, ...
* *Supplementary Multilingual Plane*: historische Oiphabete, Dominostoana, Smileys, ...
* *Supplementary Ideographic Plane*: weitare chinesische, japanische und koreanische Zoachn (z.&nbsp;B. oide vietnamesische)
* *Supplementary Special-purpose Plane*: Kontroizoachn zua Sprochmarkiarung
* *Supplementary Private Use Area-A*: do kaunst da söwa wos definian
* *Supplementary Private Use Area-B*: do aa

Je nochdem wöcha vo de beidn Bytes zeascht kummt, untascheidt ma Little Endian und Big Endian - des hängt vom Prozessor oh: Intel (Windows) untastützt Little Endian, Motorola (Linux) Big Endian. Zan Beispü des €-Zoachn is 00100000 10101100 ois Little Endian und 10101100 00100000 ois Big Endian.

Waunst an Text im ASCII hosd und eahm ins Unicode umwaundlst, nocha braucht a doppelt so vü Speichaplotz, wäu jo jeds Zoachn doppelt so groß is (des kennts gern im Editor ausprowian). Des hod ihn Nochtäu, waunst an Text hosd aus lauta ASCII-Zoachn, owa oa Unicode-Zoachn drinan hosd, nocha muasst eahm scho im Unicode speichan, wäu sunst des oane Zoachn valuan gehn ded, oiso brauchst vü Speichaplotz. Drum hod ma des Unicode UTF-8 eigfiaht, wo olle Zoachn, de im ASCII enthoidn san, nua ois oa Byte gspeichat wean.

### Büdln
Ma untascheidt zwischn Vektor- und Pixelgrafikn. A Vektorgrafik is, waunst z.&nbsp;B. a Büd vo an blaun Kroas und an rodn Rechteck hosd, nocha speichast de x- und y-Koordinotn vo an Eckpunkt vom Rechteck, de Längan und de Broadn, de Strichstärkn und de Foab. Beim Kroas dessöwe: x- und y-Koordinotn vom Mittlpunkt, Radius und wieda de Strichstärkn und Foab. Bei ana Pixelgrafik wiad de gaunze Flächn in a Rasta auftäut und fia jeds Pixel (des is kuaz fia *picture element*) de Foab gspeichat (olle Foabm san nummariat), bei großn Flächn brauchst dohea recht schnöö vü Speichaplotz. Drum gibt's aa komprimiate Speichaformate.

Vektorgrafikn:
* zwoadimensionäule Formate: .cgm, .ai, .svg, .gbr, .ppt, ...
* dreidimensinäule Formate: .dwg, .dxf, .vrml, .xaml, ...

Pixelgrafikn:
* unkompromiate Formate: .bmp, .raw, ...
* valustfrei komprimiate Formate: .gif, .png, ...
* valustbehoft' komprimiate Formate: .jpg, .jepg, ...

Vektorgrafikn eignan se am bestn fia technische Zeichnungan, wosd jeds geometrische Element eideitig definian kaunst. Pixlgrafikn san aum gscheidan fia Fotos, wäu waust z.&nbsp;B. bei an Foto vom Joe Watzmo vo jedm oanzlnan vo seine Hoa ihn Aunfaungspunkt und de Läng auge'm muasst, wiast oid dabei (fois a no Hoa hod ... ). 

### Audio
Fia Musi oda sunstign Schoi wean de Schoiwöön mit ana Frequenz vo 44100&nbsp;Hz (bei ana CD) ohtast' und mit 8 oda 16 Bit (entspricht 1 oda 2 Byte) pro Kanäu gspeichat (mono). Bei Stereo wiad des gaunze doppelt so groß, bei Quadrophonie viamoi usw.

* unkompromiate Formate: .wav, .aiff, ...
* valustfrei komprimiate Formate: .flac, .ape, ...
* valustbehoft' komprimiate Formate: .mp3, ...

Beispü: Wia vü Minutn Musi gengan auf a CD-R mit 700&nbsp;MB (Stereo, 16 Bit/Kanäu)? 2 Byte pro Ohtastung moi 44100 Ohtastungen in da Sekundn moi 2 (Stereo) san 175400 Byte pro Sekundn, g'rundt 175&nbsp;kB/s. 700&nbsp;MB/175&nbsp;kB = 4000 Sekundn, des san eppa 66 Minutn.

### Video
A Füüm is aa nix aundas wia vü Büdln hintaranaund und Sound dazua. Wäu des so vü Speichaplotz braucht, gibt's nua komprimiate Formate:
* valustfrei komprimiate Formate: .quicktime, .ffmpeg, ...
* valustbehoft' komprimiate Formate: .mpeg4, .wmf, .ffmpeg, ...

## Boolesche Algebra
So, hiaz hauma de Dotn, hiaz miass ma damit aa wos aunfaunga. Wäu nua zan Speichan brauchst koan Computa, do reicht a CD oda Lochkoatn.

### Schoitungan

De easchtn Computa haum elektromechanische Schoita ghobt, des woan de Relais. Späta hod ma Röhrn vawendt und seid de 1950er-Joah Traunsistoan. Domois woan de Computa ned so a kloans Drum, sundan de haum gaunze Kästn gfüüt. Heitzuatog passns scho in'd Hosntoschn, wäu so a Smarttrottl is jo aa nix aundas wiara Computa. Des geht deswegn, wäu ma integriate Schoitkreise (IC - *integrated circuits*) aus Hoibleitan baut hod, wo Millioadn vo kloan Traunsistoan drauf san.

A Schoita kau zwoa Stöllungan haum: offn - koa Straum geht duach (0) oda zua - da Straum geht duach (1).

#### ODA-Schoitung

Waun ma zwoa Schoita haum und de parallöö schoitn, nocha reichts, waun oana vo de beidn Schoita zua is, dass da Straum fliaßn kau, des hoaßt, dass des wos ausse kummt (y) gleich 1 is.

Wos seh ma? Waun mindestens oa Schoita zua is, und nua daun, kriag ma 1 ausse. Im Englischn schreibt ma dazua *iff*, des hoaßt *if and only if*. Schreib ma fiaran offan Schoita 0 und fiaran gschlossan 1. Waun a und b gleich 0 san, des hoaßt, beide offn, nocha fliaßt koa Straum, oiso da Ausgaung y is 0. Waun ana 0 und da aundare 1 is, des hoaßt, ana zua und da
aundre offn, nocha fliaßt Straum und es kummt y = 1 ausse. Waun beide zua san (a und b gleich 1), daun aa.

Foss ma des in ana Taböön zaum:

A Schoitkroas, wo mindastns a **oda** b glei 1 sei muass, dass y = 1 is, nennt ma ODA-SChoitung (engl. *OR-Gate*), fia des schreibt ma y = a ∨ b.

#### UND-Schoitung

Waunst zwoa Schoita in Serie gschoitn hosd, nocha miassn beide zua sei, dass da Straum fliaßn kau. Waun nua oana oda goa koana zua is, nocha fliaßt koa Straum.

Schau ma uns wieda de Woahheitstaböön au:

A Schoitkroas, wo a **und** b glei 1 sei miassn, dass y = 1 is, nennt ma UND-SChoitung (engl. *AND-Gate*), fia des schreibt ma y = a ∧ b.

#### NED-Schoitung

Bei ana NED-Schoitung (engl. *NOT-Gate*) kummt genau des Gegntäu vo dem ausse, wos eine kummt.

Fia des schreibt ma y = ¬a.

### Boolesche Funktiaunan
A Boolesche Algebra bsteht aus Zoachn (0, 1) und Operatoan (∨, ∧, ¬).

*B* is a binäre Zoih; *m* und *n* san natialiche Zoihn:
:*B<sup>n</sup> → B<sup>m</sup>*
Des is a logische Funktiaun, de an binärn Output vo *m* Elementn aus an binärn Input aus *n* Parametan produziat.

Fia *B<sup>2</sup> → B<sup>1</sup>* (2 Eigobparametan und 1 Ausgobweat) hosd 16 megliche Funktiaunan, de olle mit de ODA-, UND- und NED-Elemente baut wean kenna:

#### Hoib-Addiara

Waun ma zwoa Bits mitanaund addian wuin, sui fuigands aussekumman (des hauma uns eh scho im Artikl Binärzoihn#Addian augschaut):
* 0 + 0 = 0 (und 0 weida)
* 0 + 1 = 1 (und 0 weida)
* 1 + 0 = 1 (und 0 weida)
* 1 + 1 = 10, des hoaßt 0 und 1 weida

Schreib ma des in ana Taböön auf:

Fia de Summe s sui duat 1 aussekumman, wo a und b vaschiedn is; aunsunstn 0. Des hoaßt, de Summe is nua daun 1, waun entweda a **ned** gleich 1 **und** b gleich 1 is, **oda** waun a gleich 1 **und** b **ned** gleich 1 is. Des is a XOR-Schoitung, oiso s = (¬a ∧ b) ∨ (a ∧ ¬b). Ihn Iwatrog c (fia *carry*) kriagst ois UND-Schoitung, wäu nua waun a = 1 **und** b = 1 is, nocha sui aa's Eagebnis 1 sei: c = a ∧ b.

Des kennt ma so scho baun, hod owa den Nochtäu, dass ma unnedich vü Baustoana brauchn. Drum damma des zeascht mim Distributiavgsetz, Kommutatiavgsetz und De-Morgans-Gsetz vaoafochn:

s = (¬a ∧ b) ∨ (a ∧ ¬b) =

 

 

 

 

Daun schaut des so aus:

#### Vui-Addiara
Natiali wuin ma ned nua Ziffan mitanaund addian, sundan aa längare Zoihn, wäu sunst warad des jo fad. Oiso z.&nbsp;B. 01101 mit 00110. Waun ma des händisch rechnan, miass ma wia fuigt vuageh: oa Stöö noch da aundan zaumzöhn (vo rechts beginnand) und jewäus ihn Iwatrog vo da vurign Stöö no dazua. A Computa duad aa nix aundas: De oanzalnan Stöön zaumzöhn is dessöwe, wia ma's vuaha gmocht haum, drum vawend ma do wieda an Hoib-Addiara. Fias Dazuazöhn vom vuarign Iwatrog vawend ma oafoch an zweitn Hoib-Addiara. Wäust aus mathematischn Gründn (des hechste, wos beim Addian vo zwoa binärn Ziffan aussekumman kau, is 10) nia an Iwatrog aun beidn Hoib-Addiara zua gleichn Zeid hosd, kaunst de beidn Iwaträg' mit ana ODA-SChoitung vabindn. Nocha brauchst no an Bitspeicha ois Zeidvazögarungselement, dass da Ausgaung vo da ODA-SChoitung eascht wieda bei da Additiaun vo da nächstn Stöö dazua kummt.

Da easchte Hoibaddiara α addiat jewäuls oa Bit a vo ana binärn Zoih mim entsprechandn Bit b vo ana zweitn binärn Zoih. Da zweite Hoibaddiara β addiat zua Summe aus α no ihn Iwatrog c aus da Additiaun vo da vuarign Stöö (dea wos im Bitspeicha t1 gspeichat is). Da aktuelle Iwatrog vo α und β wiad im ODA-Gatta zaumgfiaht und daun im Bitspeicha t1 fia de nächste Additiaun aufghobm.

#### De aundan Grundrechnoatn
* Subtrahian: is nix aundas, ois wia mim Zwoarakompliment addian.
* Muitiplizian: is nix aundas, ois de easchte Zoih so oft zan addian, wia's de zweite sogt.
* Dividian: is nix aundas wiara fuatgsetzte Subtraktiaun.

## Computa-Architektuan
Bishea hauma an Vui-Addiara gsehn, dea wos nua drauf ausglegt is, dass a rechna duad. De easchtn Computa woan zwoa nua Rechnmaschinan, owa heit vasteht ma unta an Computa scho wos aundas. Im Joah 1949 hod da John von Neumann an Computa baut, wo de Hardware ned auf a bstimmts Prograum zuagschnittn is, sundan wo de Prograume im söbm Speicha wia de Dotn ohglegt san. De Prograume san genauso binär codiat.

A Von-Neumann-Computa bsteht aus an Prozessor (CPU - *Central Processing Unit*), an Hauptspeicha (RAM - *Random Access Memory*) und an Ausgobegerät (z. B. Büdschiam), de mitanaund duach Busse vabundn san (Data Bus, Address Bus, Control Bus). A CPU bsteht aus ana Arithmetic Logic Unit (ALU) und ana Control Unit, und daun hods no Regista, wo Dotn und Beföh kuazzeitig ohglegt wean.

A Prograum is nix aundas wia vü Maschinanbeföh' hintaranaund; ursprüngli wiakli no binäre Nuin und Oansa, ob de 50er-Joah san daun de sognauntn Assembles aufkumman, wo ma de fuigandn untascheidt:
* Transfer interactions (load, store, ...)
* Arithmetic and logic interactions (add, and, or, ...)
* Control interactions (stop, auf wöche Adress dass a geh sui, bedingte Auweisungan, ...)

Beispü: mia haum des fuigande Prograum im Hauptspeicha steh. Ois wos im Hauptspeicha drin is, is mit ana Adressn nummariat.

Da Prozessor hod a Instruction Regista (IR), Instruction Adress Regista (IAR) und de Regista vo R1 bis wiavü dassd hoid hosd. Waunst des Prograum stoatst, nocha huist da ins IAR de Adress vom easchtn Beföh, des is bei unsam Beispü 46. Nocha fiahst des aus, des hoaßt, du huist da des, wos auf 46 steht und schreibst das ins IR, duat steht daun *load 153*. Und des duast aa - du schaust, wos auf 153 steht, des is de Zoih 7 und lodst des ins R1. Daun wiad im IAR 1 dazuazöht und da nächste Beföh ausgfiaht, oiso es wiad de Zoih 5 ins R2 gschriam. Nocha wean de beidn Zoihn addiat, wia ma's obm ghobt haum und des Eagebnis im Hauptspeicha unta da Adress 155 gspeichat. Da letzte Beföh is *stop*, des hoaßt, des IAR wiad glescht.

Dassd ihm Computa ned jedn oanzlnan Schritt sogn muasst, san daun aum End vo de 50er-Joah mit Fortran de easchtn Prograummiasprochn aufkumman; späta Algol 60, Cobol, C, Pascal etc. Ob de 80er-Joah san de objektorientiatn Prograummiasprochn dazuakumman, wia C++, Java und C#.