Milap Neupane Blog

CPU, más néven a mikroprocesszor a számítógép szíve és / vagy agya. Lehetővé teszi, hogy mélyen belevetik magukat a mag a számítógép megérteni, hogy a CPU munka, amely segít írni számítógépes programok hatékonyan.

a szerszám általában egyszerűbb, mint egy gép; általában a kézzel használják, míg a gépet gyakran állati vagy gőzerővel mozgatják.

– Charles Babbage

a számítógép többnyire villamos energiával működő gép, de rugalmassága és programozhatósága segített elérni a szerszám egyszerűségét.

A CPU a számítógép szíve és / vagy agya. Végrehajtja a nekik megadott utasításokat. Fő feladata az aritmetikai és logikai műveletek végrehajtása, valamint az utasítások együttes összehangolása. Mielőtt belemerülnénk a fő részekbe, kezdjük azzal, hogy megnézzük, mi a CPU fő alkotóeleme, és milyen szerepük van:

A CPU (processzor) két fő összetevője

  • vezérlőegység — cu
  • aritmetikai és logikai egység — ALU

vezérlőegység — cu

vezérlőegység a CPU azon része, amely segít az utasítások végrehajtásának megszervezésében. Megmondja, mit kell tennie. Az utasítás szerint segít aktiválni a CPU-t a számítógép különböző részeihez, beleértve az ALU-t is. A vezérlőegység a CPU első összetevője, amely megkapja a feldolgozásra vonatkozó utasításokat.

kétféle vezérlőegység létezik:

  • vezetékes vezérlőegységek.
  • mikroprogramozott (mikroprogramozott) vezérlőegységek.

a Hardwired vezérlőegységek a hardverek, és szükség van a hardver megváltoztatására, hogy hozzáadja a modify működését, míg a mikro-programozható vezérlőegység programozható a viselkedésének megváltoztatására. A vezetékes CU gyorsabb a feldolgozási utasításban, míg a mikro-programozható rugalmasabb.

aritmetikai és logikai egység-ALU

aritmetikai és logikai egység ALU ahogy a neve is sugallja, elvégzi az összes aritmetikai és logikai számítást. Az ALU olyan műveleteket hajt végre, mint az összeadás, kivonás. Az ALU logikai áramkörökből vagy logikai kapukból áll, amelyek elvégzik ezeket a műveleteket.

a legtöbb logikai kapuk két bemenetet vesznek fel és egy kimenetet állítanak elő

Az alábbiakban egy fél adder áramkör példája látható, amely két bemenetet vesz fel, és kimenetet ad ki az eredményből. Itt A és B a bemenet, S a kimenet, C pedig a hordozó.

Half adder
Half source: https://en.wikipedia.org/wiki/Adder_(electronics) #/media/File:Half_Adder.svg

Storage — regiszterek és memória

a CPU fő feladata a hozzá tartozó utasítások végrehajtása. Ezeknek az utasításoknak A feldolgozásához a legtöbb esetben adatokra van szüksége. Egyes adatok közbenső adatok, némelyik bemenet, más pedig a kimenet. Ezeket az adatokat az utasításokkal együtt a következő tárolóban tárolják:

regiszterek

a regiszter egy kis helykészlet, ahol az adatok tárolhatók. A nyilvántartás a reteszek kombinációja. A flip-flop néven is ismert reteszek a logikai kapuk kombinációi, amelyek 1 bit információt tárolnak.

a retesz két bemeneti vezetéket, írási és bemeneti vezetéket és egy kimeneti vezetéket tartalmaz. Engedélyezhetjük, hogy az íróvezeték módosítsa a tárolt adatokat. Ha az íróvezeték le van tiltva, a kimenet mindig ugyanaz marad.

egy SR retesz, amelyet egy pár keresztkötésű NOR kapuból építettek

a CPU nyilvántartásokkal rendelkezik a kimeneti adatok tárolására. A fő memóriába(RAM) történő küldés lassú lenne, mivel ez a közbenső adat. Ezeket az adatokat más, busszal összekapcsolt nyilvántartásokhoz továbbítják. A regiszter képes tárolni az utasításokat, a kimeneti adatokat, a tárolási címet vagy bármilyen adatot.

Memory (RAM)

a Ram egy olyan regiszter-gyűjtemény, amely optimalizált módon van elrendezve és tömörítve, így nagyobb számú adatot képes tárolni. A RAM (Random Access Memory) Illékony, és az adatok elvesznek, amikor kikapcsoljuk az áramot. RAM gyűjteménye, nyilvántartások, hogy olvasás/írás adatok a RAM veszi bemeneti 8 bites cím, adatok bemenet a tényleges adatokat kell tárolni, majd végül írni-olvasni enabler, amely működik, mint a retesz.

mik azok az utasítások

utasítás a szemcsés szintű számítás a számítógép képes elvégezni. Különböző típusú utasítások vannak, amelyeket a CPU képes feldolgozni.

utasítások a következők:

  • Számtani például az összeadást, majd vonjuk
  • Logikai utasítások, mint például meg, vagy nem
  • Adatokat, utasításokat, mint a mozgás, input, output, terhelés, illetve tárolni
  • Control Flow utasításokat, mint a goto, ha … goto, hívja vissza
  • Értesíti a CPU, hogy a program véget ért, Megállt

Utasítás, feltéve, hogy a számítógép használata assembly nyelv, vagy a fordító által generált, vagy értelmezni néhány magas szintű nyelvek.

Ezek az utasítások a CPU belsejében vannak huzalozva. Az ALU aritmetikát és logikát tartalmaz, míg a vezérlőáramot a CU kezeli.

egy órajelciklusban a számítógépek egy utasítást tudnak végrehajtani, de a modern számítógépek egynél többet tudnak végrehajtani.

a számítógép által végrehajtható utasítások egy csoportját utasításkészletnek nevezik.

CPU óra

Óraciklus

a számítógép sebességét az óraciklusa határozza meg. Ez a szám az óraidők másodpercenként egy számítógép működik. Az egyórás ciklusok nagyon kicsiek, mint körül 250 * 10 *-12 sec. magasabb az óraciklus gyorsabb a processzor.

A CPU órajel ciklusát GHz-ben(Gigahertz) mérik. 1 GHz egyenlő 10 ⁹ Hz(hertz). A hertz egy másodpercet jelent. Tehát az 1gigahertz másodpercenként 10 ⁹ ciklust jelent.

minél gyorsabb az óraciklus, annál több utasítást tud végrehajtani a CPU. Clock cycle = 1 / clock rate CPU Time = száma clock cycle / clock rate

Ez azt jelenti, hogy javítsa CPU idő növelhetjük órajel vagy számának csökkentése órajel ciklusok optimalizálásával az utasítást adunk CPU. Néhány processzor képes növelni az órajel-ciklust, de mivel fizikai változások vannak, túlmelegedhet, sőt füstölhet / tüzet okozhat.

hogyan történik egy utasítás végrehajtása

Az utasítások egymás utáni sorrendben kerülnek tárolásra a RAM-on. Egy hipotetikus CPU esetében az utasítás OP kódból (működési kód), valamint memóriából vagy regiszter címből áll.

két regiszter van a vezérlőegység Utasításregiszterében (IR), amely betölti az utasítás-és utasításcímregiszter OP kódját, amely betölti a jelenleg végrehajtó utasítás címét. A CPU-n belül vannak más regiszterek is, amelyek az utasítás utolsó 4 bitjének címében tárolt értéket tárolják.

Vegyünk egy példát egy utasításkészletre, amely két számot ad hozzá. Az alábbiakban az utasításokat, valamint azok leírását. A CPU a következő utasításokat hajtja végre:

1.lépés — LOAD_A 8:

az utasítás eredetileg a RAM-ba mentésre kerül, mint mondjuk <>. Az első 4 bit az op-kód. Ez határozza meg az utasításokat. Ez az utasítás a vezérlőegység IR-jébe kerül. Az utasítás dekódolása load_A, ami azt jelenti, hogy be kell töltenie az adatokat a cím 1000 amely az utolsó 4 bit az utasítás regisztrálni A.

2.lépés — LOAD_B 2

hasonló a fenti betölti az adatokat a memória cím 2 (0010) a CPU register B.

3. lépés — ADD B a

most a következő utasítás, hogy adjunk a két számot. Itt a CU azt mondja az ALU-nak, hogy végezze el az add műveletet, majd mentse vissza az eredményt az a regisztrációhoz.

4. lépés-STORE_A 23

Ez egy nagyon egyszerű utasításkészlet, amely segít két szám hozzáadásában.

sikeresen hozzáadtunk két számot!

BUS

a CPU, a regiszter, a memória és az IO devise közötti összes adat buszon keresztül kerül továbbításra. Ahhoz, hogy betöltse az adatokat a memóriába, hogy az imént hozzáadott, a CPU helyezi a memória címét cím-busz, valamint az eredmény az összeg, hogy az adat-busz, és lehetővé teszi a megfelelő jelet a vezérlő-busz. Ily módon az adatok a busz segítségével kerülnek a memóriába.

CPU busz
Photo src: https://en.wikipedia.org/wiki/Bus_(computing) #/media/File:Computer_system_bus.svg

Cache

CPU is van egy mechanizmus, hogy prefetch az utasítást a tárolt. Mint tudjuk, több millió utasítás van, amelyet a processzor egy másodpercen belül teljesíthet. Ez azt jelenti, hogy több időt fordítanak az utasítás lekérésére a RAM-ból, mint azok végrehajtására. Tehát a CPU gyorsítótár előbeállítja az utasítások egy részét, valamint az adatokat, hogy a végrehajtás gyors legyen.

Ha a gyorsítótárban és az operációs memóriában lévő adatok eltérőek, az adatok piszkos bitként jelennek meg.

utasítás pipelining

Modern CPU használ utasítás pipelining párhuzamosítás utasítás végrehajtását. Hozd, Dekódold, Hajtsd Végre. Ha az egyik utasítás dekódolási fázisban van, a CPU feldolgozhat egy másik utasítást a lekérési fázishoz.

CPU óra ciklus
fotó forrás: https://en.wikipedia.org/wiki/Instruction_pipelining#/media/File:Pipeline, _4_stage.svg

Ez egy probléma, ha az egyik utasítás függ a másik. Tehát a processzorok végrehajtják a nem függő utasításokat más sorrendben.

többmagos számítógép

alapvetően a különböző CPU, de van néhány megosztott erőforrása, például a gyorsítótár.

teljesítmény

a CPU teljesítményét a végrehajtási idő határozza meg. Teljesítmény = 1 / végrehajtási idő

tegyük fel, hogy egy program végrehajtásához 20ms szükséges. A CPU teljesítménye 1/20 = 0.05msRelative performance = execution time 1 / execution time 2

a CPU teljesítményére vonatkozó szempont az utasítás végrehajtási ideje és a CPU órajele. Tehát egy program teljesítményének növeléséhez vagy növelnünk kell az órajel sebességét, vagy csökkentenünk kell a programban szereplő utasítások számát. A processzor sebessége korlátozott, a többmagos modern számítógépek másodpercenként több millió utasítást támogathatnak. De ha az általunk írt programnak sok útmutatása van, ez csökkenti az általános teljesítményt.

A Big O jelölés az adott bemenettel határozza meg, hogy a teljesítmény milyen hatással lesz.

sok optimalizálás történik a CPU-ban, hogy gyorsabb legyen, amennyire csak lehetséges. Bármely program írása közben meg kell fontolnunk, hogy a CPU-nak adott utasítások számának csökkentése hogyan növeli a számítógépes program teljesítményét.

érdekli az adatbázisok optimalizálása? Tudjon meg többet róla itt: https://milapneupane.com.np/2019/07/06/how-to-work-optimally-with-relational-databases/

Related Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük