Berbilang Teras lwn. Banyak Teras, atau Mengapa kita memerlukan mikropemproses berbilang teras? Pemproses Intel dan AMD. Berapa banyak teras yang terdapat di dalam pemproses?

teras CPU

Istilah "teras mikropemproses" teras pemproses) tidak mempunyai definisi yang jelas dan, bergantung pada konteks penggunaan, boleh bermakna:

  • sebahagian daripada mikropemproses yang mengandungi blok berfungsi utama.
  • satu set parameter yang mencirikan mikropemproses.
  • Cip mikropemproses (CPU atau GPU), paling kerap dibuka.
  • sebahagian daripada pemproses yang melaksanakan satu urutan arahan. Pemproses berbilang teras mempunyai berbilang teras dan oleh itu mampu melaksanakan secara bebas selari berbilang rangkaian perintah secara serentak.

Teras mikropemproses biasanya mempunyai penetapan kod sendiri (contohnya, Deschutes).

Ciri-ciri teras

Ciri-ciri kernel biasa ialah, sebagai contoh:

  • seni bina mikro;
  • bilangan unit berfungsi (ALU, FPU, saluran paip, dll.);
  • jumlah memori cache terbina dalam;
  • antara muka (logik dan fizikal);
  • frekuensi jam;
  • voltan bekalan;
  • pelesapan haba maksimum dan biasa;
  • teknologi pengeluaran;
  • kawasan kristal.

Semakan kernel

Apabila teras mikropemproses berkembang, perubahan dibuat padanya, selalunya ketara. Sebagai contoh, set arahan tambahan boleh ditambah, piawaian reka bentuk proses boleh dikurangkan, dan kekerapan jam boleh ditingkatkan. Ralat yang ditemui juga biasanya diperbetulkan. Perubahan sedemikian dipanggil semakan kernel. Inti semakan berbeza berbeza antara satu sama lain mengikut nombor semakan (contohnya, semakan Athlon XP Thoroughbred A0 dan B0), yang boleh dikodkan dalam tanda mikropemproses atau diprogramkan ke dalam kernel. Dalam kes kedua, kod nombor semakan (melangkah) boleh didapati menggunakan arahan

Pautan

Yayasan Wikimedia. 2010.

Lihat apa "teras pemproses" dalam kamus lain:

    Inti adalah sesuatu yang berpusat dan paling penting, selalunya bulat. Perkataan ini mempunyai makna yang berbeza dalam kawasan yang berbeza: Kandungan 1 Fizik nuklear 2 Biologi 3 Sains bumi 4 Sukan ... Wikipedia

    Kandungan 1 Fizik nuklear 2 Biologi 3 Sains bumi ... Wikipedia

    Istilah ini mempunyai makna lain, lihat Teras. Kernel ialah bahagian tengah sistem pengendalian (OS), menyediakan aplikasi dengan akses yang diselaraskan kepada sumber komputer, seperti masa pemproses, memori dan perkakasan luaran... ... Wikipedia

    Istilah "teras mikropemproses" tidak mempunyai definisi yang jelas dan, bergantung pada konteks penggunaan, boleh bermaksud: sebahagian daripada mikropemproses yang mengandungi blok berfungsi utama. satu set parameter yang mencirikan... ... Wikipedia

    Cache cache mikropemproses (over Ram), digunakan oleh mikropemproses komputer untuk mengurangkan purata masa capaian ke memori komputer. Adalah salah satu daripada peringkat atasan hierarki ingatan ... Wikipedia

    Adalah dicadangkan untuk menamakan semula halaman ini kepada Soket Pemproses. Penjelasan sebab dan perbincangan di halaman Wikipedia: Untuk menamakan semula / 19 Mac 2012. Mungkin nama semasanya tidak sesuai dengan norma bahasa Rusia moden dan/atau ... ... Wikipedia

    Cache (Cache bahasa Inggeris, disebut kæʃ cache) ialah penimbal perantaraan dengan akses pantas, mengandungi salinan maklumat yang disimpan dalam ingatan dengan akses yang kurang pantas, tetapi kemungkinan besar akan diminta dari sana. Akses kepada data dalam... ... Wikipedia

    Teras pemproses Sel ialah seni bina mikropemproses yang dibangunkan bersama oleh Sony, Toshiba dan IBM, yang membentuk pakatan yang dikenali sebagai "STI". Pembangunan seni bina dan prototaip pertama telah dicipta di Pusat Reka Bentuk STI untuk... ... Wikipedia

    80486 DX2 x86 (eng. Intel 80x86) seni bina pemproses dengan set nama yang sama ... Wikipedia

    - << Athlon >> Unit pemprosesan pusat... Wikipedia

Buku

  • Teras Cortex-M3 ARM The Definitive Guide, Yu D. Buku ini ialah panduan komprehensif untuk pemproses 32-bit ARM baharu, Cortex-M3. DALAM manual ini Seni bina teras pemproses diterangkan secara terperinci...

Apabila menjawab soalan tentang kesan bilangan teras dalam pemproses, saya ingin mengatakan dengan segera - prestasi komputer. Tetapi ini adalah penyederhanaan yang kuat sehinggakan ia menjadi kesilapan pada satu ketika.

Alangkah baiknya jika pengguna hanya tersilap dan tidak kehilangan apa-apa. Masalahnya ialah salah faham intipati multi-teras membawa kepada kerugian kewangan. Cuba untuk meningkatkan produktiviti, seseorang membelanjakan wang untuk pemproses dengan jumlah yang besar teras, tetapi tidak melihat perbezaannya.

Berbilang teras dan berbilang benang

Apabila kami mengkaji isu itu, kami melihat ciri pemproses Intel - alat standard Windows memaparkan bilangan teras yang berbeza. Ini disebabkan oleh kerja teknologi Hyper-Threading, yang menyediakan multi-threading.

Supaya anda tidak lagi keliru dalam konsep, mari kita selesaikan sekali dan untuk semua:

  • Berbilang teras – cip dilengkapi dengan beberapa teras seni bina fizikal. Anda boleh melihatnya dan menyentuhnya dengan tangan anda.
  • Multithreading – beberapa aliran maklumat yang diproses secara serentak.
    Teras mungkin secara fizikalnya satu, tetapi teknologi perisian berdasarkannya, dua utas pelaksanaan tugas dicipta; dua teras - empat utas, dsb.

Kesan bilangan teras pada prestasi

Peningkatan prestasi pada pemproses berbilang teras dicapai dengan memecahkan pelaksanaan tugas. mana-mana sistem moden membahagikan proses kepada beberapa utas walaupun pada pemproses teras tunggal - ini adalah bagaimana multitasking dicapai, di mana anda boleh, sebagai contoh, mendengar muzik, menaip dokumen dan bekerja dengan penyemak imbas. Aplikasi berikut suka dan sentiasa menggunakan multithreading:

  • arkib;
  • pemain media;
  • pengekod video;
  • defragmenters;
  • antivirus;
  • penyunting grafik.

Prinsip pemisahan aliran adalah penting. Jika komputer berjalan pada pemproses teras tunggal tanpa teknologi Hyper-Threading, maka sistem pengendalian serta-merta bertukar antara benang, supaya proses pengguna berjalan secara visual secara serentak. Semuanya berlaku dalam milisaat, jadi anda tidak nampak banyak kependaman melainkan anda menekan CPU dengan kuat.

Jika pemproses adalah berbilang teras (atau menyokong multi-threading), maka idealnya tidak akan ada pensuisan. Sistem menghantar benang berasingan ke setiap teras. Hasilnya adalah peningkatan produktiviti kerana tidak perlu beralih kepada tugas lain.

Tetapi terdapat satu lagi faktor penting - adakah ia menyokong dirinya sendiri? program multitasking? Sistem ini boleh membahagikan proses kepada benang yang berbeza. Walau bagaimanapun, jika anda menjalankan permainan yang sangat mencabar, tetapi ia tidak dioptimumkan untuk dijalankan pada empat teras, tidak akan ada peningkatan prestasi berbanding pemproses dwi-teras.

Pembangun permainan dan program menyedari ciri ini, jadi mereka sentiasa mengoptimumkan kod mereka untuk melaksanakan tugas pada pemproses berbilang teras. Tetapi pengoptimuman ini tidak selalu seiring dengan peningkatan bilangan teras, jadi anda tidak seharusnya membelanjakan banyak wang untuk yang terbaru pemproses yang berkuasa dengan bilangan maksimum benang yang disokong, potensi cip tidak akan didedahkan dalam 9 daripada 10 program.

Jadi berapa banyak teras yang perlu anda pilih?

Sebelum anda membeli pemproses dengan 16 teras, pertimbangkan sama ada bilangan utas itu diperlukan untuk melaksanakan tugas yang akan anda berikan kepada komputer.

  • Jika komputer dibeli untuk bekerja dengan dokumen, melayari Internet, mendengar muzik, menonton filem, maka dua teras sudah cukup. Jika anda mengambil pemproses dengan dua teras dari atas segmen harga dengan kekerapan yang baik dan sokongan berbilang benang, tidak akan ada masalah apabila bekerja dengan editor grafik.
  • Jika anda membeli mesin dengan jangkaan prestasi permainan yang berkuasa, maka segera pasang penapis untuk sekurang-kurangnya 4 teras. 8 teras dengan sokongan berbilang benang - bahagian paling atas dengan margin beberapa tahun. 16 teras adalah menjanjikan, tetapi terdapat kebarangkalian tinggi bahawa pada masa anda membuka kunci potensi cip sedemikian, ia akan menjadi usang.

Seperti yang telah saya katakan, pembangun permainan dan program cuba mengikuti kemajuan pemproses, tetapi setakat ini kuasa besar cuma tidak diperlukan. 16 teras sesuai untuk pengguna yang melakukan rendering video atau pengkomputeran pelayan. Ya, di kedai-kedai pemproses sedemikian dipanggil pemproses permainan, tetapi ini hanya supaya ia boleh dijual - pastinya terdapat lebih ramai pemain di sekeliling daripada mereka yang membuat video.

Faedah berbilang teras hanya boleh diperhatikan dengan sangat serius kerja pengkomputeran dalam beberapa utas. Jika, secara relatifnya, permainan atau program dioptimumkan untuk hanya empat utas, maka lapan teras anda pun akan menjadi kuasa tidak bermakna yang tidak akan menjejaskan prestasi dalam apa cara sekalipun.

Ia seperti mengangkut kerusi di atas trak besar - ia tidak menjadikan tugasan lebih cepat. Tetapi jika anda menggunakan peluang yang ada dengan betul (contohnya, memuatkan badan dengan perabot yang sama sekali berbeza), maka produktiviti buruh akan meningkat. Ingat perkara ini dan jangan tertipu dengan helah pemasaran yang menambahkan perkataan "permainan" pada pemproses yang, walaupun paling banyak. permainan terkini tidak akan mencapai potensi sepenuhnya.

Juga di tapak:

Apakah yang dipengaruhi oleh bilangan teras pemproses? dikemas kini: 31 Januari 2018 oleh: admin

Apabila membeli pemproses, ramai orang cuba memilih sesuatu yang lebih sejuk, dengan beberapa teras dan besar kekerapan jam. Tetapi sebilangan kecil orang tahu jumlah teras pemproses sebenarnya mempengaruhi. Mengapa, sebagai contoh, pemproses dwi-teras biasa dan ringkas boleh lebih pantas daripada pemproses empat teras, atau "peratus" yang sama dengan 4 teras lebih pantas daripada "peratus" dengan 8 teras. Ia cantik topik yang menarik, yang pastinya patut difahami dengan lebih terperinci.

pengenalan

Sebelum kita mula memahami kesan bilangan teras pemproses, saya ingin membuat penyimpangan kecil. Hanya beberapa tahun yang lalu, pembangun CPU yakin bahawa teknologi pembuatan, yang berkembang dengan begitu pesat, akan membolehkan mereka menghasilkan "batu" dengan kelajuan jam sehingga 10 GHz, yang akan membolehkan pengguna melupakan masalah dengan prestasi yang lemah. Namun, kejayaan tidak tercapai.

Tidak kira bagaimana proses teknologi berkembang, kedua-dua Intel dan AMD menghadapi batasan fizikal semata-mata yang tidak membenarkan mereka menghasilkan pemproses dengan frekuensi jam sehingga 10 GHz. Kemudian diputuskan untuk tidak menumpukan pada frekuensi, tetapi pada bilangan teras. Oleh itu, perlumbaan baru mula menghasilkan "kristal" pemproses yang lebih berkuasa dan produktif, yang berterusan sehingga hari ini, tetapi tidak seaktif pada mulanya.

Pemproses Intel dan AMD

Hari ini, Intel dan AMD adalah pesaing langsung dalam pasaran pemproses. Jika anda melihat hasil dan jualan, kelebihan yang jelas akan berada di pihak Blues, walaupun Kebelakangan ini The Reds cuba untuk bersaing. Kedua-dua syarikat mempunyai julat yang baik penyelesaian siap sedia untuk semua majlis - dari pemproses mudah dari 1-2 teras kepada raksasa sebenar, di mana bilangan teras melebihi 8. Biasanya, "batu" sedemikian digunakan pada "komputer" kerja khas yang mempunyai fokus sempit.

Intel

Jadi, hari ini Intel telah berjaya 5 jenis pemproses: Celeron, Pentium, dan i7. Setiap "batu" ini mempunyai kuantiti yang berbeza teras dan bertujuan untuk tugas yang berbeza. Sebagai contoh, Celeron hanya mempunyai 2 teras dan digunakan terutamanya pada komputer pejabat dan rumah. Pentium, atau, kerana ia juga dipanggil, "tunggul", juga digunakan di rumah, tetapi sudah mempunyai prestasi yang lebih baik, terutamanya disebabkan oleh teknologi Hyper-Threading, yang "menambah" dua lagi teras fizikal teras maya, yang dipanggil aliran. Oleh itu, "peratus" dwi-teras berfungsi seperti pemproses quad-core yang paling bajet, walaupun ini tidak sepenuhnya betul, tetapi ini adalah perkara utama.

Untuk Garis teras, maka terdapat lebih kurang keadaan yang sama di sini. Model yang lebih muda dengan nombor 3 mempunyai 2 teras dan 2 utas. Baris lama - Core i5 - sudah mempunyai 4 atau 6 teras sepenuhnya, tetapi tidak mempunyai fungsi Hyper-Threading dan tidak mempunyai utas tambahan, kecuali untuk 4-6 teras standard. Nah, perkara terakhir - teras i7 ialah pemproses teratas, yang biasanya mempunyai 4 hingga 6 teras dan dua kali lebih banyak benang, iaitu, contohnya, 4 teras dan 8 benang atau 6 teras dan 12 benang.

AMD

Sekarang patut dibincangkan tentang AMD. Senarai "kerikil" dari syarikat ini sangat besar, tidak ada gunanya menyenaraikan segala-galanya, kerana kebanyakan model hanya ketinggalan zaman. Mungkin perlu diperhatikan generasi baru, yang dalam erti kata "menyalin" Intel - Ryzen. Baris ini juga mengandungi model dengan nombor 3, 5 dan 7. Perbezaan utama daripada yang "biru" Ryzen ialah model termuda serta-merta menyediakan 4 teras penuh, manakala yang lebih tua tidak mempunyai 6, tetapi lapan. Di samping itu, bilangan benang berubah. Ryzen 3 - 4 utas, Ryzen 5 - 8-12 (bergantung pada bilangan teras - 4 atau 6) dan Ryzen 7 - 16 utas.

Perlu disebutkan satu lagi baris "merah" - FX, yang muncul pada tahun 2012, dan, sebenarnya, platform ini sudah dianggap usang, tetapi terima kasih kepada fakta bahawa kini semakin banyak lebih banyak program dan permainan mula menyokong multi-threading, talian Vishera telah mendapat semula populariti, yang, bersama-sama dengan harga yang rendah, hanya berkembang.

Nah, untuk perbahasan mengenai kekerapan pemproses dan bilangan teras, maka, sebenarnya, adalah lebih tepat untuk melihat ke arah yang kedua, kerana semua orang telah lama memutuskan frekuensi jam, dan juga model teratas daripada Intel beroperasi pada nominal 2.7, 2.8, 3 GHz. Di samping itu, kekerapan sentiasa boleh ditingkatkan menggunakan overclocking, tetapi dalam kes pemproses dwi-teras ini tidak akan memberi banyak kesan.

Bagaimana untuk mengetahui berapa banyak teras

Jika seseorang tidak tahu bagaimana untuk menentukan bilangan teras pemproses, maka ini boleh dilakukan dengan mudah dan ringkas walaupun tanpa memuat turun dan memasang berasingan program khas. Hanya pergi ke "Pengurus Peranti" dan klik pada anak panah kecil di sebelah item "Pemproses".

Mendapatkan lebih banyak maklumat terperinci Anda boleh mengetahui teknologi apa yang disokong oleh "batu" anda, kekerapan jamnya, nombor semakannya dan banyak lagi menggunakan program khas dan kecil yang dipanggil CPU-Z. Anda boleh memuat turunnya secara percuma di laman web rasmi. Terdapat versi yang tidak memerlukan pemasangan.

Kelebihan dua teras

Apakah kelebihan pemproses dwi-teras? Terdapat banyak perkara, sebagai contoh, dalam permainan atau aplikasi, dalam pembangunan yang mana kerja benang tunggal menjadi keutamaan utama. Ambil permainan Wold of Tanks sebagai contoh. Pemproses dwi-teras yang paling biasa seperti Pentium atau Celeron akan menghasilkan hasil prestasi yang agak baik, manakala sesetengah FX daripada AMD atau INTEL Core akan menggunakan lebih banyak keupayaan mereka, dan hasilnya akan lebih kurang sama.

4 teras yang lebih baik

Bagaimanakah 4 teras boleh menjadi lebih baik daripada dua? Prestasi yang lebih baik. "Batu" empat teras direka untuk kerja yang lebih serius, di mana "tunggul" atau "celeron" mudah tidak dapat mengatasinya. Contoh yang sangat baik Sebarang program untuk bekerja dengan grafik 3D akan berfungsi di sini, contohnya 3Ds Max atau Cinema4D.

Semasa proses pemaparan, program ini menggunakan sumber komputer maksimum, termasuk RAM dan pemproses. CPU dwi-teras akan menjadi sangat perlahan dalam masa pemprosesan render, dan lebih kompleks adegan, lebih lama masa yang diperlukan. Tetapi pemproses dengan empat teras akan mengatasi tugas ini dengan lebih cepat, kerana benang tambahan akan membantu mereka.

Sudah tentu, anda boleh mengambil beberapa bajet "protsyk" daripada Keluarga teras i3, sebagai contoh, model 6100, tetapi 2 teras dan 2 utas tambahan masih akan lebih rendah daripada quad-core penuh.

6 dan 8 teras

Nah, segmen terakhir berbilang teras ialah pemproses dengan enam dan lapan teras. Tujuan utama mereka, pada dasarnya, adalah sama seperti CPU di atas, hanya mereka diperlukan di mana "empat" biasa tidak dapat mengatasinya. Di samping itu, komputer khusus yang lengkap dibina berdasarkan "batu" dengan 6 dan 8 teras, yang akan "disesuaikan" untuk aktiviti tertentu, contohnya, penyuntingan video, program pemodelan 3D, menghasilkan adegan berat yang sudah siap. dengan bilangan poligon dan objek yang banyak, dsb.

Di samping itu, pemproses berbilang teras tersebut berprestasi sangat baik apabila bekerja dengan pengarkib atau dalam aplikasi yang memerlukan keupayaan pengkomputeran yang baik. Dalam permainan yang dioptimumkan untuk multi-threading, pemproses sedemikian tidak ada tandingannya.

Apakah yang dipengaruhi oleh bilangan teras pemproses?

Jadi, apakah lagi yang boleh menjejaskan bilangan teras? Pertama sekali, untuk meningkatkan penggunaan tenaga. Ya, walaupun ini mungkin terdengar mengejutkan, ia adalah benar. Tidak perlu terlalu risau, kerana dalam kehidupan seharian masalah ini, boleh dikatakan, tidak akan ketara.

Yang kedua ialah pemanasan. Lebih banyak teras, lebih baik sistem penyejukan diperlukan. Program yang dipanggil AIDA64 akan membantu anda mengukur suhu pemproses. Apabila bermula, anda perlu mengklik pada "Komputer" dan kemudian pilih "Sensor". Anda perlu memantau suhu pemproses, kerana jika ia sentiasa terlalu panas atau beroperasi pada suhu yang terlalu tinggi, maka selepas beberapa waktu ia hanya akan terbakar.

Sistem dwi-teras tidak biasa dengan masalah ini, kerana mereka tidak mempunyai banyak prestasi tinggi dan pelesapan haba, masing-masing, tetapi berbilang teras - ya. Batu yang paling hangat adalah dari AMD, terutamanya siri FX. Sebagai contoh, ambil model FX-6300. Suhu pemproses dalam program AIDA64 adalah sekitar 40 darjah dan ini dalam mod melahu. Di bawah beban, bilangan akan meningkat dan jika terlalu panas berlaku, komputer akan dimatikan. Oleh itu, apabila membeli pemproses berbilang teras, anda tidak sepatutnya melupakan penyejuk.

Apakah lagi kesan bilangan teras pemproses? Untuk multitasking. Pemproses dwi-teras tidak akan dapat memberikan prestasi yang stabil apabila menjalankan dua, tiga atau lebih program secara serentak. Contoh paling mudah ialah streamer di Internet. Selain daripada fakta bahawa mereka sedang bermain beberapa permainan tetapan tinggi, mereka mempunyai program berjalan selari yang membolehkan anda menyiarkan proses permainan ke Internet dalam talian, pelayar Internet dengan beberapa muka surat terbuka, di mana pemain, sebagai peraturan, membaca komen orang yang menontonnya dan mengikuti maklumat lain. Tidak setiap pemproses berbilang teras dapat memberikan kestabilan yang betul, apatah lagi pemproses dwi-teras dan teras tunggal.

Ia juga bernilai mengatakan beberapa perkataan yang sangat dimiliki oleh pemproses berbilang teras perkara yang berguna, yang dipanggil "L3 Cache". Cache ini mempunyai jumlah memori tertentu yang sentiasa ditulis pelbagai maklumat tentang menjalankan program, melakukan tindakan, dsb. Semua ini diperlukan untuk meningkatkan kelajuan komputer dan prestasinya. Sebagai contoh, jika seseorang sering menggunakan Photoshop, maka maklumat ini akan disimpan dalam ingatan, dan masa untuk melancarkan dan membuka program akan dikurangkan dengan ketara.

Merumuskan

Merumuskan perbualan tentang kesan bilangan teras pemproses, kita boleh sampai kepada satu perkara: kesimpulan mudah: jika diperlukan persembahan bagus, prestasi, multitasking, bekerja dalam aplikasi berat, keupayaan untuk bermain dengan selesa permainan moden dan lain-lain, maka pilihan anda ialah pemproses dengan empat teras atau lebih. Jika anda memerlukan "komputer" mudah untuk pejabat atau kegunaan rumah, yang akan digunakan sekurang-kurangnya, maka 2 teras adalah apa yang diperlukan. Walau apa pun, apabila memilih pemproses, pertama sekali anda perlu menganalisis semua keperluan dan tugas anda, dan hanya kemudian mempertimbangkan sebarang pilihan.

  • Tutorial

Dalam artikel ini saya akan cuba menerangkan terminologi yang digunakan untuk menerangkan sistem yang mampu melaksanakan beberapa program secara selari, iaitu multi-core, multi-processor, multi-threaded. Jenis paralelisme yang berbeza dalam CPU IA-32 muncul dalam masa yang berbeza dan dalam susunan yang agak tidak konsisten. Agak mudah untuk keliru dalam semua ini, terutamanya memandangkan sistem pengendalian berhati-hati menyembunyikan butiran daripada program aplikasi yang kurang canggih.

Tujuan artikel adalah untuk menunjukkan bahawa dengan semua kepelbagaian kemungkinan konfigurasi berbilang pemproses, berbilang teras dan sistem berbilang benang untuk program yang dijalankan pada mereka, peluang dicipta untuk kedua-dua abstraksi (mengabaikan perbezaan) dan mengambil kira spesifik (keupayaan untuk mengetahui konfigurasi secara pemrograman).

Amaran tentang tanda ®, ™ dalam artikel

Mine menerangkan sebab pekerja syarikat harus menggunakan notis hak cipta dalam komunikasi awam. Dalam artikel ini saya terpaksa menggunakannya dengan kerap.

CPU

Sudah tentu, istilah tertua, paling kerap digunakan dan kontroversi ialah "pemproses".

DALAM dunia moden pemproses ialah apa yang kita beli dalam kotak Runcit yang cantik atau pakej OEM yang tidak begitu bagus. Entiti yang tidak boleh dibahagikan dimasukkan ke dalam soket pada papan induk. Walaupun tidak ada penyambung dan ia tidak boleh ditanggalkan, iaitu, jika ia dipateri dengan ketat, ia adalah satu cip.

Sistem mudah alih (telefon, tablet, komputer riba) dan kebanyakan desktop mempunyai satu pemproses. Stesen kerja dan pelayan kadangkala mempunyai dua atau lebih pemproses pada satu papan induk.

Sokongan berbilang unit pemprosesan pusat dalam satu sistem memerlukan banyak perubahan dalam reka bentuknya. Sekurang-kurangnya, adalah perlu untuk menyediakannya sambungan fizikal(menyediakan berbilang soket pada papan induk), menyelesaikan isu pengenalan pemproses (lihat kemudian dalam artikel ini, serta nota saya), penyelarasan capaian memori dan penghantaran gangguan (pengawal gangguan mesti dapat menghalakan gangguan kepada berbilang pemproses) dan , sudah tentu, sokongan daripada sistem pengendalian. Malangnya, saya tidak dapat mencari sebutan dokumentari tentang penciptaan sistem berbilang pemproses pertama pada pemproses Intel, tetapi Wikipedia mendakwa bahawa Sistem Komputer Sequent membekalkannya pada tahun 1987, menggunakan pemproses Intel 80386. Sokongan untuk berbilang cip dalam satu sistem semakin meluas , bermula dengan Intel® Pentium.

Sekiranya terdapat beberapa pemproses, maka setiap daripada mereka mempunyai penyambung sendiri di papan. Setiap daripada mereka mempunyai salinan bebas lengkap semua sumber, seperti daftar, peranti pelaksanaan, cache. Mereka berkongsi memori yang sama - RAM. Memori boleh disambungkan kepada mereka dalam pelbagai cara dan bukan remeh, tetapi ini cerita lain, yang berada di luar skop artikel ini. Yang penting ialah dalam apa jua keadaan untuk program boleh laksana ilusi memori kongsi homogen yang boleh diakses daripada semua pemproses yang termasuk dalam sistem harus dicipta.


Bersedia untuk berlepas! Papan Desktop Intel® D5400XS

teras

Dari segi sejarah, berbilang teras dalam Intel IA-32 muncul lebih lewat daripada Intel® HyperThreading, tetapi dalam hierarki logik ia datang seterusnya.

Nampaknya jika sistem mempunyai lebih banyak pemproses, maka prestasinya lebih tinggi (pada tugas yang boleh menggunakan semua sumber). Walau bagaimanapun, jika kos komunikasi antara mereka terlalu tinggi, maka semua keuntungan daripada keselarian dibunuh oleh kelewatan yang lama untuk pemindahan data biasa. Inilah yang diperhatikan dalam sistem berbilang pemproses - secara fizikal dan logik mereka sangat jauh antara satu sama lain. Untuk komunikasi berkesan Dalam keadaan sedemikian, adalah perlu untuk menghasilkan bas khusus, seperti Intel® QuickPath Interconnect. Penggunaan tenaga, saiz dan harga penyelesaian akhir, tentu saja, tidak dikurangkan oleh semua ini. Penyepaduan tinggi komponen harus datang untuk menyelamatkan - litar yang melaksanakan bahagian program selari, anda perlu menyeretnya lebih dekat antara satu sama lain, sebaik-baiknya pada satu kristal. Dalam erti kata lain, satu pemproses harus mengatur beberapa teras, sama antara satu sama lain dalam segala hal, tetapi bekerja secara bebas.

Pemproses IA-32 berbilang teras pertama daripada Intel telah diperkenalkan pada tahun 2005. Sejak itu, purata bilangan teras dalam pelayan, desktop dan sekarang platform mudah alih sedang berkembang dengan mantap.

Berbeza dengan keduanya pemproses teras tunggal Dalam sistem yang sama, hanya berkongsi memori, kedua-dua teras juga boleh berkongsi cache dan sumber lain yang bertanggungjawab untuk berinteraksi dengan memori. Selalunya, cache tahap pertama kekal peribadi (setiap teras mempunyai terasnya sendiri), manakala tahap kedua dan ketiga boleh sama ada dikongsi atau berasingan. Organisasi sistem ini membolehkan anda mengurangkan kelewatan penghantaran data antara teras bersebelahan, terutamanya jika mereka sedang menjalankan tugas biasa.


Mikrograf pemproses Intel empat teras dengan nama kod Nehalem. Nukleus individu diserlahkan, cache kongsi tahap ketiga, serta pautan QPI kepada pemproses lain dan pengawal memori biasa.

Hyperthread

Sehingga kira-kira tahun 2002 satu-satunya cara Untuk mendapatkan sistem IA-32 yang mampu melaksanakan dua atau lebih program secara selari adalah dengan menggunakan sistem multipemproses. Intel® Pentium® 4 serta barisan Xeon yang diberi nama kod Foster (Netburst) diperkenalkan Teknologi baru- hyperthreads atau hyperthreads, - Intel® HyperThreading (selepas ini HT).

Tidak ada yang baru di bawah matahari. HT ialah kes khas tentang apa yang disebut dalam literatur sebagai multithreading serentak (SMT). Tidak seperti teras "sebenar", yang merupakan salinan lengkap dan bebas, dalam kes HT, hanya sebahagian daripada nod dalaman, yang bertanggungjawab terutamanya untuk menyimpan keadaan seni bina - daftar, diduplikasi dalam satu pemproses. Nod eksekutif yang bertanggungjawab untuk mengatur dan memproses data kekal tunggal, dan pada bila-bila masa digunakan oleh paling banyak satu daripada benang. Seperti teras, hyperthread berkongsi cache, tetapi dari tahap mana bergantung pada sistem tertentu.

Saya tidak akan cuba menerangkan semua kebaikan dan keburukan reka bentuk SMT secara umum dan reka bentuk HT khususnya. Pembaca yang berminat mungkin mendapati agak perbincangan terperinci teknologi dalam banyak sumber, dan, sudah tentu, dalam Wikipedia. Walau bagaimanapun, saya akan perhatikan perkara berikut perkara penting, menerangkan had semasa pada bilangan hyperthread dalam pengeluaran dunia sebenar.

Sekatan benang
Dalam kes apakah kehadiran berbilang teras "tidak adil" dalam bentuk HT wajar? Jika satu utas aplikasi tidak dapat memuatkan semua nod pelaksanaan di dalam kernel, maka mereka boleh "dipinjamkan" kepada utas lain. Ini adalah tipikal untuk aplikasi yang mempunyai kesesakan bukan dalam pengiraan, tetapi dalam akses data, iaitu, sering menjana cache miss dan perlu menunggu data dihantar dari memori. Pada masa ini, teras tanpa HT akan dipaksa untuk melahu. Kehadiran HT membolehkan anda menukar nod pelaksana bebas dengan cepat kepada keadaan seni bina yang lain (kerana ia diduakan) dan melaksanakan arahannya. Ini adalah kes khas teknik yang dipanggil kependaman bersembunyi, apabila satu operasi yang lama, semasa itu sumber yang berguna terbiar, bertopengkan oleh pelaksanaan selari tugas lain. Jika permohonan sudah ada darjat tinggi penggunaan sumber kernel, kehadiran hyperthreads tidak akan membenarkan pecutan - kernel "jujur" diperlukan di sini.

Senario biasa untuk desktop dan aplikasi pelayan, direka untuk seni bina mesin tujuan am, mempunyai potensi selari yang didayakan oleh HT. Walau bagaimanapun, potensi ini cepat digunakan. Mungkin atas sebab ini, pada hampir semua pemproses IA-32 bilangan hyperthread perkakasan tidak melebihi dua. Dalam senario biasa, keuntungan daripada menggunakan tiga atau lebih hyperthread adalah kecil, tetapi kerugian dalam saiz cetakan, penggunaan kuasa dan kosnya adalah ketara.

Situasi berbeza diperhatikan dalam tugas biasa yang dilakukan pada pemecut video. Oleh itu, seni bina ini dicirikan oleh penggunaan teknologi SMT dengan bilangan benang yang lebih besar. Oleh kerana pemproses bersama Intel® Xeon Phi (diperkenalkan pada 2010) secara ideologi dan genealogi agak hampir dengan kad video, mereka mungkin mempunyai empat hyperthreading pada setiap teras - konfigurasi unik untuk IA-32.

Pemproses logik

Daripada tiga "peringkat" selari (pemproses, teras, hyperthreads) yang diterangkan, sesetengah atau malah semua mungkin tiada dalam sistem tertentu. Ini dipengaruhi Tetapan BIOS(berbilang teras dan berbilang benang dilumpuhkan secara berasingan), ciri seni bina mikro (contohnya, HT tidak hadir dalam Intel® Core™ Duo, tetapi dikembalikan dengan keluaran Nehalem) dan peristiwa sistem (pelayan berbilang pemproses boleh dimatikan pemproses gagal jika kerosakan dikesan dan terus "terbang" pada yang selebihnya). Bagaimanakah zoo berbilang peringkat konkurensi ini boleh dilihat oleh sistem pengendalian dan, akhirnya, kepada aplikasi aplikasi?

Selanjutnya, untuk kemudahan, kami menyatakan bilangan pemproses, teras dan benang dalam sistem tertentu sebanyak tiga ( x, y, z), Di mana x ialah bilangan pemproses, y- bilangan teras dalam setiap pemproses, dan z- bilangan hyperthread dalam setiap teras. Mulai sekarang saya akan memanggil mereka bertiga topologi- istilah mapan yang mempunyai sedikit kaitan dengan cabang matematik. Kerja hlm = xyz mentakrifkan bilangan entiti yang dipanggil pemproses logik sistem. Ia mentakrifkan jumlah bilangan konteks proses aplikasi bebas dalam sistem dengan ingatan bersama melaksanakan secara selari, yang sistem pengendalian terpaksa mengambil kira. Saya katakan "terpaksa" kerana ia tidak dapat mengawal perintah pelaksanaan dua proses pada pemproses logik yang berbeza. Ini juga terpakai kepada hyperthread: walaupun ia dijalankan "berurutan" pada teras yang sama, susunan khusus ditentukan oleh perkakasan dan tidak boleh diperhatikan atau dikawal oleh program.

Selalunya, sistem pengendalian menyembunyikan daripada aplikasi akhir ciri-ciri topologi fizikal sistem di mana ia dijalankan. Sebagai contoh, tiga topologi berikut: (2, 1, 1), (1, 2, 1) dan (1, 1, 2) - OS akan mewakili dua pemproses logik, walaupun yang pertama mempunyai dua pemproses, kedua - dua teras, dan yang ketiga - hanya dua benang.


Tugas Windows Pengurus menunjukkan 8 pemproses logik; tetapi berapa banyak ia dalam pemproses, teras dan hyperthread?


Bahagian atas Linux menunjukkan 4 pemproses logik.

Ini agak mudah untuk pencipta aplikasi - mereka tidak perlu berurusan dengan ciri perkakasan yang selalunya tidak penting bagi mereka.

Takrif perisian topologi

Sudah tentu, mengabstraksikan topologi ke dalam satu bilangan pemproses logik dalam beberapa kes mewujudkan alasan yang mencukupi untuk kekeliruan dan salah faham (dalam pertikaian Internet yang hangat). Aplikasi pengkomputeran yang ingin memerah prestasi maksimum daripada perkakasan memerlukan kawalan terperinci ke atas tempat benang mereka akan diletakkan: lebih dekat antara satu sama lain pada hyperthread bersebelahan atau, sebaliknya, lebih jauh pada pemproses yang berbeza. Kelajuan komunikasi antara pemproses logik dalam teras atau pemproses yang sama jauh lebih tinggi daripada kelajuan pemindahan data antara pemproses. Kemungkinan heterogeniti dalam organisasi memori kerja juga merumitkan gambar.

Maklumat tentang topologi sistem secara keseluruhan, serta kedudukan setiap pemproses logik dalam IA-32, tersedia menggunakan arahan CPUID. Sejak kemunculan sistem berbilang pemproses yang pertama, skema pengenalan pemproses logik telah diperluaskan beberapa kali. Sehingga kini, bahagiannya terkandung dalam helaian 1, 4 dan 11 CPUID. Helaian yang mana untuk dilihat boleh ditentukan daripada carta alir berikut yang diambil daripada artikel:

Saya tidak akan membosankan anda di sini dengan semua butiran bahagian individu algoritma ini. Jika ada minat, bahagian seterusnya artikel ini boleh dikhaskan untuk ini. Saya akan merujuk pembaca yang berminat, yang meneliti isu ini dengan seberapa terperinci yang mungkin. Di sini saya akan menerangkan secara ringkas apa itu APIC dan bagaimana ia berkaitan dengan topologi. Seterusnya kita akan melihat bekerja dengan helaian 0xB (sebelas dalam perpuluhan), yang kini merupakan perkataan terakhir dalam "pembinaan apico".

ID APIC
APIC setempat (pengawal gangguan boleh atur cara lanjutan) ialah peranti (kini sebahagian daripada pemproses) yang bertanggungjawab untuk mengendalikan gangguan yang datang kepada pemproses logik tertentu. Setiap pemproses logik mempunyai APIC sendiri. Dan setiap daripada mereka dalam sistem mesti mempunyai nilai ID APIC yang unik. Nombor ini digunakan oleh pengawal sampukan untuk menangani semasa menghantar mesej, dan oleh orang lain (contohnya, sistem pengendalian) untuk mengenal pasti pemproses logik. Spesifikasi untuk pengawal gangguan ini telah berkembang daripada Intel 8259 PIC melalui Dwi PIC, APIC dan xAPIC kepada x2APIC.

Pada masa ini, lebar nombor yang disimpan dalam ID APIC telah mencapai 32 bit penuh, walaupun pada masa lalu ia terhad kepada 16, dan lebih awal - hanya 8 bit. Hari ini, tinggalan zaman dahulu bertaburan di seluruh CPUID, tetapi CPUID.0xB.EDX mengembalikan semua 32 bit ID APIC. Pada setiap pemproses logik yang melaksanakan arahan CPUID secara bebas, nilai yang berbeza akan dikembalikan.

Menjelaskan hubungan kekeluargaan
Nilai APIC ID itu sendiri tidak memberitahu anda apa-apa tentang topologi. Untuk mengetahui dua pemproses logik yang terletak di dalam satu pemproses fizikal (iaitu, ia adalah hyperthreads "bersaudara"), yang mana dua berada di dalam pemproses yang sama, dan yang mana pemproses yang sama sekali berbeza, anda perlu membandingkan nilai APIC ID mereka. Bergantung pada tahap hubungan, beberapa bit mereka akan bertepatan. Maklumat ini terkandung dalam subsenarai CPUID.0xB, yang dikodkan dalam ECX. Masing-masing menerangkan keadaan medan bit salah satu peringkat topologi dalam EAX (lebih tepat lagi, bilangan bit yang perlu dianjakkan ke kanan dalam ID APIC untuk mengalih keluar peringkat yang lebih rendah topologi), serta jenis lapisan ini - hyperthread, teras atau pemproses - dalam ECX.

Pemproses logik yang terletak di dalam teras yang sama akan mempunyai semua bit ID APIC yang sama, kecuali yang dimiliki oleh medan SMT. Untuk pemproses logik yang terletak dalam pemproses yang sama, semua bit kecuali medan Teras dan SMT. Memandangkan bilangan subhelaian untuk CPUID.0xB mungkin meningkat, skim ini akan membolehkan kami menyokong penerangan topologi dengan bilangan tahap yang lebih besar, jika keperluan timbul pada masa hadapan. Selain itu, adalah mungkin untuk memperkenalkan tahap pertengahan antara yang sedia ada.

Akibat penting daripada organisasi skim ini ialah mungkin terdapat "lubang" dalam set semua ID APIC semua pemproses logik dalam sistem, i.e. mereka tidak akan pergi secara berurutan. Sebagai contoh, dalam pemproses berbilang teras dengan HT dimatikan, semua ID APIC mungkin menjadi genap, kerana bit paling tidak ketara yang bertanggungjawab untuk pengekodan nombor hyperthread akan sentiasa menjadi sifar.

Saya perhatikan bahawa CPUID.0xB bukanlah satu-satunya sumber maklumat tentang pemproses logik yang tersedia untuk sistem pengendalian. Senarai semua pemproses yang tersedia untuknya, bersama-sama dengan nilai APIC ID mereka, dikodkan dalam jadual MADT ACPI.

Sistem pengendalian dan topologi

Sistem pengendalian menyediakan maklumat tentang topologi pemproses logik kepada aplikasi menggunakan antara muka mereka sendiri.

Di Linux, maklumat topologi terkandung dalam pseudofile /proc/cpuinfo serta output arahan dmidecode. Dalam contoh di bawah, saya menapis kandungan cpuinfo pada beberapa sistem quad-core tanpa HT, meninggalkan hanya entri yang berkaitan dengan topologi:

Teks tersembunyi

ggg@shadowbox:~$ cat /proc/cpuinfo |grep "pemproses\|fizikal\ id\|adik-beradik\|teras\|teras\|apicid" pemproses: 0 id fizikal: 0 adik-beradik: 4 id teras: 0 teras cpu: 2 apicid: 0 apicid awal: 0 pemproses: 1 id fizikal: 0 adik beradik: 4 id teras: 0 teras cpu: 2 apicid: 1 apicid awal: 1 pemproses: 2 id fizikal: 0 adik beradik: 4 id teras: 1 teras cpu: 2 apicid: 2 apicid awal: 2 pemproses: 3 id fizikal: 0 adik beradik: 4 id teras: 1 teras cpu: 2 apicid: 3 apicid awal: 3

Pada FreeBSD, topologi dilaporkan melalui mekanisme sysctl dalam pembolehubah kern.sched.topology_spec sebagai XML:

Teks tersembunyi

pengguna@hos:~$ sysctl kern.sched.topology_spec kern.sched.topology_spec: 0, 1, 2, 3, 4, 5, 6, 7 0, 1, 2, 3, 4, 5, 6, 7 0, 1 kumpulan THREADkumpulan SMT 2, 3 kumpulan THREADkumpulan SMT 4, 5 kumpulan THREADkumpulan SMT 6, 7 kumpulan THREADkumpulan SMT

Dalam MS Windows 8, maklumat topologi boleh dilihat dalam pengurus tugas Pengurus Tugas.

pengenalan.

Pemproses moden adalah kompleks dan sangat teknikal peranti logik, yang merangkumi semua kemajuan terkini dalam bidang Teknologi komputer dan bidang sains yang berkaitan.

Kebanyakan pemproses moden terdiri daripada:

  • satu atau lebih teras yang melaksanakan semua arahan;
  • beberapa tahap memori cache (biasanya 2 atau tiga tahap), mempercepatkan interaksi pemproses dengan RAM;
  • Pengawal RAM;
  • pengawal bas sistem(DMI, QPI, HT, dll.);

Dan dicirikan parameter berikut:

  • jenis seni bina mikro;
  • kekerapan jam;
  • set arahan yang akan dilaksanakan;
  • bilangan tahap memori cache dan volumnya;
  • jenis dan kelajuan bas sistem;
  • saiz perkataan yang diproses;
  • kehadiran atau ketiadaan pengawal memori terbina dalam;
  • jenis RAM yang disokong;
  • volum ingatan yang boleh dialamatkan;
  • kehadiran atau ketiadaan teras grafik terbina dalam;
  • penggunaan tenaga.

Dipermudahkan skema struktur pemproses berbilang teras moden ditunjukkan dalam Rajah 1.

Mari mulakan ulasan kami tentang reka bentuk pemproses dengan bahagian utamanya - teras.

Teras pemproses adalah bahagian utamanya, mengandungi semua blok berfungsi dan melaksanakan semua operasi logik dan aritmetik.

Rajah 1 menunjukkan gambar rajah blok teras pemproses. Seperti yang dapat dilihat dalam rajah, setiap teras pemproses terdiri daripada beberapa blok berfungsi:

  • blok pengambilan arahan;
  • blok penyahkod arahan;
  • blok pensampelan data;
  • Unit Kawalan;
  • blok pelaksanaan arahan;
  • blok untuk menyimpan hasil;
  • blok kerja dengan gangguan;
  • ROM yang mengandungi mikrokod;
  • set daftar;
  • kaunter program.

Blok pengambilan arahan membaca arahan pada alamat yang dinyatakan dalam kaunter program. Biasanya, ia membaca beberapa arahan setiap kitaran jam. Bilangan arahan baca ditentukan oleh bilangan blok penyahkodan, kerana blok penyahkodan perlu dimuatkan sebanyak mungkin pada setiap kitaran operasi. Agar unit pengambilan arahan berfungsi secara optimum, teras pemproses mempunyai peramal cawangan.

Peramal peralihan percubaan untuk menentukan urutan arahan yang akan dilaksanakan selepas peralihan telah dibuat. Ini adalah perlu untuk memuatkan saluran paip teras pemproses sebanyak mungkin selepas lompatan bersyarat.

Penyahkodan blok, seperti namanya, adalah blok yang berurusan dengan arahan penyahkodan, i.e. tentukan apa yang perlu dilakukan oleh pemproses dan apakah data tambahan yang diperlukan untuk melaksanakan arahan. Tugas ini sangat sukar untuk kebanyakan pemproses komersial moden yang dibina berdasarkan konsep CISC. Hakikatnya ialah panjang arahan dan bilangan operan tidak tetap, dan ini sangat merumitkan hayat pembangun pemproses dan membuat proses penyahkodan tugas yang tidak remeh.



Selalunya perintah kompleks individu perlu digantikan dengan mikrokod - satu siri arahan mudah, secara kolektif melakukan tindakan yang sama seperti satu arahan yang kompleks. Set mikrokod dipancarkan ke dalam ROM terbina dalam pemproses. Di samping itu, mikrokod memudahkan pembangunan pemproses, kerana tidak perlu mencipta blok kernel yang kompleks untuk melaksanakan perintah individu, dan membetulkan mikrokod adalah lebih mudah daripada membetulkan ralat dalam fungsi blok.

DALAM pemproses moden, biasanya terdapat 2-4 unit penyahkodan arahan, contohnya, dalam pemproses Intel Core 2, setiap teras mengandungi dua blok tersebut.

Blok pensampelan data ambil data daripada memori cache atau RAM yang diperlukan untuk melaksanakan arahan semasa. Biasanya setiap teras pemproses mengandungi beberapa blok pensampelan data. Sebagai contoh, pemproses Intel Core menggunakan dua sampel data untuk setiap teras.

Blok kawalan Berdasarkan arahan yang dinyahkod, ia mengawal operasi blok pelaksanaan arahan, mengagihkan beban antara mereka, dan memastikan pelaksanaan arahan yang tepat pada masanya dan betul. Ini adalah salah satu blok terpenting teras pemproses.

Blok pelaksanaan arahan termasuk beberapa jenis blok yang berbeza:

ALU – unit logik aritmetik;

FPU – peranti untuk menjalankan operasi titik terapung;

Blok untuk memproses pengembangan set arahan. Arahan Tambahan digunakan untuk mempercepatkan pemprosesan aliran data, penyulitan dan penyahsulitan, pengekodan video dan sebagainya. Untuk melakukan ini, daftar tambahan dan set logik diperkenalkan ke dalam teras pemproses. hidup masa ini Sambungan yang paling popular kepada set arahan ialah:

MMX (Sambungan Multimedia) ialah satu set arahan yang dibangunkan oleh oleh Intel, untuk mempercepatkan pengekodan dan penyahkodan penstriman data audio dan video;

SSE (Streaming SIMD Extensions) ialah satu set arahan yang dibangunkan oleh Intel untuk melaksanakan urutan operasi yang sama pada set data sambil menyelaraskan proses pengkomputeran. Set arahan sentiasa diperbaiki, dan pada masa ini terdapat semakan: SSE, SSE2, SSE3, SSSE3, SSE4;

ATA (Application Targeted Accelerator) ialah satu set arahan yang dibangunkan oleh Intel untuk mempercepatkan kerja perisian dan mengurangkan penggunaan tenaga apabila bekerja dengan program sedemikian. Arahan ini boleh digunakan, sebagai contoh, semasa mengira jumlah semak atau pengambilan data;

3DNow ialah set arahan yang dibangunkan oleh AMD untuk mengembangkan keupayaan set arahan MMX;

AES (Advanced Encryption Standard) ialah satu set arahan yang dibangunkan oleh Intel untuk mempercepatkan operasi aplikasi yang menggunakan penyulitan data menggunakan algoritma yang sama.

Blok penjimatan keputusan memastikan bahawa hasil pelaksanaan arahan direkodkan dalam RAM pada alamat yang dinyatakan dalam arahan yang sedang diproses.

Sekatan gangguan. Bekerja dengan gangguan adalah salah satu daripada tugas paling penting pemproses, membolehkannya bertindak balas tepat pada masanya kepada acara, mengganggu kemajuan program dan melaksanakan tindakan yang diperlukan daripadanya. Terima kasih kepada kehadiran gangguan, pemproses mampu melakukan operasi pseudo-selari, i.e. kepada apa yang dipanggil multitasking.

Gangguan dikendalikan seperti berikut. Pemproses menyemak permintaan gangguan sebelum memulakan setiap kitaran. Jika terdapat gangguan untuk diproses, pemproses menyimpan pada tindanan alamat arahan yang sepatutnya dilaksanakan dan data yang diterima selepas pelaksanaan arahan terakhir, dan meneruskan untuk melaksanakan fungsi pengendalian gangguan.

Selepas fungsi pemprosesan sampukan selesai dilaksanakan, data yang disimpan padanya dibaca daripada timbunan, dan pemproses menyambung semula melaksanakan tugas yang dipulihkan.

Mendaftar– RAM ultra-pantas (akses kepada pendaftaran beberapa kali akses yang lebih pantas ke memori cache) volum kecil (beberapa ratus bait), termasuk dalam pemproses, untuk simpanan sementara keputusan pertengahan mengikut arahan. Daftar pemproses dibahagikan kepada dua jenis: daftar tujuan umum dan daftar khas.

Daftar tujuan am digunakan semasa melakukan aritmetik dan operasi logik, atau operasi tertentu set tambahan arahan (MMX, SSE, dll.).

Mendaftar tujuan khas mengandungi data sistem yang diperlukan untuk pemproses beroperasi. Daftar sedemikian termasuk, sebagai contoh, daftar kawalan, daftar alamat sistem, daftar penyahpepijatan, dsb. Akses kepada daftar ini dikawal dengan ketat.

Kaunter program– daftar yang mengandungi alamat arahan yang pemproses akan mula melaksanakan pada kitaran jam seterusnya.