Sel memori, port dan daftar. Struktur logik RAM dalam bentuk grafik

Umum skema struktur pemproses

prinsip von Neumann

Kuliah 3

Prinsip Von Neumann. ALU. Program sebagai urutan kod arahan. Alamat sel memori. Daftar pemproses. Bagaimana pemproses menambah dua nombor.

Majoriti komputer moden adalah berdasarkan prinsip yang dirumuskan oleh saintis Amerika, salah seorang bapa sibernetik, John von Neumann. Prinsip-prinsip ini pertama kali diterbitkan oleh von Neumann pada tahun 1945 dalam cadangannya untuk mesin EDVAC. Komputer ini adalah salah satu mesin atur cara yang disimpan pertama, i.e. dengan atur cara yang disimpan dalam ingatan mesin, dan tidak dibaca daripada kad tebuk atau lain-lain peranti serupa. Secara umum, prinsip ini bermuara kepada perkara berikut:

1) Blok utama mesin von Neumann ialah unit kawalan, unit aritmetik-logik, memori dan peranti input-output.

2) Maklumat dikodkan dalam bentuk binari dan dibahagikan kepada unit yang dipanggil perkataan.

3) Algoritma dipersembahkan dalam bentuk urutan perkataan kawalan yang menentukan maksud operasi. Kata-kata kawalan ini dipanggil perintah. Satu set arahan yang mewakili algoritma dipanggil program.

4) Program dan data disimpan dalam memori yang sama. Perkataan heterogen berbeza dalam cara ia digunakan, tetapi tidak dalam cara ia dikodkan.

5) Peranti kawalan dan peranti aritmetik biasanya digabungkan menjadi satu, dipanggil pemproses pusat. Mereka menentukan tindakan yang perlu dilakukan dengan membaca arahan daripada memori capaian rawak. Pemprosesan maklumat yang ditetapkan oleh algoritma datang kepada pelaksanaan berurutan arahan dalam susunan yang ditentukan secara unik oleh atur cara.

Komputer yang dibina berdasarkan prinsip ini dipanggil mesin von Neumann.

Pemproses ialah cip pusat komputer yang menjalankan operasi pemprosesan maklumat dan pengurus kerja peranti komputer lain.

Pemproses adalah cip dengan sebilangan besar sesentuh, mempunyai bentuk segi empat tepat atau segi empat sama dan mudah dipasang di tapak tangan anda.

Pencipta mikropemproses sebagai litar di mana hampir semua elektronik asas komputer dipasang adalah orang Amerika. syarikat INTEL, yang mengeluarkan pemproses 8008 pada tahun 1970. Sejarah komputer generasi keempat bermula dengan penampilannya.

Dalam kerjanya, pemproses menggunakan daftar - sel memori yang terletak di dalam pemproses. Rajah menunjukkan skim umum pemproses.

Gambarajah blok am pemproses

Pemproses dibahagikan kepada dua bahagian:

peranti pengendalian(OU) Dan antara muka bas (BHI) .


Tujuan op-amp - pelaksanaan perintah, dan SHI menyediakan arahan dan data untuk pelaksanaan. Op-amp mengandungi:

unit logik aritmetik (ALU)- "bertanggungjawab" untuk melaksanakan arahan,

peranti kawalan (CU)- mendapatkan semula arahan daripada memori, menghantarnya ke ALU dan mengalihkan hasil yang diperoleh ke sel memori yang diperlukan;

10 daftar- digunakan dalam pengiraan.

Peranti ini menyediakan pelaksanaan perintah, pengiraan aritmetik dan operasi logik.

Tiga elemen SHI - unit kawalan bas, baris perintah dan daftar segmen - laksanakan fungsi berikut:

memindahkan data ke op-amp, ke memori dan ke peranti luaran I/O;

pengalamatan memori menggunakan empat daftar segmen;

mengambil arahan yang diperlukan untuk pelaksanaan daripada memori ke dalam baris gilir arahan.

Komputer mempunyai dua jenis ingatan dalaman. Ingatan yang berterusan(ROM atau ROM - ingatan baca sahaja). Ia adalah cip khas, dari mana hanya bacaan yang mungkin, kerana data di dalamnya "dibakar" dengan cara yang istimewa dan tidak boleh diubah suai. Tujuan utamanya: prosedur sokongan bootstrap, prestasi pelbagai cek dan lain-lain. Untuk tujuan pengaturcaraan, kebanyakan elemen penting ROM ialah BIOS (Sistem Input/Output Asas) - sistem input/output asas.

Memori yang ditangani oleh pengaturcara dipanggil RAM (memori akses rawak) - memori akses rawak. Kandungannya boleh dibaca dan ditulis. Di sinilah program dan data disimpan semasa komputer sedang berjalan.

Peranti pemprosesan maklumat utama dalam komputer ialah unit logik aritmetik (ALU). Asasnya ialah litar elektronik yang terdiri daripada sejumlah besar transistor, dipanggil penambah. Penambah melakukan logik yang paling mudah dan operasi aritmetik atas data yang diwakili sebagai kod binari (sifar dan satu). Operasi logik termasuk pendaraban logik (operasi DAN), penambahan logik (operasi ATAU), dan penolakan logik (operasi BUKAN). Hasil daripada operasi pendaraban logik ialah 1 jika semua pembolehubah input ialah 1, dan 0 jika sekurang-kurangnya satu daripadanya ialah 0. Mengingat bahawa 1 dimodelkan oleh isyarat elektrik, dan 0 dengan ketiadaan isyarat, kita boleh mengatakan bahawa output peranti akan isyarat elektrik jika dan hanya jika isyarat hadir pada setiap input:

Hasil operasi penambahan logik ialah 0 jika semua pembolehubah asal sama dengan sifar, dan 1 jika sekurang-kurangnya satu daripadanya sama dengan 1. Hasil operasi penolakan logik ialah 1 jika input adalah 0, dan 0 jika input ialah -1.

Berdasarkan ketiga-tiga operasi ini, operasi aritmetik boleh dilakukan pada nombor yang diwakili sebagai sifar dan satu. Asas teori kerana ini adalah undang-undang yang dibangunkan pada tahun 1847 oleh ahli matematik Ireland George Boole, yang dikenali sebagai algebra Boolean, yang hanya menggunakan dua nombor - 0 dan 1. Sebelum ini, dipercayai bahawa karya Boole ini tidak diperlukan oleh sesiapa sahaja, dan pengarangnya telah dikenakan cemuhan. Walau bagaimanapun, pada tahun 1938, jurutera Amerika Claude Shannon meletakkan Algebra Boolean asas teori litar penambah pensuisan elektrik dan elektronik, penciptaan yang membawa kepada kemunculan komputer yang mampu melakukan pengiraan aritmetik secara automatik.

Semua operasi lain yang dilakukan oleh komputer turun ke sebilangan besar aritmetik mudah dan operasi logik, sama seperti cara operasi darab boleh dikurangkan kepada sejumlah besar operasi tambah.

Dalam komputer moden, unit aritmetik-logik digabungkan dengan peranti kawalan ke dalam satu litar - CPU .

Dalam sistem komputer, pengurusan memori adalah berdasarkan konsep yang sangat mudah. Pada asasnya, semua memori komputer yang perlu dilakukan adalah menyimpan satu bit maklumat supaya ia boleh diambil kemudian.

Salah satu elemen utama komputer yang membolehkannya berfungsi secara normal ialah ingatan. Memori dalaman komputer adalah tempat maklumat yang berfungsi dengannya disimpan. Memori dalaman komputer ialah ruang kerja sementara; tidak seperti dia ingatan luaran, seperti fail pada cakera liut, direka bentuk untuk penyimpanan maklumat jangka panjang. Maklumat dalam memori dalaman tidak disimpan apabila kuasa dimatikan.

Setiap sel memori mempunyai alamat yang digunakan untuk mencarinya. Alamat - ini adalah nombor bermula dari sifar untuk sel pertama, meningkat ke arah sel memori terakhir. Oleh kerana alamat adalah sama dengan nombor, komputer boleh menggunakan operasi aritmetik untuk mengira alamat memori.

Seni bina setiap komputer mengenakan sekatan sendiri pada saiz alamat. Alamat terbesar yang mungkin menentukan berapa banyak ruang alamat yang ada pada komputer, atau berapa banyak memori yang boleh digunakannya. Biasanya, komputer menggunakan kurang memori daripada keupayaan menanganinya. Jika seni bina komputer membenarkan ruang alamat terbesar, ini meletakkan sekatan yang teruk pada keupayaan komputer tersebut. Alamat dalam 8088 adalah 20 bit panjang, jadi pemproses boleh menangani dua hingga kuasa kedua puluh bait, atau 1024K.

Struktur dan prinsip operasi RAM

RAM ialah komponen penting mana-mana sistem komputer, memori ini menyimpan data yang diperlukan untuk operasi keseluruhan sistem dalam detik tertentu masa. Apabila mencipta cip RAM, memori dinamik digunakan, yang lebih perlahan tetapi lebih murah daripada memori statik, yang digunakan untuk mencipta memori cache pemproses.

Apakah yang terdiri daripada teras RAM?

Inti cip RAM terdiri daripada sejumlah besar sel memori, yang digabungkan menjadi jadual segi empat tepat - matriks. Bar mendatar matriks dipanggil garisan, dan menegak lajur. Keseluruhan segi empat tepat matriks dipanggil muka surat, dan koleksi halaman dipanggil bank .

Garis mendatar dan menegak adalah konduktor, di persimpangan mendatar dan garis menegak dan adalah sel ingatan .

Apakah sel memori terdiri daripada?

Sel memori terdiri daripada satu transistor kesan medan dan satu kapasitor. Kapasitor bertindak sebagai stor maklumat; ia boleh menyimpan satu bit data, iaitu, sama ada yang logik (apabila ia dicas) atau sifar logik (apabila ia dinyahcas). Transistor memainkan peranan kunci elektrik, yang sama ada menahan cas pada kapasitor atau terbuka untuk membaca.

Penjanaan semula ingatan

Kapasitor, yang berfungsi sebagai stor data, mempunyai dimensi mikroskopik dan, akibatnya, kapasiti kecil, dan kerana ini, ia tidak dapat menyimpan cas yang diberikan kepadanya untuk masa yang lama, kerana pelepasan diri. Untuk memerangi masalah ini, gunakan penjanaan semula ingatan, yang, dengan pada selang waktu tertentu membaca sel dan menulis semula. Terima kasih kepada fenomena ini, ingatan ini dipanggil dinamik.

Bacaan ingatan

Jika kita perlu membaca ingatan, maka garisan tertentu halaman memori, isyarat dihantar yang membuka transistor dan berlalu cas elektrik, yang terkandung (atau tidak terkandung) dalam kapasitor pada lajur yang sepadan. Penguat sensitif disambungkan ke setiap lajur, yang bertindak balas kepada aliran kecil elektron yang dilepaskan daripada kapasitor. Tetapi ada nuansa di sini - isyarat yang digunakan pada baris matriks membuka semua transistor baris tertentu, kerana semuanya disambungkan ke baris tertentu, dan dengan itu keseluruhan baris dibaca. Berdasarkan perkara di atas, menjadi jelas bahawa garis dalam ingatan adalah nilai minimum untuk membaca - adalah mustahil untuk membaca satu sel tanpa menjejaskan yang lain.

Proses membaca ingatan adalah merosakkan, kerana kapasitor baca menyerahkan semua elektronnya supaya ia boleh didengari oleh penguat sensitif. Oleh itu, selepas setiap bacaan baris, ia mesti ditulis semula.

Antara muka memori

Bahagian antara muka memori harus mempunyai talian alamat dan talian data. Garis alamat menghala ke alamat sel, dan garisan data membaca dan menulis memori.

Jangan lupa pergi

belakang minggu lepas Saya menerangkan kepada orang dua kali bagaimana bekerja dengan memori dalam x86 diatur, supaya tidak perlu menjelaskan untuk kali ketiga saya menulis artikel ini.

Oleh itu, untuk memahami organisasi ingatan, anda perlu mengetahui beberapa perkara konsep asas, seperti daftar, tindanan, dsb. Saya akan cuba menerangkan perkara ini secara terperinci sepanjang perjalanan, tetapi secara ringkas kerana ini bukan topik untuk artikel ini. Jadi, mari kita mulakan.

Seperti yang diketahui oleh pengaturcara, semasa menulis program dia tidak bekerja dengan alamat fizikal, tetapi hanya dengan alamat yang logik. Dan hanya jika dia atur cara dalam assembler. Dalam C yang sama, sel memori telah disembunyikan daripada pengaturcara dengan penunjuk, untuk kemudahannya sendiri, tetapi secara kasarnya, penunjuk adalah satu lagi perwakilan alamat memori logik, dan di Jawa tidak ada penunjuk, bahasa yang sama sekali tidak baik. Walau bagaimanapun, pengaturcara yang cekap akan mendapat manfaat daripada pengetahuan tentang cara ingatan disusun, sekurang-kurangnya pada tahap umum. Secara umum, pengaturcara yang tidak tahu cara mesin berfungsi benar-benar membuat saya kecewa, biasanya ini pengaturcara Java dan lelaki PHP lain dengan kelayakan di bawah taraf.

Okay, cukup dengan perkara yang menyedihkan, mari kita mula berniaga.
Pertimbangkan ruang alamat mod program 32 pemproses bit(untuk 64 bit semuanya sama)
Ruang alamat mod ini akan terdiri daripada 2^32 sel memori bernombor dari 0 hingga 2^32-1.
Pengaturcara bekerja dengan ingatan ini, jika dia perlu mentakrifkan pembolehubah, dia hanya mengatakan sel memori dengan alamat ini dan ini akan mengandungi jenis data ini dan itu, manakala pengaturcara sendiri mungkin tidak tahu berapa nombor sel ini, dia hanya akan menulis sesuatu seperti:
data int = 10;
Komputer akan memahaminya dengan cara ini: anda perlu mengambil beberapa sel dengan nombor ratus ratus dan letakkan nombor integer 10 di dalamnya. Selain itu, anda tidak akan tahu tentang alamat sel 18894, ia akan disembunyikan daripada anda.

Semuanya akan baik-baik saja, tetapi persoalan timbul, bagaimana komputer mencari sel memori ini, kerana ingatan kita mungkin berbeza:
Cache tahap 3
Cache tahap 2
1 tahap cache
ingatan utama
HDD

Itu sahaja kenangan yang berbeza, tetapi komputer mudah mencari yang mana antaranya mengandungi pembolehubah data int kami.
Isu ini diselesaikan oleh sistem pengendalian bersama-sama dengan pemproses.
Keseluruhan artikel seterusnya akan ditumpukan kepada analisis kaedah ini.

Seni bina x86 menyokong timbunan.

Timbunan ialah kawasan berterusan RAM yang disusun mengikut prinsip timbunan plat, anda tidak boleh mengambil plat dari tengah timbunan, anda hanya boleh mengambil bahagian atas dan anda hanya boleh meletakkan pinggan di bahagian atas timbunan itu.
Dalam pemproses, kod mesin khas disusun untuk bekerja dengan timbunan, mnemonik pemasangan yang kelihatan seperti ini:

Tolak operan
menolak operan ke atas timbunan

Pop operan
memaparkan nilai dari bahagian atas tindanan dan meletakkannya ke dalam operannya

Tindanan dalam ingatan berkembang dari atas ke bawah, yang bermaksud bahawa apabila anda menambah nilai padanya, alamat bahagian atas tindanan berkurangan dan apabila anda muncul daripadanya, alamat bahagian atas tindanan meningkat.

Sekarang mari kita lihat secara ringkas apa itu daftar.
Ini adalah sel memori dalam pemproses itu sendiri. Ini adalah jenis memori terpantas dan paling mahal; apabila pemproses melakukan beberapa operasi dengan nilai atau dengan memori, ia mengambil nilai ini terus dari daftar.
Pemproses mempunyai beberapa set logik, setiap satunya mempunyai kod mesin sendiri dan set daftar sendiri.
Daftar atur cara asas Daftar ini digunakan oleh semua atur cara untuk memproses data integer.
Daftar Unit Titik Terapung (FPU) Daftar ini beroperasi pada data titik terapung.
Terdapat juga daftar MMX dan XMM, daftar ini digunakan apabila anda perlu melaksanakan satu arahan pada jumlah yang besar operan

Mari kita lihat dengan lebih dekat daftar program utama. Ini termasuk lapan daftar 32-bit tujuan am: EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP
Untuk meletakkan data ke dalam daftar, atau untuk mengalih keluar data daripada daftar ke sel memori, gunakan perintah mov:

Mov eax, 10
memuatkan nombor 10 ke dalam daftar eax.

Data mov, ebx
menyalin nombor yang terkandung dalam daftar ebx ke lokasi memori data.

Daftar ESP mengandungi alamat bahagian atas timbunan.
Sebagai tambahan kepada daftar tujuan umum, daftar program utama termasuk enam daftar segmen 16-bit: CS, DS, SS, ES, FS, GS, EFLAGS, EIP
EFLAGS memaparkan bit, dipanggil bendera, yang mencerminkan keadaan pemproses atau mencirikan kemajuan arahan sebelumnya.
Daftar EIP mengandungi alamat arahan seterusnya yang akan dilaksanakan oleh pemproses.
Saya tidak akan menerangkan daftar FPU, kerana kami tidak memerlukannya. Jadi penyimpangan singkat kita tentang daftar dan timbunan sudah berakhir, mari kita kembali ke organisasi memori.

Seperti yang anda ingat, tujuan artikel adalah untuk bercakap tentang menukar memori logik kepada ingatan fizikal; sebenarnya, terdapat peringkat pertengahan dan rantaian lengkap kelihatan seperti ini:

Alamat logik --> Linear (maya) --> Fizikal
Keseluruhan ruang alamat linear dibahagikan kepada segmen. Setiap ruang alamat proses mempunyai sekurang-kurangnya tiga segmen:
Segmen kod.(mengandungi arahan daripada program kami yang akan dilaksanakan.)
Segmen data.(Mengandungi data, iaitu pembolehubah)
segmen timbunan, yang saya tulis di atas.


Alamat linear dikira menggunakan formula:
alamat linear = Alamat asas segmen (dalam gambar ini adalah permulaan segmen) + offset
Segmen kod
Alamat asas segmen kod diambil daripada daftar CS. Nilai offset untuk segmen kod diambil daripada daftar EIP, yang menyimpan alamat arahan, selepas pelaksanaan yang mana nilai EIP meningkat mengikut saiz arahan ini. Jika arahan mengambil 4 bait, maka nilai EIP dinaikkan sebanyak 4 bait dan sudah pun menunjuk ke arahan berikut. Semua ini dilakukan secara automatik tanpa penyertaan pengaturcara.
Mungkin terdapat beberapa segmen kod dalam ingatan kita. Dalam kes kami hanya ada satu.
Segmen data
Data dimuatkan ke dalam daftar DS, ES, FS, GS
Ini bermakna terdapat sehingga 4 segmen data. Dalam gambar kami dia bersendirian.
Offset dalam segmen data ditentukan sebagai operan arahan. Secara lalai, segmen yang ditunjukkan oleh daftar DS digunakan. Untuk memasuki segmen lain, anda mesti menunjukkan ini secara langsung dalam perintah awalan penggantian segmen.
Segmen timbunan
Segmen tindanan yang digunakan ditentukan oleh nilai daftar SS.
Offset dalam segmen ini diwakili oleh daftar ESP, yang menghala ke bahagian atas timbunan, seperti yang anda ingat.
Segmen dalam ingatan boleh bertindih antara satu sama lain, lebih-lebih lagi alamat pangkalan daripada semua segmen mungkin bertepatan, contohnya, pada sifar. Kes merosot ini dipanggil perwakilan ingatan linear. DALAM sistem moden, ingatan biasanya disusun dengan cara ini.

Sekarang mari kita lihat definisi alamat asas segmen, saya menulis bahawa ia terkandung dalam daftar SS, DS, CS, tetapi ini tidak sepenuhnya benar, ia mengandungi pemilih 16-bit tertentu yang menunjuk ke segmen tertentu deskriptor, yang sudah menyimpan alamat yang diperlukan.


Inilah rupa pemilih; tiga belas bitnya mengandungi indeks deskriptor dalam jadual deskriptor. Tidak sukar untuk mengira bahawa 2^13 = 8192 adalah jumlah maksimum deskriptor dalam jadual.
Secara umum, terdapat dua jenis jadual deskriptor GDT dan LDT Yang pertama dipanggil jadual deskriptor global, sentiasa ada hanya satu daripadanya dalam sistem, alamat permulaannya, atau lebih tepatnya alamat deskriptor sifarnya, disimpan dalam Daftar sistem 48-bit GDTR. Dan dari saat sistem bermula, ia tidak berubah dan tidak mengambil bahagian dalam pertukaran.
Tetapi nilai deskriptor mungkin berubah. Jika pemilih mengandungi bit TI sama dengan sifar, kemudian pemproses hanya pergi ke GDT dan mencari indeks untuk deskriptor yang diperlukan untuk mengakses segmen ini.
Setakat ini semuanya mudah, tetapi jika TI ialah 1 maka ini bermakna LDT akan digunakan. Terdapat banyak jadual ini, tetapi ia digunakan dalam masa ini akan menjadi orang yang pemilihnya dimuatkan ke dalam daftar sistem LDTR, yang, tidak seperti GDTR, boleh berubah.
Indeks pemilih menghala ke deskriptor, yang tidak lagi menunjuk ke alamat asas segmen, tetapi ke memori di mana jadual deskriptor tempatan disimpan, atau sebaliknya. unsur sifar. Jadi, semuanya sama seperti GDT. Dengan cara ini, semasa operasi, jadual tempatan boleh dibuat dan dimusnahkan mengikut keperluan. LDT tidak boleh mengandungi deskriptor kepada LDT lain.
Jadi kita tahu bagaimana pemproses sampai ke deskriptor, dan mari kita lihat apa yang terkandung dalam deskriptor ini dalam gambar:

Deskriptor terdiri daripada 8 bait.
Bit 15-39 dan 56-63 mengandungi alamat asas linear bagi segmen yang diterangkan oleh deskriptor segmen ini. Biar saya ingatkan anda tentang formula kami untuk mencari alamat linear:

alamat linear = alamat asas + offset
Dengan operasi mudah ini, pemproses boleh mengakses ke alamat yang betul ingatan linear.
Mari kita lihat bit deskriptor yang lain, Had atau had Segmen adalah sangat penting, ia mempunyai nilai 20-bit dari 0-15 dan 48-51 bit. Had menentukan saiz segmen. Untuk segmen data dan kod, semua alamat yang terletak dalam selang itu tersedia:
[asas; asas+had)
Bergantung pada 55 G-bit (granularity), had boleh diukur dalam bait dengan nilai bit sifar dan kemudian had maksimum ialah 1 MB, atau dengan nilai 1, had diukur dalam halaman, setiap satunya ialah 4 KB. Dan saiz maksimum Segmen ini akan menjadi 4GB.
Untuk segmen tindanan, had akan berada dalam julat:
(asas+had; atas]
By the way, saya tertanya-tanya mengapa asas dan had terletak sangat bergerigi dalam deskriptor. Hakikatnya ialah pemproses x86 dibangunkan secara evolusi dan pada zaman 286x deskriptor adalah 8 bit secara keseluruhan, manakala 2 bait tertinggi telah dikhaskan, tetapi dalam model pemproses berikutnya, dengan peningkatan kapasiti bit, deskriptor juga berkembang, tetapi untuk menjimatkan keserasian ke belakang Saya terpaksa meninggalkan struktur seperti sedia ada.
Nilai alamat "atas" bergantung pada bit ke-54 D, jika ia 0, maka bahagian atas ialah 0xFFF(64kb-1), jika bit D ialah 1, maka bahagian atas ialah 0xFFFFFFFF (4Gb-1)
Dari 41-43 bit jenis segmen dikodkan.
000 - segmen data, baca sahaja
001 - segmen data, baca dan tulis
010 - segmen tindanan, baca sahaja
011 - susun segmen, baca dan tulis
100 - segmen kod, pelaksanaan sahaja
101 - segmen kod, baca dan laksana
110 - segmen kod hamba, pelaksanaan sahaja
111 - segmen kod hamba, laksana dan baca sahaja

44 S bit jika sama dengan 1 maka deskriptor menerangkan segmen sebenar RAM, jika tidak nilai bit S ialah 0.

Bit yang paling penting ialah bit kehadiran P ke-47. Jika bit sama dengan 1, ini bermakna segmen atau jadual deskriptor tempatan dimuatkan ke dalam RAM, jika bit ini adalah 0, maka ini bermakna segmen ini tiada dalam RAM, ia terletak pada cakera keras, gangguan berlaku. , kes khas operasi pemproses memulakan pengendali Majlis khas, yang memuatkan segmen yang dikehendaki daripada cakera keras ke dalam ingatan, jika P bit ialah 0, maka semua medan deskriptor kehilangan maknanya dan menjadi bebas untuk menyimpan maklumat perkhidmatan di dalamnya. Selepas pengendali menyelesaikan kerjanya, bit P ditetapkan kepada 1, dan deskriptor diakses semula, yang segmennya sudah ada dalam ingatan.

Ini menyimpulkan penukaran alamat logik kepada satu linear, dan saya fikir kita harus berhenti di situ. Kali seterusnya saya akan membincangkan bahagian kedua penukaran linear kepada fizikal.
Dan saya juga fikir ia patut dibincangkan sedikit tentang menghantar argumen fungsi, dan tentang meletakkan pembolehubah dalam ingatan, supaya terdapat beberapa hubungan dengan realiti, kerana meletakkan pembolehubah dalam ingatan adalah sesuatu yang anda perlu berurusan dalam kerja anda, dan bukan hanya untuk apa -spekulasi teori pengaturcara sistem. Tetapi tanpa memahami bagaimana memori berfungsi, adalah mustahil untuk memahami bagaimana pembolehubah yang sama ini disimpan dalam ingatan.
Secara umum, saya harap ia menarik dan jumpa lagi.

Kementerian Pendidikan dan Sains Wilayah Nizhny Novgorod

Belanjawan negeri institusi pendidikan

purata pendidikan vokasional

"Kolej Wilayah Bor"

Keistimewaan 230701 Informatik Gunaan(mengikut industri)

Esei

Mengenai topik: Struktur RAM.

Disiplin: Sistem pengendalian dan persekitaran.

Selesai:

pelajar gr. IT-41

Rodov A.E.

Disemak:

Markov A.V.

Daerah bandar Bor

201 5

pengenalan

Memori capaian rawak(daripada Memori Akses Rawak Inggeris) memori dengan akses rawak. RAM ( memori capaian rawak)tidak menentu sebahagian daripada sistem ingatan komputer, di mana fail boleh laku disimpan semasa komputer sedang berjalan. kod mesin ( program), dan

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

input, output data perantaraan yang diproses oleh pemproses.

  1. Struktur RAM

RAM terdiri daripada sel, setiap satunya boleh mengandungi unit maklumat - perkataan mesin. Setiap sel mempunyai dua ciri: alamat dan kandungan. Melalui daftar alamat mikropemproses, anda boleh mengakses mana-mana sel memori.

  1. Model ingatan segmen

Suatu ketika dahulu, di awal kelahiran kelengkapan komputer, RAM adalah sangat kecil dan 2 bait (yang dipanggil "perkataan") digunakan untuk menanganinya. Pendekatan ini memungkinkan untuk menangani memori 64 KB, dan pengalamatan adalah linear - satu nombor digunakan untuk menunjukkan alamat. Kemudian, apabila teknologi bertambah baik, pengeluar menyedari bahawa adalah mungkin untuk menyokong jumlah memori yang lebih besar, tetapi untuk melakukan ini mereka perlu menjadikan saiz alamat lebih besar. Untuk keserasian dengan perisian yang sudah ditulis, ia telah memutuskan untuk melakukan ini: pengalamatan kini dua komponen (segmen dan offset), setiap satunya adalah 16-bit, dan program lama, kerana mereka menggunakan satu komponen 16-bit dan tidak tahu apa-apa tentang segmen, teruskan kerja

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

Struktur logik RAM

Ruang alamat ialah satu set alamat yang boleh dihasilkan oleh pemproses. Untuk apa? Soalan yang baik. Hakikatnya ialah setiap sel memori mempunyai alamat. Dan untuk membaca (atau menulis) maklumat yang disimpan di dalamnya, anda perlu mengaksesnya di alamatnya. Alamat terbahagi kepada maya (logik) dan fizikal. Alamat fizikal ini adalah alamat sebenar sel memori sebenar. Program sangat selari dengan alamat sedemikian, kerana ia beroperasi dengan nama simbolik, yang kemudiannya ditukar menjadi alamat maya oleh penterjemah. Kemudian alamat maya ditukar kepada alamat fizikal.

Alamat logik diwakili dalam bentuk perenambelasan dan terdiri daripada dua bahagian. Secara logiknya, RAM dibahagikan kepada segmen. Jadi bahagian pertama alamat logik ialah permulaan segmen, dan bahagian kedua ialah offset dari permulaan ini (segmen, offset)

Struktur logik dibahagikan kepada 5 zon:

1. Ingatan konvensional ingatan utama;

Bermula pada alamat 00000 (0000:0000) dan naik ke 90000 (9000:0000). Ini memerlukan 640 KB. Pertama sekali, jadual vektor sampukan dimuatkan ke dalam kawasan ini, bermula dari 00000 dan menduduki 1 KB, diikuti dengan data daripada BIOS (kaunter pemasa, penimbal papan kekunci, dsb.), dan kemudian semua jenis program 16-bit DOS (bagi mereka, 640 KB adalah penghalang di mana hanya program 32-bit boleh melompat). Untuk data BIOS dan 768 bait diperuntukkan.
2. UMA (Kawasan Memori Atas ) ingatan atas;

Bermula dari alamat A0000 dan sehingga FFFFF . Ia mengambil masa 384 KB. Maklumat berkaitan perkakasan komputer dimuatkan di sini. UMA boleh dibahagikan kepada 3 bahagian 128 KB setiap satu. Bahagian pertama (dari A0000 hingga BFFFF ) bertujuan untuk ingatan video. Ke bahagian seterusnya (dari Dari 0000 kepada DFFFF ) program sedang dimuatkan BIOS penyesuai. Bahagian terakhir (dari E 0000 kepada FFFFF ) dikhaskan untuk sistem BIOS . Hakikatnya ialah 128 KB terakhir tidak digunakan sepenuhnya. Dalam kebanyakan kes, di bawah BIOS hanya 64 KB terakhir digunakan. Bahagian percuma U.M.B. dipandu oleh pemandu EMM 386.EXE dan digunakan untuk keperluan sistem operasi.
3. HMA (High Memory Area) kawasan ingatan tinggi;

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

Sejarah wilayah H.M.A. meluas sehingga ke pemproses 80286, atau lebih tepat kepada ralat dalam litarnya. Saya telah mengatakan bahawa pemproses 8086 dan 8087 mempunyai bas alamat 20-bit, berfungsi dalam mod sebenar dan boleh menghubungi alamat tersebut sebanyak mungkin FFFFF (FFFF :000 F ). Tetapi pemproses 80286 sudah mempunyai bas alamat 24-bit, berfungsi dalam mod sebenar dan dilindungi serta boleh menangani sehingga 16 MB memori.
4. XMS (Spesifikasi Memori Lanjutan ) ingatan tambahan;

Untuk bekerja di XMS menggunakan DOS , mod lain telah dibangunkan untuk pemproses - maya. DOS tidak boleh melepasi halangan 640 KB, mod maya membolehkan anda pecah ingatan tambahan kepada bahagian oleh

1 MB. Setiap bahagian dimuatkan dengan program DOS dan di sana mereka dimasak dalam mod sebenar, tetapi tanpa mengganggu antara satu sama lain mereka akan dilaksanakan secara serentak. Aplikasi 32-bit tidak peduli pada halangan 640 KB. XMS bertanggungjawab untuk menterjemah pemacu mod pemproses EMM 386.EXE , dan untuk organisasi wilayah itu sendiri HIMEM. SYS . Lihat apa yang berlaku dalam diri anda XMS boleh dilakukan menggunakan SysInfo daripada suite Norton Utilities.
5. EMS (Expanded Memory Specification) memori diperluaskan;

Kawasan ini terletak di bahagian atas memori dan menduduki kira-kira 64 KB. Ia hanya digunakan dalam komputer lama dengan RAM sebelum ini

1 MB. Oleh kerana spesifikasinya, ini adalah kawasan yang agak perlahan. Hakikatnya ialah ingatan lanjutan adalah salah satu daripada banyak segmen yang ditukar. Selepas segmen penuh, segmen yang digunakan digantikan dengan yang baru. Tetapi anda hanya boleh bekerja dengan satu segmen, dan ini, anda sendiri mesti faham, tidak begitu baik, mudah dan cepat. Biasanya segmen pertama EMS bertempat di D000.

Struktur logik RAM dalam bentuk grafik.

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

4. Memori Capaian Rawak Dinamik DRAM

DRAM - ini adalah jenis cip RAM yang sangat lama, yang tidak digunakan untuk masa yang lama. Berbeza DRAM ini ingatan dinamik dengan susunan persampelan rawak. Unit minimum maklumat semasa menyimpan atau menghantar data dalam komputer adalah sedikit. Setiap bit boleh mempunyai dua keadaan: hidup (ya, 1) atau mati (tidak, 0). Sebarang jumlah maklumat akhirnya terdiri daripada bit yang dihidupkan dan dimatikan. Oleh itu, untuk menyimpan atau menghantar sebarang jumlah data, adalah perlu untuk menyimpan atau menghantar setiap bit, tanpa mengira keadaannya, data ini.

Untuk menyimpan bit maklumat dalam RAM terdapat sel. Sel terdiri daripada kapasitor dan transistor. Berikut ialah rajah anggaran dan dipermudahkan bagi sel DRAM:

Setiap sel hanya boleh menyimpan satu bit. Jika kapasitor sel dicas, ini bermakna bit dihidupkan; jika ia dinyahcas, ia dimatikan. Jika anda perlu menyimpan satu bait data, anda memerlukan 8 sel (1 bait = 8 bit). Sel-sel tersebut terletak dalam matriks dan setiap daripadanya mempunyai alamatnya sendiri, yang terdiri daripada nombor baris dan nombor lajur.

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

Sekarang mari kita lihat bagaimana membaca berlaku. Pertama, isyarat RAS (Row Address Strobe) digunakan pada semua input; ini ialah alamat baris. Selepas ini, semua data dari baris ini ditulis ke penimbal. Kemudian isyarat CAS (Column Address Strobe) digunakan pada daftar ini adalah isyarat lajur dan bit dengan alamat yang sepadan dipilih. Bit ini dibekalkan kepada output. Tetapi semasa membaca, data dalam sel baris baca dimusnahkan dan mesti ditulis semula dengan mengambilnya daripada penimbal.

Sekarang rakaman. Isyarat WR (Tulis) digunakan dan maklumat memasuki bas lajur bukan dari daftar, tetapi dari kemasukan maklumat memori melalui suis, ditentukan oleh alamat kolum. Oleh itu, laluan data apabila ditulis ditentukan oleh gabungan isyarat alamat lajur dan baris dan kebenaran untuk menulis data ke ingatan. Semasa menulis, data daripada daftar baris tidak dikeluarkan.

Perlu diambil kira bahawa matriks dengan sel disusun seperti ini:

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

Ini bermakna bahawa bukan satu bit akan dibaca pada satu masa, tetapi beberapa. Jika 8 matriks terletak selari, maka satu bait akan dibaca sekaligus. Ini dipanggil kedalaman bit. Bilangan baris di mana data akan dihantar dari (atau ke) matriks selari ditentukan oleh lebar bas input/output litar mikro.
Apabila bercakap tentang operasi DRAM, satu perkara mesti diambil kira. Intinya ialah kapasitor tidak boleh menyimpan cas selama-lamanya dan ia akhirnya "menipis." Oleh itu, kapasitor perlu dicas semula. Operasi pengecasan semula dipanggil Refresh atau penjanaan semula. Operasi ini berlaku kira-kira setiap 2 ms dan kadangkala mengambil masa sehingga 10% (atau lebih) daripada masa kerja pemproses.

Ciri yang paling penting DRAM ialah kelajuan, atau lebih ringkasnya, tempoh kitaran + kependaman + masa capaian, di mana tempoh kitaran dibelanjakan untuk pemindahan data, kependaman pemasangan awal alamat baris dan lajur, dan masa capaian ialah masa carian untuk sel itu sendiri. Sampah ini diukur dalam nanosaat (satu bilion saat). Cip memori moden mempunyai kelajuan di bawah 10 ms.

RAM dikawal oleh pengawal yang terletak di dalam chipset papan induk, atau lebih tepat lagi di bahagian itu yang dipanggil Jambatan Utara.

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

Dan sekarang, setelah memahami cara RAM berfungsi, mari kita fikirkan mengapa ia diperlukan sama sekali. Selepas pemproses, RAM boleh dianggap sebagai peranti terpantas. Oleh itu, pertukaran data utama berlaku antara kedua-dua peranti ini. Semua maklumat dalam komputer peribadi disimpan pada cakera keras. Apabila anda menghidupkan komputer, pemacu ditulis kepada RAM (Random Access Memory) dari skru, program khas dan elemen sistem pengendalian. Kemudian program dan aplikasi yang akan anda lancarkan akan direkodkan di sana. Menutup program ini akan memadamkannya daripada RAM. Data yang direkodkan dalam RAM dipindahkan ke CPU (Unit Pemprosesan Pusat), di mana ia diproses dan ditulis semula. Jadi sepanjang masa: mereka memberi arahan kepada pemproses untuk mengambil bit pada alamat ini dan itu, entah bagaimana memprosesnya di sana dan mengembalikannya ke tempat mereka atau menulisnya kepada yang baru - dia melakukan perkara itu.

Semua ini bagus selagi terdapat sel RAM yang mencukupi. Dan jika tidak? Kemudian fail swap mula dimainkan. Fail ini terletak pada cakera keras dan semua yang tidak sesuai dengan sel RAM ditulis di sana. Memandangkan kelajuan skru jauh lebih rendah daripada RAM, operasi fail paging sangat melambatkan sistem. Di samping itu, ia mengurangkan jangka hayat cakera keras itu sendiri.

Meningkatkan jumlah memori tidak membawa kepada peningkatan dalam prestasinya. Menukar saiz memori tidak akan menjejaskan operasinya dalam apa cara sekalipun. Tetapi jika kita mempertimbangkan operasi sistem, maka ia adalah perkara yang berbeza. Jika anda mempunyai RAM yang mencukupi, meningkatkan kelantangan tidak akan membawa kepada peningkatan dalam kelajuan sistem. Jika sel RAM tidak mencukupi, maka menambah bilangannya (dengan kata lain, menambah yang baru atau menggantikan yang lama dengan yang baru dengan kapasiti memori yang lebih besar) akan mempercepatkan sistem.

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

Ubah

Lembaran

Dokumen no.

Tandatangan

Tarikh

Lembaran

PPP PI 23.00.00 HINGGA

sumber Internet

http://nikesina.ucoz.ru/

http://www.whatis.ru/

http://wiki.mvtom.ru/

http://www.teryra.com/

http://smartronix.ru/

http://allrefs.net/

http://sonikelf.ru/

http://beginpc.ru/

Bibliografi

Panduan praktikal pentadbir sistem. (2012)

Andrew Tanenbaum, Todd Austin - Seni Bina Komputer (2013)

Sel memori Memori komputer terdiri daripada "zarah" individu bit, digabungkan ke dalam kumpulan (daftar) 8 bit (bait). 1 bait ialah unit asas memori. Setiap bait mempunyai nombor (alamat) dan kandungannya sendiri kod binari. Apabila pemproses memproses maklumat, ia mencari alamat dalam ingatan sel yang dikehendaki, membaca daripada kandungan, melaksanakan tindakan yang perlu dan menulis hasilnya ke sel memori lain. Sel memori ialah sekumpulan bait memori dalaman yang berturutan. Kandungan perkataan mesin sel memori Lebar dan saiz sel memori perkataan mesin dalam bit yang sama dengan kapasiti pemproses






Memori berkelajuan tinggi, dilaksanakan dalam bentuk litar elektronik. RAM tersedia untuk membaca dan menulis maklumat. Ia adalah dalam RAM bahawa kerja yang dilakukan dalam masa ini program dan data yang diperlukan untuknya, data dalam RAM boleh diedit, dipadam, ditambah. Ini adalah memori storan sementara. RAM menyimpan maklumat hanya semasa sesi bekerja dengan komputer - selepas mematikan komputer daripada rangkaian, data yang disimpan dalam RAM hilang selama-lamanya. RAM ialah peranti yang tidak menentu. Kapasiti model moden berkisar antara 512 hingga 1024 MB. RAM – memori akses rawak (RAM – memori akses rawak).


ROM - ingatan kekal (ROM - ingatan baca sahaja - ingatan baca sahaja). Dalam kebanyakan komputer, ROM dilaksanakan sebagai cip berasingan, di mana, semasa pembuatan, arahan utama diletakkan yang menjalankan interaksi awal antara perkakasan dan perisian. Memori jenis ini adalah baca sahaja. Selepas mematikan komputer, maklumat disimpan. ROM ialah peranti tidak meruap. ROM mengandungi sebahagian daripada bilik pembedahan sistem BIOS(Sistem Input-Output Asas).


Memori cache – memori perantaraan antara RAM dan ROM “Cache” - tempat persembunyian, gudang (perkataan Inggeris). Digunakan untuk meningkatkan kelajuan komputer. "Kerahsiaan" cache terletak pada fakta bahawa ia tidak dapat dilihat oleh pengguna dan data yang disimpan di sana tidak boleh diakses oleh perisian aplikasi. Menggunakan memori dalaman jenis ini mengurangkan bilangan akses kepada cakera keras. Ketiadaan memori cache boleh berkurangan dengan ketara (20-30%) pencapaian keseluruhan komputer.


Memori tidak meruap (memori CMOS, Complementary Metal-Oxid-Semicondactor) Pelbagai pilihan konfigurasi komputer, seperti nombor dan jenis pemacu cakera, jenis penyesuai video, kehadiran coprocessor dan beberapa data lain disimpan dalam apa yang dipanggil Memori CMOS. Cip memori CMOS juga mengandungi biasa Jam Tangan Digital. Terima kasih kepada mereka, anda boleh mengetahui pada bila-bila masa tarikh semasa dan masa. Untuk memastikan bahawa apabila kuasa komputer dimatikan, kandungan memori CMOS tidak dipadamkan, dan jam terus mengira masa, cip memori CMOS dikuasakan oleh bateri kecil khas atau penumpuk, yang juga terletak pada papan sistem