Jak fungují mikroprocesory

  • Gyles Lewis
  • 27
  • 2633
  • 483
Mikroprocesory jsou jádrem všech počítačů. Jorg Greuel / Getty Images

-Počítač, který používáte ke čtení této stránky, používá mikroprocesor dělat svou práci. Mikroprocesor je srdcem každého běžného počítače, ať už se jedná o stolní počítač, server nebo notebook. Mikroprocesor, který používáte, může být Pentium, K6, PowerPC, Sparc nebo některá z mnoha dalších značek a typů mikroprocesorů, ale všichni dělají přibližně stejnou věc přibližně stejným způsobem.

Mikroprocesor - také známý jako procesor nebo centrální procesorová jednotka - je kompletní výpočetní stroj, který je vyroben na jediném čipu. Prvním mikroprocesorem byl Intel 4004, který byl představen v roce 1971. 4004 nebyl moc výkonný - vše, co mohl udělat, bylo sčítání a odečítání a bylo možné provádět pouze 4 bity najednou. Ale bylo úžasné, že všechno bylo na jednom čipu. Před 4004 inženýři stavěli počítače buď ze sbírek čipů, nebo z diskrétních součástí (tranzistory zapojené jeden po druhém). 4004 napájel jeden z prvních přenosných elektronických kalkulaček.

- Pokud jste někdy přemýšleli o tom, co mikroprocesor ve vašem počítači dělá, nebo pokud jste někdy přemýšleli o rozdílech mezi typy mikroprocesorů, přečtěte si dále. V tomto článku se dozvíte, jak poměrně jednoduché digitální logické techniky umožňují počítači vykonávat svou práci, ať už hraje hru nebo kontrolu pravopisu dokumentu.!

Obsah
  1. Vývoj mikroprocesorů: Intel
  2. Logika mikroprocesoru
  3. Paměť mikroprocesoru
  4. Pokyny k mikroprocesoru
  5. Výkon a trendy mikroprocesorů
  6. 64bitové mikroprocesory
Intel 8080 byl prvním mikroprocesorem v domácím počítači.

Prvním mikroprocesorem, který se dostal do domácího počítače, byl Intel 8080, kompletní 8bitový počítač na jednom čipu, který byl představen v roce 1974. Prvním mikroprocesorem, který měl na trhu skutečný úvod, byl Intel 8088, představený v roce 1979 a začleněný do IBM PC (který se poprvé objevil kolem roku 1982). Pokud znáte trh s PC a jeho historii, víte, že se trh s PC přesunul z 8088 na 80286 na 80386 na 80486 na Pentium na Pentium II na Pentium III na Pentium 4. Všechny tyto mikroprocesory jsou vyráběny společností Intel a všechny jsou vylepšeními v základní konstrukci modelu 8088. Pentium 4 dokáže provádět jakýkoli kód, který běží na původním modelu 8088, ale činí to asi 5 000krát rychleji!

Od roku 2004 společnost Intel zavedla mikroprocesory s více jádry a miliony dalších tranzistorů. Ale i tyto mikroprocesory se řídí stejnými obecnými pravidly jako dřívější čipy.

Zde jsou rozdíly mezi různými procesory, které společnost Intel zavedla v průběhu let. Zkompilován z Stručné referenční příručky Intel Microprocessor a TSCP Benchmark Score

Další informace o tabulce na této stránce:

  • datum je rok, kdy byl procesor poprvé představen. Mnoho procesorů je znovu zavedeno při vyšších rychlostech hodin po mnoho let po původním datu vydání.
  • Tranzistory je počet tranzistorů na čipu. Vidíte, že počet tranzistorů na jednom čipu v průběhu let neustále rostl.
  • Mikrony je šířka v mikronech nejmenšího drátu na čipu. Pro srovnání je lidský vlas tlustý 100 mikronů. Jak se velikost prvku na čipu snižuje, počet tranzistorů stoupá.
  • Rychlost hodin je maximální rychlost, po kterou může být čip taktován. Rychlost hodin bude mít větší smysl v další části.
  • Šířka dat je šířka ALU. 8bitová ALU může přidávat / odečítat / násobit / atd. dvě 8bitová čísla, zatímco 32bitová ALU může manipulovat s 32bitovými čísly. 8bitová ALU by musela provést čtyři instrukce, aby přidala dvě 32bitová čísla, zatímco 32bitová ALU to může udělat v jedné instrukci. V mnoha případech má externí datová sběrnice stejnou šířku jako ALU, ale ne vždy. 8088 měl 16-bitovou ALU a 8-bitovou sběrnici, zatímco moderní Pentiums načítal data 64 bitů najednou pro jejich 32-bitové ALU.
  • MIPS znamená „miliony instrukcí za sekundu“ a je hrubým měřítkem výkonu procesoru. Moderní procesory dokážou dělat tolik různých věcí, že hodnocení MIPS ztratí mnoho významu, ale z tohoto sloupce můžete získat obecný pocit relativní síly procesorů..

Z této tabulky vidíte, že obecně existuje vztah mezi rychlostí hodin a MIPS. Maximální rychlost hodin je funkcí výrobního procesu a zpoždění uvnitř čipu. Existuje také vztah mezi počtem tranzistorů a MIPS. Například 8088 taktoval na 5 MHz, ale provedl se pouze při 0,33 MIPS (asi jedna instrukce na 15 hodinových cyklů). Moderní procesory mohou často provádět rychlostí dvou instrukcí za cyklus hodin. Toto zlepšení přímo souvisí s počtem tranzistorů na čipu a bude mít větší smysl v další části.

Co je čip??

A čip se také nazývá integrovaný obvod. Obecně se jedná o malý, tenký kus křemíku, na který byly vyleptány tranzistory tvořící mikroprocesor. Čip může být stejně velký jako palec na boku a může obsahovat desítky milionů tranzistorů. Jednodušší procesory se mohou skládat z několika tisíc tranzistorů vyleptaných na čip jen pár milimetrů čtverečních.

Procesor Intel Pentium 4 Foto s laskavým svolením společnosti Intel Corporation

Abychom pochopili, jak mikroprocesor funguje, je užitečné se podívat dovnitř a dozvědět se o logice použité k jeho vytvoření. V tomto procesu se můžete také dozvědět montážní jazyk -- rodný jazyk mikroprocesoru - a mnoho věcí, které mohou inženýři udělat pro zvýšení rychlosti procesoru.

Mikroprocesor provádí soubor strojních instrukcí, které sdělují procesoru, co má dělat. Na základě pokynů mikroprocesor dělá tři základní věci:

  • Pomocí své ALU (aritmetické / logické jednotky) může mikroprocesor provádět matematické operace jako sčítání, odčítání, násobení a dělení. Moderní mikroprocesory obsahují kompletní procesory s pohyblivou řádovou čárkou, které mohou provádět extrémně sofistikované operace s velkými čísly s pohyblivou řádovou čárkou.
  • Mikroprocesor může přesouvat data z jednoho paměťového místa na druhé.
  • Mikroprocesor může rozhodovat a skočit na novou sadu pokynů založených na těchto rozhodnutích.

Mohou existovat velmi sofistikované věci, které mikroprocesor dělá, ale to jsou jeho tři základní činnosti. Následující obrázek ukazuje velmi jednoduchý mikroprocesor schopný provádět tyto tři věci:

To je asi tak jednoduché, jak se dostane mikroprocesor. Tento mikroprocesor má:

  • An adresový autobus (může být široký 8, 16 nebo 32 bitů), který odešle adresu do paměti
  • A datová sběrnice (může mít šířku 8, 16 nebo 32 bitů), která může odesílat data do paměti nebo přijímat data z paměti
  • An RD (číst a WR (write) řádek sdělující paměti, zda chce nastavit nebo získat adresované umístění
  • A linka hodin který umožňuje procesoru hodinovou sekvenci impulzů
  • A reset linky který resetuje čítač programu na nulu (nebo cokoli) a restartuje provádění

Předpokládejme, že adresa i datová sběrnice jsou v tomto příkladu široké 8 bitů.

Zde jsou komponenty tohoto jednoduchého mikroprocesoru:

  • Registry A, B a C jsou jednoduše západky vyrobené z žabek. (Podrobnosti viz část „Západky spouštěné hranami“ v části Jak funguje logická logika.)
  • Zámek adresy je stejně jako registry A, B a C.
  • Počítadlo programů je západka s extra schopností zvyšovat o 1, když je to řečeno, a také resetováno na nulu, když je řečeno, aby tak učinily..
  • ALU by mohla být stejně jednoduchá jako 8bitový sčítač (podrobnosti viz část o sčítačích v tématu Jak funguje logická logika), nebo by mohla být schopna přidávat, odečítat, násobit a dělit 8bitové hodnoty. Předpokládejme tu druhý.
  • Testovací registr je speciální západka, která dokáže uchovat hodnoty z porovnání provedených v ALU. ALU může normálně porovnávat dvě čísla a určit, zda jsou stejná, pokud je jedno větší než druhé atd. Testovací registr může také normálně držet přenosový bit z poslední fáze sčítače. Ukládá tyto hodnoty do klopných obvodů a dekodér instrukcí pak může tyto hodnoty použít k rozhodování.
  • Na obrázku je šest políček označených „3-stav“. Tyto jsou třístavové pufry. Třístavová vyrovnávací paměť může projít 1, 0 nebo může v podstatě odpojit svůj výstup (představte si spínač, který zcela odpojí výstupní vedení od drátu, ke kterému výstup směřuje). Třístavová vyrovnávací paměť umožňuje připojení více výstupů k vodiči, ale pouze jeden z nich skutečně vede 1 nebo 0 na linku.
  • Registr instrukcí a dekodér instrukcí jsou zodpovědné za řízení všech ostatních komponent.

Ačkoli nejsou v tomto diagramu znázorněny, z dekodéru instrukcí by existovaly kontrolní linie, které by:

  • Řekněte registru A, aby zachytil hodnotu aktuálně na datové sběrnici
  • Řekněte registru B, aby zachytil aktuální hodnotu na datové sběrnici
  • Řekněte registru C, aby aretoval hodnotu aktuálně vydanou ALU
  • Řekněte registru čítačů programů, aby zachytil hodnotu aktuálně na datové sběrnici
  • Řekněte adresářovému registru, aby zachytil hodnotu aktuálně na datové sběrnici
  • Řekněte registru instrukcí, aby zachytil hodnotu aktuálně na datové sběrnici
  • Řekněte čítači programu, aby se zvyšoval
  • Řekněte programovému čítači, aby vynuloval
  • Aktivujte některý ze šesti třístavových vyrovnávacích pamětí (šest samostatných řádků)
  • Řekněte ALU, jakou operaci provést
  • Řekněte testovacímu registru, aby zajistil testovací bity ALU
  • Aktivujte linku RD
  • Aktivujte linku WR

Do dekodéru instrukcí přicházejí bity z testovacího registru a hodinové linie, jakož i bity z instrukčního registru.

ROM čip

Předchozí část hovořila o adresních a datových sběrnicích, jakož i o tratích RD a WR. Tyto sběrnice a linky se připojují buď k RAM nebo ROM - obvykle k oběma. V našem ukázkovém mikroprocesoru máme adresovou sběrnici 8 bitů široký a datovou sběrnici 8 bitů široký. To znamená, že mikroprocesor může oslovit (28) 256 bajtů paměti a dokáže číst nebo zapisovat 8 bitů paměti najednou. Předpokládejme, že tento jednoduchý mikroprocesor má 128 bajtů ROM začínající na adrese 0 a 128 bajtů RAM začínající na adrese 128.

ROM znamená paměť jen pro čtení. Čip ROM je naprogramován s trvalou sbírkou předem nastavených bytů. Adresová sběrnice říká čipu ROM, který byte má získat a umístit na datovou sběrnici. Když se řádek RD změní stav, čip ROM představuje vybraný bajt na datové sběrnici.

RAM znamená paměť s náhodným přístupem. RAM obsahuje bajty informací a mikroprocesor může tyto bajty číst nebo zapisovat v závislosti na tom, zda je signalizována linka RD nebo WR. Jedním z problémů dnešních RAM čipů je to, že zapomenou na všechno, jakmile dojde k vypnutí napájení. Proto počítač potřebuje ROM.

RAM čip

Mimochodem, téměř všechny počítače obsahují určité množství ROM (je možné vytvořit jednoduchý počítač, který neobsahuje RAM - mnoho mikrokontrolérů to dělá umístěním hrstky RAM RAM na samotný procesorový čip - ale obecně nelze vytvořit ten, který neobsahuje ROM). V počítači se ROM nazývá BIOS (Basic Input / Output System). Po spuštění mikroprocesoru začne provádět instrukce, které najde v systému BIOS. Pokyny systému BIOS provádějí například testování hardwaru v počítači a poté přejdou na pevný disk spouštěcí sektor (podrobnosti viz Jak pevné disky fungují). Tento spouštěcí sektor je další malý program a systém BIOS jej po načtení z disku uloží do paměti RAM. Mikroprocesor pak začne provádět instrukce spouštěcího sektoru z RAM. Spouštěcí sektorový program řekne mikroprocesoru, aby do pevného disku přenesl něco jiného z pevného disku do paměti, kterou mikroprocesor spustí a tak dále. Takto mikroprocesor načte a provede celý operační systém.

Dokonce i neuvěřitelně jednoduchý mikroprocesor zobrazený v předchozím příkladu bude mít poměrně velkou sadu pokynů, které může provádět. Kolekce instrukcí je implementována jako bitové vzory, z nichž každá má při načtení do registru instrukcí jiný význam. Lidé si příliš dobře nepamatují bitové vzory, takže je definována sada krátkých slov, která představují různé bitové vzory. Tato sbírka slov se nazývá montážní jazyk procesoru. An assembler umí velmi snadno překládat slova do svých bitových vzorců a poté je výstup z assembleru uložen do paměti, aby mikroprocesor mohl vykonat.

Zde je sada instrukcí jazyka sestavení, které by návrhář mohl vytvořit pro jednoduchý mikroprocesor v našem příkladu:

  • LOADA mem - Načtěte registr A z adresy paměti
  • LOADB mem - Načtěte registr B z adresy paměti
  • CONB kon - Načtěte konstantní hodnotu do registru B
  • SAVEB mem - Uložit registr B na adresu paměti
  • SAVEC mem - Uložit registr C na adresu paměti
  • PŘIDAT - Přidejte A a B a výsledek uložte do C
  • SUB - Odečtěte A a B a výsledek uložte do C
  • MUL - Vynásobte A a B a výsledek uložte do C
  • DIV - Rozdělte A a B a výsledek uložte do C
  • COM - Porovnejte A a B a výsledek uložte do testu
  • JUMP addr - Přejít na adresu
  • JEQ addr - Skok, pokud je stejný, na adresu
  • JNEQ addr - Přeskočit, pokud není rovno, na adresu
  • JG addr - Skok, pokud je větší než, na adresu
  • JGE addr - Přeskočit, pokud je větší nebo rovno, na adresu
  • JL addr - Přejít, pokud je menší než, na adresu
  • JLE addr - Přeskočit, pokud je menší nebo rovno, na adresu
  • STOP - Zastavte provádění

Pokud jste si přečetli, jak funguje programování C, pak víte, že tento jednoduchý kus kódu C vypočítá faktoriál 5 (kde faktoriál 5 = 5! = 5 * 4 * 3 * 2 * 1 = 120):


a = 1; f = 1; zatímco (a <= 5) f = f * a; a = a + 1;

Na konci provádění programu je proměnná F obsahuje faktoriál 5.

Shromáždění jazyk

A C kompilátor převede tento kód C do jazyka sestavení. Předpokládejme, že RAM začíná na adrese 128 v tomto procesoru a ROM (který obsahuje program jazyka sestavení) začíná na adrese 0, pak by náš jednoduchý mikroprocesor mohl vypadat takto:


// Předpokládejme, že a je na adrese 128 // Předpokládejme, že F je na adrese 1290 CONB 1 // a = 1; 1 SAVEB 1282 CONB 1 // f = 1; 3 SAVEB 1294 LOADA 128 // pokud a> 5 skočí na 175 CONB 56 COM7 JG 178 LOADA 129 // f = f * a; 9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a = a + 1; 13 CONB 114 ADD15 SAVEC 12816 JUMP 4 // smyčka zpět na if17 STOP

ROM

Teď je otázkou: „Jak vypadají všechny tyto pokyny v ROM?“ Každá z těchto instrukcí jazyka sestavy musí být reprezentována binárním číslem. Z důvodu jednoduchosti předpokládejme, že každé instrukci jazyka sestavení je přiděleno jedinečné číslo, jako například:

  • LOADA - 1
  • LOADB - 2
  • CONB - 3
  • SAVEB - 4
  • SAVEC mem - 5
  • PŘIDAT - 6
  • SUB - 7
  • MUL - 8
  • DIV - 9
  • COM - 10
  • JUMP addr - 11
  • JEQ addr - 12
  • JNEQ addr - 13
  • JG addr - 14
  • JGE addr - 15
  • JL addr - 16
  • JLE addr - 17
  • STOP - 18

Čísla jsou známá jako opcodes. V ROMu by náš malý program vypadal takto:


// Předpokládejme, že a je na adrese 128 // Předpokládejme, že F je na adrese 129Addr opcode / value0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 1298 1 // LOADA 1289 12810 3 // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 12921 12922 1 // LOADA 12823 12824 3 // CONB 125 126 6 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Můžete vidět, že sedm řádků kódu C se stalo 18 řádky jazyka sestavení a v ROM se to stalo 32 bajtů.

Dekódování

Dekodér instrukce musí proměnit každou z opcodů v sadu signálů, které řídí různé komponenty uvnitř mikroprocesoru. Vezměme si příklad ADD a podívejme se, co musí udělat:

  1. Během prvního hodinového cyklu musíme instrukce skutečně načíst. Dekodér instrukcí proto musí: aktivovat třístavovou vyrovnávací paměť pro programové čítače aktivovat linku RD aktivovat datovou tříbodovou vyrovnávací paměť blokující instrukci do registru instrukcí
  2. Během druhého hodinového cyklu je dekódována instrukce ADD. Musí to dělat jen velmi málo: nastavit činnost ALU tak, aby přidávala blokování výstupu ALU do registru C
  3. Během třetího hodinového cyklu se programové čítač zvýší (teoreticky by se to mohlo překrýt do druhého hodinového cyklu).

Každá instrukce může být rozdělena jako soubor sekvenčních operací, jako jsou ty, které manipulují se součástkami mikroprocesoru ve správném pořadí. Některé instrukce, například tato ADD instrukce, mohou trvat dva nebo tři hodinové cykly. Jiní mohou mít pět nebo šest hodinových cyklů.

Počet tranzistory dostupné má obrovský vliv na výkon procesoru. Jak jsme viděli dříve, typická instrukce v procesoru, jako je 8088, zabrala provedení 15 hodinových cyklů. Kvůli návrhu multiplikátoru trvalo přibližně 80 cyklů, aby se na 8088 provedlo jedno 16bitové násobení. S více tranzistory je možné dosáhnout mnohem výkonnějších multiplikátorů schopných rychlostí jednoho cyklu.

Více tranzistorů také umožňuje technologii nazývanou potrubí. V potrubní architektuře se provádění instrukcí překrývá. Takže i když provedení každé instrukce může trvat pět hodinových cyklů, může existovat pět instrukcí v různých fázích provádění současně. Takto to vypadá, že každá instrukce dokončí každý cyklus hodin.

Mnoho moderních procesorů má více dekodérů instrukcí, každý s vlastním potrubím. To umožňuje více toků instrukcí, což znamená, že během každého hodinového cyklu může být dokončeno více než jedna instrukce. Implementace této techniky může být docela složitá, takže to vyžaduje spoustu tranzistorů.

Trendy

Trendem v návrhu procesorů bylo především směřování k plným 32bitovým ALU s vestavěnými procesory s pohyblivou řádovou čárkou a prováděním potrubí s více instrukčními toky. Nejnovější věcí v designu procesorů jsou 64bitové jednotky ALU a lidé by měli mít tyto procesory ve svých domácích počítačích v příštím desetiletí. Došlo také ke sklonům ke zvláštním instrukcím (jako jsou instrukce MMX), které dělají určité operace obzvláště efektivní, a přidáním hardwarové podpory virtuální paměti a ukládání do mezipaměti L1 na čipu procesoru. Všechny tyto trendy zvyšují počet tranzistorů, což vede k dnes dostupným milionům tranzistorových pohonných jednotek. Tito zpracovatelé mohou provádět asi jednu miliardu instrukcí za sekundu!

Foto s laskavým svolením AMD

Od roku 1992 s námi pracuje šedesát čtyři bitů a v 21. století se začaly stávat mainstreamem. Intel i AMD zavedli 64bitové čipy a Mac G5 má 64bitový procesor. Šedesát čtyři bitové procesory mají 64bitové ALU, 64bitové registry, 64bitové sběrnice atd..

Jedním z důvodů, proč svět potřebuje 64bitové procesory, je jejich zvětšené adresní prostory. Třicet dva-bitové čipy jsou často omezeny na maximálně 2 GB nebo 4 GB RAM přístupu. To zní jako hodně, protože většina domácích počítačů v současné době používá pouze 256 MB až 512 MB RAM. Limit 4 GB však může být závažným problémem pro serverové stroje a počítače provozující velké databáze. A dokonce i domácí stroje začnou brzy narůstat proti limitu 2 GB nebo 4 GB, pokud budou současné trendy pokračovat. 64bitový čip nemá žádná z těchto omezení, protože 64bitový adresový prostor RAM je v dohledné budoucnosti v podstatě nekonečný - 2 ^ 64 bajtů paměti RAM je něco v řádu miliard gigabajtů paměti RAM.

S 64bitovou adresovou sběrnicí a širokými, vysokorychlostními datovými sběrnicemi na základní desce, 64bitové stroje také nabízejí rychlejší I / O (vstupní / výstupní) rychlosti, jako jsou jednotky pevného disku a grafické karty. Tyto funkce mohou výrazně zvýšit výkon systému.

Servery mohou určitě těžit ze 64 bitů, ale co normální uživatelé? Kromě řešení RAM není jasné, že 64bitový čip nabízí „běžným uživatelům“ skutečné a hmatatelné výhody v tuto chvíli. Umí zpracovat data (velmi komplexní data mají spoustu reálných čísel) rychleji. Lidé, kteří dělají úpravy videa a lidé, kteří dělají fotografické úpravy na velmi velkých obrázcích, těží z tohoto druhu výpočetní síly. Výhody budou mít i špičkové hry, jakmile budou znovu zakódovány, aby využily 64bitových funkcí. Průměrný uživatel, který čte e-maily, prohlíží web a upravuje dokumenty Word, procesor tímto způsobem opravdu nevyužívá.

Další informace o mikroprocesorech a souvisejících tématech naleznete v odkazech na následující stránce.

Související články

  • Kvíz CPU
  • Proč existují omezení rychlosti procesoru?
  • Jak polovodiče fungují
  • Jak PC fungují
  • Jak programování C funguje
  • Jak Java funguje
  • Jak fungují operační systémy
  • Jak funguje paměť počítače
  • Jak budou fungovat kvantové počítače
  • Jak budou DNA počítače fungovat

Další skvělé odkazy

  • Webopedia: mikroprocesor
  • Klikněte na CPU
  • Aktualizace procesoru
  • Porovnání CPU 6. generace
  • Srovnání CPU 7. generace
  • Výsledky testů TSCP



udusobomuvom ([email protected])
16.10.22 18:50
http://slkjfdf.net/ - Isadazev <a href="http://slkjfdf.net/">Ivuenovon</a> coj.udjs.cs.pedeorelha.com.vxw.sz http://slkjfdf.net/
asuwifietone ([email protected])
16.10.22 17:45
http://slkjfdf.net/ - Ipizigdof <a href="http://slkjfdf.net/">Axelut</a> ijy.zpqy.cs.pedeorelha.com.hdl.zo http://slkjfdf.net/
16.10.22 14:53
http://slkjfdf.net/ - Ixerhag <a href="http://slkjfdf.net/">Aanurux</a> grp.ftpp.cs.pedeorelha.com.age.ye http://slkjfdf.net/
rwemrwevi ([email protected])
16.10.22 12:55
http://slkjfdf.net/ - Ogamomo <a href="http://slkjfdf.net/">Otulojo</a> prh.nipg.cs.pedeorelha.com.sxa.ov http://slkjfdf.net/
egafesolopoto ([email protected])
16.10.22 12:40
http://slkjfdf.net/ - Uzcutua <a href="http://slkjfdf.net/">Unagun</a> pki.opoj.cs.pedeorelha.com.oxf.vt http://slkjfdf.net/
Nejzajímavější články o tajemstvích a objevech. Spousta užitečných informací o všem
Články o vědě, prostoru, technologii, zdraví, životním prostředí, kultuře a historii. Vysvětlete tisíce témat, abyste věděli, jak všechno funguje