Kompiuterių architektūra
Pratarmė
Turinys
1. Kompiuteriai ir jų struktūros
1.1. Kompiuterių raida
1.1.1. Technologijų raidos įtaka
1.1.2. Von Neumanno ir Harvardo architektūros
1.1.3. Kompiuterio funkcionavimas
1.1.4. Kompiuterių struktūrų tobulinimas
1.2. Kompiuterių tipai
1.2.1. Superkompiuteriai
1.2.2. Didieji kompiuteriai
1.2.3. Minikompiuteriai
1.2.4. Darbo stotys
1.2.5. Asmeniniai kompiuteriai
1.2.6. Nešiojamieji kompiuteriai
1.2.7. Įterptiniai kompiuteriai
1.3. Kompiuterių platformos
1.3.1. Platformos samprata
1.3.2. Nešiojamųjų kompiuterių platformos
1.4. Komandų sistemos architektūra
Kontroliniai klausimai
2. Komandų sistema
2.1. Programavimo kalbų hierarchija
2.2. Pagrindiniai komandų sistemų tipai
2.3. Operandų adresavimo būdai
2.4. Komandų adresavimo būdai
2.5. Komandų formatai
2.5.1. IBM/360 komandų formatai
2.5.2. Intel x86 šeimos procesorių komandų formatai
2.5.3. Power MPC601 komandų formatai
2.6. Komandų sistemų papildiniai
2.6.1. MMX technologija
2.6.2. Pikselių kodavimas
2.6.3. Operacijų su multimedijos informacija ypatumai
2.6.4. Komandų sistemos tobulinimas
Kontroliniai klausimai
3. Procesorius
3.1. Bendrieji procesorių raidos principai
3.1.1. Duomenų žodžio ilginimas
3.1.2. Koprocesoriai
3.1.3. Procesorių struktūros raida
3.1.4. Superskaliariniai ir VLIW procesoriai
3.1.5. Šiuolaikinis procesorius
3.2. Procesoriaus našumo didinimas
3.2.1. Technologijos normos mažinimas
3.2.2. Kristale esančios atminties talpos didinimas. Integruotos spartinančiosios atmintinės
3.2.3. Konvejerizacija ir superkonvejerizacija
3.2.4. Superskaliariškumas
3.2.5. Komandų vykdymas ne eilės tvarka
3.2.6. Specializuoti funkciniai įtaisai
3.2.7. Registrų pakeitimas
3.2.8. Perėjimų prognozė
3.2.9. Išankstinis įkrovimas
3.2.10. Lygiagrečiųjų skaičiavimų variantai
3.2.11. Keli branduoliai procesoriuje
3.2.12. Branduolių forsavimas
3.2.13. Sistemos viename kristale
3.3. Komandų vykdymo konvejeriza-vimas
3.3.1. Komandos konvejeris
3.3.2. Konvejerio darbo pavyzdys
3.3.3. Konvejerio kliūtys
3.3.4. Superkonvejeris
3.4. Procesoriaus našumas
3.4.1. Našumo rodikliai
3.4.2. Našumo įvertinimo testai
3.4.3. Našumo įvertinimo problemos
3.5. Šiuolaikinių procesorių kūrimo principai
3.5.1. Lygiagretumas
3.5.2. Energijos sąnaudų mažinimas
3.5.3. Kompiuterių kūrimas
Kontroliniai klausimai
4. Šiuolaikiniai procesoriai
4.1. Intel procesoriai
4.1.1. Intel Nehale
4.1.2. Intel Sandy Bridge
4.1.3. Intel Ivy Bridge
4.1.4. Intel Haswell
4.1.5. Intel Atom
4.2. AMD procesoriai
4.2.1. AMD K10 architektūra
4.2.2. AMD Bulldozer
4.2.3. Naujoji AMD kryptis - paspartinti skaičiavimai
4.2.4. AMD Llano
4.2.5. AMD Trinity
4.2.6. Naujieji AMD APU
4.3. ARM procesoriai
4.4. Procesoriai serveriams
4.4.1. Intel procesoriai serveriams
4.4.2. AMD procesoriai serveriams
4.4.3. IBM procesoriai
4.4.4. SPARC procesoriai
4.4.5. Didelio skaičiaus branduolių procesoriai
4.5. Įterptiniai procesoriai
4.6. Procesorių naujovės
4.6.1. Intel Broadwell
4.6.2. Intel Skylake
4.6.3. Intel Atom procesorių pavadinimai
4.6.4. Naujieji AMD APU ir Zen
4.6.5. ARM big.LITTLE koncepcija
4.6.6. IBM naujienos
Kontroliniai klausimai
5. Atminties sistema
5.1. Hierarchinė atminties sistema
5.2.1. DRAM tipai
5.2.2. DDR atminčių laiko parametrai
5.2.3. DRAM moduliai
5.2.4. Informacijos kontrolė atmintyje
5.2.5. Atminties valdymas
5.2.6. 1, 2, 4 kanalai
5.2.7. Atminties pralaidumo didinimas
5.3. Spartinančioji atmintinė
5.3.1. Spartinančiosios atmintinės struktūra ir funkcionavimas
5.3.2. Išrinkimas iš spartinančiosios atmintinės
5.3.3. Spartinančioji atmintinė procesoriuose
5.3.4. Specialioji spartinančioji atmintinė
5.3.5. Informacijos suderinamumas
5.3.6. Spartinančiosios atmintinės parametrų įtaka jos efektyvumui
Kontroliniai klausimai
6. Magistralės
6.1. Duomenų perdavimo operacijos
6.2. Kompiuterio magistralės
6.2.1. Lygiagrečiosios magistralės
6.2.2. Nuosekliosios magistralės
6.2.3. Kai kurios standartinės magistralės
6.2.4. USB magistralė
6.2.5. Magistralių parametrai
6.3. Šiuolaikinės procesorių magistralės
6.3.1. HyperTransport technologija
6.3.2. Magistralė QuickPath Interconnect
6.4. Magistralių arbitražas
6.5. Sistemos valdymo schemų rinkinys
Kontroliniai klausimai
7. Išorinė atmintis ir jos sąsajos
7.1. Magnetiniai diskai
7.2. Atmintukai
7.3. Elektroniniai diskai - magnetinių diskų pakaitalas
7.4. Hibridiniai diskai
7.5. Optiniai diskai (CD ir DVD)
7.6. Išorinės atminties įtaisų sąsajos
7.7. Duomenų saugyklos
7.7.1. Diskų kaupiklių masyvai
7.7.2. SAN
7.7.3. NAS
Kontroliniai klausimai
8. Grafikos įtaisai
8.1. Vaizdo plokštė
8.2. Vaizdo (grafinė) atmintis
8.3. Grafikos procesoriai
8.4. Diskrečioji grafika
8.5. SLI ir CrossFire
8.6. Integruotoji grafika
8.7. Bendrosios paskirties skaičiavimai naudojant GPU
Kontroliniai klausimai
9. Įvestis ir išvestis
9.1. Kompiuteris ir jo įvesties bei išvesties įtaisai
9.2. Pertrauktys ir jų apdorojimas
9.2.1. Pertrauktys
9.2.2. Pertraukčių apdorojimas
9.2.3. Pertraukčių valdiklis
9.2.4. Pertraukties vektorius
9.3. Duomenų mainai su PĮ
9.3.1. Programa valdomi duomenų mainai
9.3.2. Tiesioginiai duomenų mainai
Kontroliniai klausimai
10. Lygiagrečiosios sistemos
10.1. Klasteriai
10.2. Tinklelis
10.3. Paskirstytieji skaičiavimai
10.4. Debesų kompiuterija
10.5. Lygiagrečiųjų sistemų problemos
Kontroliniai klausimai
11. Procesoriaus Intel x86 asembleris
11.1. Intel x86 architektūros pagrindai
11.1.1. x86 procesoriaus darbo režimai
11.1.2. Adresų erdvė
11.1.3. Registrai
11.1.4. x86 atminties valdymas
11.1.5. Realiojo adreso režimas
11.1.6. Apsaugotasis režimas
11.1.7. Intel 8086 architektūros ypatybės
11.2. Asemblerio kalbos pagrindai
11.2.1. Programos struktūra
11.2.2. Duomenų aprašymas ir atminties laukų rezervavimas
11.2.3. Paprasčiausieji operandų adresavimo būdai
11.3. Mikroprocesoriaus I8086 komandų sistema
11.3.1. Duomenų persiuntimo komandos
11.3.2. Aritmetinių operacijų komandos
11.3.3. Nukreipimo komandos
11.3.4. Ciklo programavimo komandos
11.3.5. Loginės ir postūmio komandos
11.3.6. Procedūrų valdymo komandos
11.4. Sudėtingesni operandų adresavimo būdai ir programų pavyzdžiai
11.4.1. Netiesioginis operandų adresavimas
11.4.2. Duomenų transformavimo algoritmai
11.5. Duomenų įvesties ir išvesties programavimas
11.5.1. Duomenų įvedimas klaviatūra
11.5.2. Duomenų išvedimas į ekraną
11.6. Makropriemonės ir asemblerio direktyvos
11.6.1. Makroapibrėžtys ir makrokomandos
11.6.2. Kartojimo direktyvos
11.6.3. Sąlyginio transliavimo direktyvos
11.6.4. Makroapibrėžčių sudarymas ir naudojimas
11.6.5. Asemblerio direktyvos
Kontroliniai klausimai
1 priedas. Intel x8086 komandų sistema
2 priedas. Užduočių atsakymai ir programų pavyzdžiai
Literatūra
Apie autorius