Reka bentuk sistem automatik berdasarkan mikropemproses. Pembangunan sistem mikropemproses Peringkat-peringkat reka bentuk sistem mikropemproses

  • 06.11.2021

Reka bentuk sistem mikropemproses

pengenalan

Tugas membangunkan sistem komputer menggunakan mikropengawal memerlukan pengetahuan dan pemahaman tentang prinsip operasi mereka, tetapi perkara utama adalah untuk mengarang program kawalan. Tujuan buku ini adalah untuk mempelajari cara mereka bentuk peranti mikropengawal.

Sebagai litar mikro asas untuk semua contoh yang diberikan dalam buku, litar mikro Atmega 128 bagi keluarga mikropemproses Atmel AVR yang popular digunakan. Adalah diandaikan bahawa pembaca mempunyai pemahaman asas tentang kedua-dua prinsip teknologi mikropemproses dan ciri-ciri seni bina mikropengawal ini.

Program untuk mikropengawal ialah satu set kod yang ditulis ke dalam memori program khasnya. Program ini mesti ditulis oleh pengaturcara yang membangunkan sistem mikropemproses tertentu, tetapi tidak pernah berurusan dengan kod. Adalah lebih mudah bagi seseorang untuk beroperasi dengan arahan, yang masing-masing mempunyai nama bermakna sendiri. Oleh itu, bahasa pengaturcaraan digunakan untuk menulis program.

Tugas utama bahasa adalah untuk menerangkan dengan jelas urutan tindakan yang mesti dilakukan oleh mikropengawal. Pada masa yang sama, bahasa mesti difahami oleh seseorang.

Dalam proses mencipta program, pengaturcara hanya menulis teksnya pada komputer dengan cara yang sama seperti mana-mana teks. Kemudian pengaturcara melancarkan program khas - penterjemah, yang menterjemah teks yang ditulis oleh pengaturcara ke dalam kod mesin yang boleh difahami oleh mikropemproses.

Teks program yang ditulis oleh pengaturcara dipanggil asal atau kod objek... Kod yang diperoleh hasil daripada siaran dipanggil terhasil atau kod mesin... Kod inilah yang ditulis ke dalam memori program mikropengawal. Untuk menulis kod yang terhasil, peranti khas digunakan - pengaturcara.

Semua bahasa pengaturcaraan dibahagikan kepada dua kumpulan:

· Bahasa peringkat rendah (berorientasikan mesin);

· Bahasa peringkat tinggi.

Assembler ialah contoh tipikal bahasa berorientasikan mesin. Pada masa lalu baru-baru ini, Assembly adalah satu-satunya bahasa untuk pengaturcaraan mikropengawal. Pada masa ini, bahasa peringkat tinggi digunakan untuk mengarang program, seperti ASAS, Si dan lain-lain. Bahasa-bahasa ini pernah dibangunkan untuk komputer besar. Tetapi kini ia digunakan secara meluas untuk mikropengawal.

Kelebihan bahasa peringkat tinggi adalah pecutan ketara proses pembangunan program. Daripada semua bahasa peringkat tinggi, C boleh dikatakan yang paling cekap. Oleh itu, dalam perkara berikut, kami akan memilih bahasa ini untuk ilustrasi. Versi bahasa yang berbeza telah dibangunkan untuk keluarga mikropemproses yang berbeza. Sebagai contoh, untuk mikropemproses keluarga AVR - C AVR.

Bab 1. Menulis program untuk mikropengawal

unsur bahasa C

Daftar MK (daftar ialah sel bait dalam ingatan MK AVR) dalam atur cara C mempunyai nama dan kerana nombor dalam kebanyakannya boleh ditukar - untuk atur cara, daftar pada dasarnya adalah pembolehubah.
Pembolehubah ialah satu set sel dalam ingatan di mana anda boleh menyimpan nombor atau nombor dan menukarnya. Pembolehubah mempunyai alamat dan nama.

tetap- ia seperti pembolehubah, tetapi anda tidak boleh mengubah kandungannya.

Pemalar

Nilai yang disenaraikan dalam program dipanggil pemalar. Bahasa C membezakan empat jenis pemalar: pemalar integer, pemalar titik terapung, pemalar aksara, dan literal rentetan.

Pemalar integer: Ini ialah nombor perpuluhan, perlapanan, perenambelasan atau perduaan yang mewakili nilai integer dalam salah satu bentuk berikut: perpuluhan, perlapanan, perenambelasan atau perduaan.

Pemalar perpuluhan terdiri daripada satu atau lebih digit perpuluhan, dan digit pertama tidak boleh sifar (jika tidak, nombor itu akan ditafsirkan sebagai perlapanan).

Pemalar perlapanan terdiri daripada sifar dan satu atau lebih digit perlapanan yang diperlukan (tiada lapan dan sembilan harus dimasukkan di antara digit, kerana digit ini tidak termasuk dalam sistem nombor perlapanan).

Pemalar heksadesimal bermula dengan urutan wajib 0x atau 0X dan mengandungi satu atau lebih digit perenambelasan (digit ialah set digit perenambelasan: 0,1,2,3,4,5,6,7,8,9, A, B , C, D, E, F).

Pemalar binari ditulis menggunakan aksara binari, yang mesti didahului oleh urutan 0b.

contohnya - Integer boleh ditulis:

Perpuluhan: 12 234 -5493

Dalam bentuk binari diawali dengan 0b seperti ini: 0b101001

Dalam bentuk perenambelasan dengan awalan 0x seperti ini: 0x5A

Dalam bentuk oktal diawali dengan 0 seperti ini: 0775

Jika anda perlu membentuk pemalar integer negatif, kemudian gunakan tanda "-" sebelum menulis pemalar (yang akan dipanggil tolak unari). Contohnya: -0x2A, -088, -16.

Setiap pemalar integer diberikan jenis yang menentukan penukaran yang mesti dilakukan jika pemalar digunakan dalam ungkapan. Jenis pemalar ditakrifkan seperti berikut:

Pemalar perpuluhan dianggap sebagai nilai bertanda dan diberikan jenis int (integer) atau panjang (integer panjang) mengikut nilai pemalar. Jika pemalar kurang daripada 32768, maka ia diberikan jenis int, jika tidak panjang.

Pemalar perlapanan dan heksadesimal diberikan jenis int, int tidak ditandatangani(integer tidak bertanda), panjang atau panjang tidak ditandatangani bergantung kepada nilai pemalar mengikut Jadual 1.1.

Jadual 1.1

Julat pemalar heksadesimal Julat pemalar oktal Jenis
0x0 - 0x7FFF 0 - 077777 int
0X8000 - 0XFFFF 0100000 - 0177777 int tidak ditandatangani
0X10000 - 0X7FFFFFFFF 0200000 - 017777777777 panjang
0X80000000 - 0XFFFFFFFF 020000000000 - 037777777777 panjang tidak ditandatangani

Nombor titik terapung terdiri daripada integer dan bahagian pecahan dan / atau eksponen. Pemalar titik terapung mewakili nilai positif berketepatan dua kali ganda (jenis berganda). Untuk menentukan nilai negatif, perlu membentuk ungkapan malar yang terdiri daripada tanda tolak dan pemalar positif.

Contoh: 115.75, 1.5E-2, -0.025, .075, -0.85E2

Pemalar aksara - diwakili oleh watak yang disertakan dalam apostrof. Nilai pemalar aksara ialah kod aksara angka.

Sebagai contoh, "Q" ialah huruf Q.

Pemalar simbolik adalah jenis int dan dilengkapi tanda semasa penukaran jenis.

Pemalar rentetan (harfiah) - urutan aksara (termasuk rentetan dan huruf besar Rusia dan Latin dan nombor) yang disertakan dalam tanda petikan (").

Contohnya, "Heloo"

Aksara literal rentetan disimpan dalam kawasan memori. Pengkompil menambah aksara nol pada penghujung setiap literal rentetan, diwakili oleh urutan pelarian \ 0. Rentetan literal adalah jenis char.

1.1.2. Pengecam

Pengecam ialah urutan nombor dan huruf, serta aksara khas, dengan syarat yang pertama ialah huruf atau aksara khas. Untuk pembentukan pengecam, huruf kecil atau huruf besar abjad Latin boleh digunakan. Aksara garis bawah (_) boleh digunakan sebagai aksara khas. Dua pengecam yang mana huruf besar dan huruf kecil yang sepadan digunakan dianggap berbeza. Contohnya: abc, ABC, A128B, a128b.

Pengecam dicipta pada peringkat mengisytiharkan pembolehubah, fungsi, struktur, dsb. selepas itu ia boleh digunakan dalam penyataan seterusnya program yang dibangunkan. Pengecam tidak boleh bertepatan dengan kata kunci, dengan perkataan terpelihara dan dengan nama fungsi pustaka pengkompil C.

Kata kunci

Jenis data dan pengisytiharannya

Perbezaan penting antara bahasa C dan bahasa lain ialah ketiadaan prinsip lalai, yang membawa kepada keperluan untuk mengisytiharkan semua pembolehubah yang digunakan dalam program secara eksplisit bersama-sama dengan petunjuk jenis yang sepadan.

Format pengisytiharan berubah-ubah adalah seperti berikut:

[]

- Penentu kelas memori ditakrifkan oleh salah satu daripada empat kata kunci bahasa C: auto, extern, register, statik, dan menunjukkan cara memori akan diperuntukkan untuk pembolehubah yang diisytiharkan, di satu pihak, dan di sisi lain, skop pembolehubah ini, iaitu ., dari bahagian mana program anda boleh merujuknya. Ini bukan elemen wajib dan hanya diperlukan dalam beberapa kes.

- jika pembolehubah boleh digunakan dalam fail lain kod sumber program;

- jika pembolehubah adalah setempat, maka ia diisytiharkan dalam beberapa fungsi selepas kurungan dan mesti mengekalkan nilainya sehingga panggilan seterusnya bagi fungsi ini;

- letakkan pembolehubah dalam daftar MK.

Pembolehubah Global diisytiharkan sebelum ia muncul dalam teks mana-mana fungsi. Setelah diisytiharkan, pembolehubah global tersedia dalam mana-mana fungsi program.

Pembolehubah tempatan diisytiharkan pada permulaan fungsi - i.e. selepas baju kurung kerinting.

- penentu jenis data yang boleh disimpan oleh pembolehubah.

Untuk menentukan data jenis integer, pelbagai kata kunci digunakan yang menentukan julat nilai dan saiz kawasan memori yang diperuntukkan untuk pembolehubah.

Sebagai contoh,

Unsigned char - menyimpan nombor dari 0 hingga 255 (bait);

Unsigned Int - menyimpan nombor dari 0 hingga 65535 (dua bait);

Unsigned long Int - menyimpan nombor dari 0 hingga 4294967295 (empat bait).

Daripada char Unsigned, anda boleh menulis hanya char, kerana pengkompil menganggap char sebagai unsigned secara lalai.

Aksara yang ditandatangani - bermaksud pembolehubah yang ditandatangani dan menyimpan nombor dari -128 hingga 127.

Kata kunci yang ditandatangani dan tidak ditandatangani menunjukkan bagaimana bit sifar pembolehubah yang diisytiharkan ditafsirkan, iaitu, jika kata kunci yang tidak ditandatangani ditentukan, maka bit sifar ditafsirkan sebagai sebahagian daripada nombor, jika tidak, bit sifar ditafsirkan sebagai ditandatangani. Jika kata kunci yang tidak ditandatangani tiada, pembolehubah integer dianggap ditandatangani. Sekiranya penentu jenis terdiri daripada jenis kunci yang ditandatangani atau tidak ditandatangani dan kemudian pengecam pembolehubah mengikuti, maka ia akan dianggap sebagai pembolehubah jenis int. Sebagai contoh:

unsigned int n;unsigned int b;int c; (ditandatangani tersirat int c);tidak ditandatangani d; (menyiratkan int d yang tidak ditandatangani); (int f ditandatangani tersirat).

Pembolehubah dari sebarang jenis boleh diisytiharkan tidak boleh diubah suai. Ini dicapai dengan menambahkan kata kunci const pada penentu jenis. Objek Const mewakili data baca sahaja, i.e. pembolehubah ini tidak boleh diberikan nilai baharu. Ambil perhatian bahawa jika tiada penentu jenis selepas perkataan const, maka int penentu jenis diandaikan. Jika kata kunci const datang sebelum pengisytiharan jenis komposit (tatasusunan, struktur, campuran, penghitungan), maka ini membawa kepada fakta bahawa setiap elemen juga mesti tidak boleh diubah suai, i.e. ia hanya boleh diberikan nilai sekali.

const double A = 2.128E-2;const B = 286; (menyiratkan const int B = 286) consnant char_ string constant = "ini ialah rentetan pemalar"

Data terapung

Untuk pembolehubah yang mewakili nombor titik terapung, pengubahsuai jenis berikut digunakan: float, double, long double (dalam beberapa pelaksanaan bahasa C long double tiada).

Nilai apungan mengambil masa 4 bait. Daripada jumlah ini, 1 bit dikhaskan untuk tanda, 8 bit untuk eksponen berlebihan, dan 23 bit untuk mantissa. Ambil perhatian bahawa bit paling ketara bagi mantissa sentiasa 1, jadi ia tidak diisi; oleh itu, julat nilai untuk pembolehubah titik terapung adalah lebih kurang 3.14E-38 hingga 3.14E + 38. Gandaan menduduki 8 bait dalam ingatan. Formatnya serupa dengan apungan. Bit memori diperuntukkan seperti berikut: 1 bit untuk tanda, 11 bit untuk eksponen, dan 52 bit untuk mantissa. Dengan mengambil kira bit tertib tinggi mantissa yang ditinggalkan, julat nilai adalah dari 1.7E-308 hingga 1.7E + 308.

apungkan f, a, b; ganda x, y;

ialah nama pembolehubah. Sebagai contoh imy peremennoi.

Ia adalah kebiasaan untuk menggunakan huruf kecil untuk pembolehubah, dan untuk membezakan nama pembolehubah daripada nama fungsi, nama pembolehubah boleh bermula dengan huruf, dan nama fungsi (kecuali utama) dengan garis bawah.

Sebagai contoh, moya peremennaya , _vasha funkzia.

Pembolehubah global, serta pembolehubah tempatan dengan pengubah suai statik, pada permulaan dan mulakan semula program adalah sama dengan 0, melainkan ia telah diberikan nilai yang berbeza.

Beberapa contoh pengisytiharan berubah:

Unsigned Char my_peremen = 34; / * my_peremen ditakrifkan sebagai Unsigned Char, dengan tugasan 34 (boleh dilakukan tanpa tugasan) * /

Unsigned Int big_ peremen = 34634; / * big_ peremen diisytiharkan sebagai Unsigned Int * /.

Pengisytiharan tatasusunan

Tatasusunan ialah sekumpulan elemen dari jenis yang sama (double, float, int, dll.). Daripada pengisytiharan tatasusunan, pengkompil mesti mendapatkan maklumat tentang jenis elemen tatasusunan dan nombornya. Pengisytiharan tatasusunan mempunyai dua format:

deskriptor penentu jenis [constant - expression];

pemegang penentu jenis;

Deskriptor ialah pengecam tatasusunan.

Penentu jenis menentukan jenis elemen tatasusunan yang diisytiharkan. Elemen tatasusunan tidak boleh menjadi fungsi dan elemen kosong.

Ungkapan pemalar kurungan menentukan bilangan elemen dalam tatasusunan. Ungkapan konst boleh diabaikan apabila mengisytiharkan tatasusunan dalam kes berikut:

Apabila diisytiharkan, tatasusunan dimulakan;

Tatasusunan diisytiharkan sebagai parameter rasmi kepada fungsi.

Dalam bahasa C, hanya tatasusunan satu dimensi ditakrifkan, tetapi memandangkan elemen tatasusunan boleh menjadi tatasusunan, tatasusunan berbilang dimensi juga boleh ditakrifkan. Ia diformalkan sebagai senarai ungkapan malar mengikut pengecam tatasusunan, dengan setiap ungkapan malar disertakan dalam kurungan segi empat samanya sendiri.

Setiap ungkapan malar dalam kurungan segi empat sama mentakrifkan bilangan elemen dalam dimensi tatasusunan tertentu, supaya pengisytiharan tatasusunan dua dimensi mengandungi dua ungkapan malar, satu tiga dimensi dan seterusnya. Perhatikan bahawa dalam C, elemen pertama tatasusunan mempunyai indeks 0.

Jisim Char - penomboran unsur bermula dari 0, i.e. unsur-unsur tatasusunan ini dipanggil jisim, jisim dan ia menyimpan nombor 11, 22, 33. Di suatu tempat dalam atur cara, elemen boleh diberikan nilai, contohnya jisim = 210. Adalah mungkin untuk tidak memberikan nilai kepada unsur-unsur.

Pembolehubah rentetan atau tatasusunan yang mengandungi rentetan aksara, sebagai contoh

Char stroke = ”Hello” mentakrifkan 6 elemen, walaupun ia mengandungi hanya lima aksara. Elemen keenam ialah watak kawalan, yang dilampirkan pada penghujung baris \ 0.

Tatasusunan aksara juga boleh diisytiharkan tanpa menyatakan bilangan elemen.

Sebagai contoh,

Char str = "pengisytiharan tatasusunan aksara"

Ungkapan dan tugasan

Operand dan operasi

Gabungan tanda operasi dan operan yang menghasilkan nilai tertentu dipanggil ungkapan. Tanda operasi menentukan tindakan yang akan dilakukan pada operan. Setiap operan dalam ungkapan boleh menjadi ungkapan. Maksud ungkapan bergantung pada lokasi tanda operasi dan kurungan dalam ungkapan, serta keutamaan operasi.

Dalam bahasa SI, tugasan juga merupakan ungkapan, dan nilai ungkapan sedemikian ialah nilai yang diberikan.

Operan ialah pemalar, literal, pengecam, panggilan fungsi, ungkapan subskrip, ungkapan pemilihan item atau ungkapan yang lebih kompleks yang dibentuk oleh gabungan operan, tanda operasi dan kurungan. Mana-mana operan yang mempunyai nilai malar dipanggil ungkapan malar. Setiap operan mempunyai jenis.

Untuk meletakkan nombor ke dalam pembolehubah (daftar) dalam bahasa C terdapat pengendali tugasan " = ”. Simbol dalam C ini bermaksud untuk mengira hasil apa yang ada di sebelah kanan pengendali tugasan dan meletakkan keputusan ini dalam pembolehubah yang terletak ke kiri pengendali tugasan.

1.PORTB=PINB+34; / * Baris ini dalam C bermaksud Ambil (baca) nilai pembolehubah (daftar) PINB, kemudian tambahkan nombor 34 padanya dan letakkan hasilnya dalam pembolehubah PORTB * /

2. BOLEH UBAH = PINC; / * Baris dalam C ini bermaksud untuk mengambil (membaca) nilai pembolehubah (mendaftar) PINC dan meletakkan hasilnya dalam pembolehubah bernama VARIABLE * /
3. Garis di mana pembolehubah berada di sebelah kiri “=“ tetapi melalui tanda & PORTB & = 0x23; dalam C bermaksud - untuk membaca kandungan PORTB pembolehubah, kemudian lakukan "logik bitwise (bitwise) AND" antara nilai baca dan nombor 0x23 dan letakkan (tulis, tetapkan) hasilnya kepada pembolehubah PORTB 4. Garis di mana pembolehubah berada serta-merta di sebelah kiri “=” PORTB = 0x23; dalam C bermakna - tanpa membaca kandungan pembolehubah PORTB, tetapkan nilai 0x23, memusnahkan apa yang ada sebelum ini.
Daripada & "DAN" (DAN - hanya 1 dan 1 memberi 1) boleh terdapat operasi logik bitwise lain: | "ATAU" (ATAU hanya 0 dan 0 memberi 0) ^ "Eksklusif ATAU" (XOR menukar bit bertentangan dengan "1") ~ "bit terbalik" (INV menukar bit daftar kepada aksara bertentangan) dan operasi aritmetik: + - * /%
Singkatan digunakan dengan pengendali tugasan:
REKOD PANJANG MAKNANYA MENGURANGKAN KEPADA
x = x + 1; tambah 1 x ++; atau ++ x;
x = x - 1; tolak 1 x--; atau -x;
x = x + y; tambah y x + = y;
x = x - y; tolak y x - = y;
x = x * y; darab dengan y x * = y;
x = x / y; bahagikan dengan y x / = y;
x = x% y; baki bahagian x% = y;
x--; tolak 1 x - = 1;
x ++; tambah 1 x + = 1;

Terdapat operasi dalam C yang mengubah nilai pembolehubah tanpa pengendali tugasan:

PORTA ++;/ * Baris ini dalam C bermaksud Ambil nilai pembolehubah PORTA, tambah 1 padanya dan tulis semula hasilnya ke PORTA. Kenaikan daftar PORTA * /

PORTC--;/ * Baris ini dalam C bermaksud sebaliknya! Penurunan- tolak 1 daripada nilai daftar PORTC * /

Apabila kenaikan atau pengurangan digunakan dalam ungkapan, adalah penting apabila dua tanda + atau - muncul sebelum pembolehubah atau selepas pembolehubah:

a = 4; b = 7; a = b ++; / * Baris ini dalam C bermaksud: ambil nilai b, tetapkan ia kepada a, kemudian tambah 1 kepada b dan simpan hasilnya dalam b. Sekarang a akan mengandungi nombor 7, b akan mengandungi nombor 8 * / a = 4; b = 7; a = ++ b; / * Baris ini dalam C bermaksud: ambil nilai pembolehubah b, kemudian tambah 1 padanya dan simpan hasilnya dalam b dan tetapkan hasil yang sama kepada pembolehubah a. Sekarang a akan mengandungi nombor 8 dan b akan mengandungi nombor 8 * / 1.2 .2 Operasi aritmetik dalam C x + y // tambah x - y // tolak x * y // darab x / y / * bahagi. Jika nombor adalah integer hasilnya adalah integer dengan bahagian pecahan dialih keluar - tidak dibundarkan. Itu. jika pembahagian itu menghasilkan 6.23411 atau 6.94, maka hasilnya hanyalah integer 6. Jika nombor titik terapung, iaitu terapung atau berganda, ditulis dengan titik dan nombor selepas titik, maka hasilnya akan menjadi nombor titik terapung tanpa membuang bahagian pecahan 131.9739 / 6.18 akan memberikan 21.355 * / x% y // hitung baki pembahagian integer Contoh:

x< y // X меньше Y
x> y // lagi
x<= y // меньше или равно
x> = y // lebih besar daripada atau sama
x == y // sama
x! = y / * tidak sama Hasil pelaksanaan pengendali ini: "benar" ialah "1" (lebih tepat lagi, "bukan sifar"), "salah" ialah "0". Nilai yang disimpan dalam pembolehubah (dalam daftar)
NS
dan di Jangan berubah. Nilai yang disimpan (atau terkandung) dalam pembolehubah diambil (dibaca) dan dibandingkan * /

1.2.5 Operasi logik:

|| // "ATAU" - hanya "palsu" dan "palsu"

// memberi palsu

&& // "DAN" - hanya "benar" dan "benar"
// berikan "benar"

! // "TIDAK" - penafian logik

Hasil daripada operasi logik BUKAN NOMBOR, tetapi nilai logik "benar" atau "salah".

Untuk operasi logik && dan || hasil ungkapan ke kiri dan ke kanan tanda operasi diambil ditukar kepada benar atau salah dan keputusan logik operasi ditentukan.

Pengkompil menukar hasil "benar" kepada 1 dan bukan kepada sebarang nombor selain 0.

Operasi logik boleh menggabungkan beberapa keadaan untuk diuji.

Sebagai contoh:

jika((ungkapan1) && ((ungkapan2) || (ungkapan3)))
{ / * Kod program akan dilaksanakan di sini jika:

Ungkapan1 "Kebenaran" (bermaksud bukan sifar) dan sekurang-kurangnya satu daripada ungkapan 2 dan 3 juga "Benar" (bermaksud bukan sifar).
} ;

1.3. Konstruk yang digunakan dalam C

1.jika(){} lain(); reka bentuk yang ideal jika anda perlu melaksanakan beberapa bahagian program dengan atau tanpa sebarang syarat:

} lain(elemen pembinaan pilihan, tanpanya pembinaannya kelihatan seperti ini:

jika (ungkapan) (Kod C / * lakukan kod ini jika ungkapan"benar" - i.e. hasil pengiraannya bukan sifar * /
};

jika(PINB.5) (pelaksanaan kod C);
/* jika pada kaki PB5 terdapat "1" (bukan "0" bermaksud "benar") kemudian program akan melaksanakan kod tersebut, dan jika ia mempunyai "0" (bermaksud "palsu"), maka ia tidak akan melakukannya, tetapi teruskan ke baris seterusnya * /

2.sementara() (); gelung bersyarat (gelung dengan syarat) - digunakan jika anda perlu melaksanakan beberapa kod program semasa melaksanakan (wujud,
"benar" bermaksud "bukan sifar") beberapa syarat, hasil daripada menilai ungkapan:

sementara ( ungkapan ) (Kod C / * laksanakan kod ini jika ungkapan "benar" - iaitu, hasil penilaiannya bukan sifar. Semasa kod ini dilaksanakan, ungkapan itu tidak disemak kebenarannya. Selepas kod dilaksanakan, a peralihan ke garisan berlaku sementara semak semula jika ungkapan adalah benar * /
};

Sebagai contoh:

sementara(PINA.6) (Pelaksanaan kod C);
/* sementara terdapat "1" pada kaki PA6 (bukan "0" bermaksud "benar"), maka program akan melaksanakan kod itu, dan sekali lagi periksa bahawa pada PA6 * / Jika bit_6 telah menjadi "0", maka program akan pergi tanpa melakukan apa yang ada dalam ()

Kitaran sementara mempunyai pilihan

Lakukan - sambil

di mana kod dalam () dilaksanakan sekurang-kurangnya sekali tanpa mengira sama ada syarat itu benar dalam kurungan:

lakukan (kod C / * laksanakan kod ini sekali, jika ungkapan itu "benar" - iaitu, hasil penilaiannya bukan sifar - laksanakan semula kod dari awal, dan seterusnya sehingga ungkapan itu benar * / ) manakala ( ungkapan); Untuk gelung (;;) dan while () sering digunakan seperti ini: while (1); untuk (;;); / * Jadi ditulis kitaran ini bermaksud: MK untuk melaksanakan talian ini semasa ada bekalan kuasa, tiada tetapan semula dan tiada gangguan. Apabila gangguan berlaku, program pergi ke pengendali gangguan dan (jika tiada peralihan ke tempat lain dalam program dalam pengendali), setelah kod pengendali selesai, ia kembali ke kitaran ini semula. * / manakala (1) (kod program); untuk (;;) (kod program); 4.untuk (;;) (); - kitaran ini membolehkan anda melaksanakan sebahagian daripada program mengikut bilangan kali yang diperlukan:

char i; / * pengisytiharan berubah untuk untuk ini adalah pembolehubah C biasa dan oleh itu boleh mempunyai sebarang nama sah yang anda mahu dan taip * /

untuk(i = 5; i<20; i+=4) {
Kod C / * Pertama, ungkapan ujian i akan ditentukan "benar" atau "salah"<20. Так как переменной i присвоено значение 5 то контрольное выражение "истинно" и код цикла untuk akan dilaksanakan buat kali pertama untuk i = 5, kemudian dengan ungkapan i + = 4, i akan menjadi 9, kini kebenaran (keadilan, pelaksanaan) ungkapan kawalan i akan disemak semula<20 и так как 9<20 код цикла untuk akan dilaksanakan semula tetapi untuk i = 9. Ini akan berterusan sehingga hasil penilaian ungkapan kawalan adalah "benar". Apabila hasilnya menjadi "palsu", program akan keluar dari gelung. untuk tanpa melaksanakan kod. * /
};

i = 5 ialah ungkapan awal, apa yang akan ada dalam pembolehubah pada permulaan i. Nombor 5 hanyalah sebagai contoh, ia boleh seperti yang dibenarkan oleh pengisytiharan jenis pembolehubah i, dalam kes kami ia adalah char dalam kebanyakan penyusun, secara lalai, ini adalah jenis aksara yang tidak ditandatangani - ia boleh menyimpan nombor dari 0 hingga 255

i< 20 - контрольное выражение. Может быть с разными операторами отношения, penting sahaja supaya dalam perjalanan kitaran ia sekali menjadi "pembohongan" - jika tidak kitaran akan "gelung" i.e. tidak akan berakhir.

i + = 4 ialah pembilang atau perubahan pembolehubah gelung. Biasanya ini saya ++ mereka. 1 ditambah pada pembolehubah setiap "lari" gelung. Tetapi sekali lagi, ia boleh menjadi apa yang anda perlukan.

Syarat awal- boleh menjadi sebarang ungkapan yang sah dalam C, yang hasilnya ialah integer.

Kawalan ekspresi- menentukan berapa lama kitaran akan dilaksanakan.

Kaunter- menunjukkan bagaimana ungkapan awal berubah sebelum setiap pelaksanaan gelung baharu.

Ungkapan- mungkin bukan sahaja pembolehubah, tetapi fungsi pembolehubah lain, sebagai contoh:

i = (7 + i * 4) atau i = (fungsi pembolehubah lain).

5. suis() (); - pengendali pilihan berbilang, membolehkan anda memilih daripada beberapa pilihan.

Ungkapan yang mengikuti kata kunci suis dalam kurungan boleh menjadi sebarang ungkapan yang sah dalam C dan mestilah nilai integer. Maksud ungkapan ini adalah kunci untuk memilih daripada beberapa pilihan. Badan pernyataan suis terdiri daripada beberapa pernyataan yang ditandakan dengan kata kunci kes diikuti dengan ungkapan malar. Semua ungkapan malar dalam pernyataan suis mestilah unik. Sebagai tambahan kepada penyataan yang ditandakan dengan kata kunci kes, mungkin terdapat, tetapi sudah tentu satu, serpihan yang ditandakan dengan kata kunci lalai. Senarai operator boleh kosong atau mengandungi satu atau lebih operator. Selain itu, pernyataan suis tidak perlu menyertakan urutan pernyataan dalam pendakap kerinting.

Pernyataan suis dilaksanakan seperti berikut:

Ungkapan dalam kurungan dinilai;

Nilai yang dikira secara berurutan dibandingkan dengan ungkapan malar mengikut kata kunci kes;

Jika salah satu ungkapan malar sepadan dengan nilai ungkapan, maka kawalan dipindahkan kepada operator yang ditandakan dengan huruf besar kata kunci yang sepadan;

Jika tiada ungkapan malar yang sama dengan ungkapan, maka kawalan diserahkan kepada operator yang ditandakan dengan kata kunci lalai, dan jika tiada, kawalan diteruskan kepada operator seterusnya selepas suis.

Semua pernyataan antara pernyataan permulaan dan penghujung isi dilaksanakan tanpa mengira kata kunci, melainkan salah satu pernyataan memindahkan kawalan dari badan pernyataan suis. Oleh itu, terpulang kepada pengaturcara untuk menjaga keluar dari kes itu jika perlu. Penggunaan yang paling biasa untuk ini ialah pernyataan rehat.

suis(ungkapan) (

kes 5: Kod C
/ * kod ini akan dilaksanakan jika hasil penilaian ungkapan ialah 5, ini adalah kerja pengendali suis akan berakhir * /
pecah;

kes -32: Kod C
/ * kod ini akan dilaksanakan jika ungkapan menilai kepada nombor negatif -32. Ini adalah tugas pengendali. suis akan berakhir * /
pecah;

kes "G": Kod C
/ * kod ini akan dilaksanakan jika hasil penilaian ungkapan adalah sama dengan nombor yang sepadan dengan aksara G dalam jadual ASCII. suis akan berakhir * /
pecah;

lalai: kod C
/ * kod ini akan dilaksanakan jika hasil penilaian ungkapan bukan 5 atau -32 mahupun "G", serta selepas pelaksanaan kod tidak
mempunyai rehat pada akhir;

Ini adalah tugas pengendali. suis akan berakhir * /
};

/* suis selesai - kod program selanjutnya dilaksanakan * /

kes- mungkin terdapat sebanyak yang diperlukan untuk program berfungsi dengan lebih pantas, pilihan yang paling berkemungkinan harus diletakkan lebih tinggi.

lalai- tidak dikehendaki. Ia boleh diletakkan bukan di hujung.

pecah;- jika anda tidak menggunakannya, maka setelah menemui pilihan yang diingini, program akan memenuhi syarat berikut kes.

6.pergi ke- pengendali cawangan tanpa syarat (segera).

Kenyataan goto memindahkan kawalan kepada pernyataan yang dilabelkan dengan nama-label. Pernyataan berteg mesti berada dalam fungsi yang sama seperti pernyataan goto, dan teg yang digunakan mestilah unik, i.e. satu nama label tidak boleh digunakan untuk pernyataan program yang berbeza. LabelName ialah pengecam. beberapa kod program kami dalam C ... mesto_5: / * kami akan sampai di sini selepas pelaksanaan baris program goto mesto_5 * / kod akan dilaksanakan selepas goto mesto_5; ... beberapa kod program kami dalam C ... mesto_1: / * kami akan sampai di sini selepas pelaksanaan baris program goto mesto_1 * / kod akan dilaksanakan selepas goto mesto_1; ... beberapa kod program kami dalam C ... goto mesto_1; / * pergi ke tempat program di mana mesto_1 ditulis pada permulaan baris: * / ... beberapa kod program kami dalam C .. . goto mesto_5; / * pergi ke tempat program di mana mesto_5 ditulis pada permulaan baris: * / ... beberapa kod program kami dalam C.

Contoh Program C

/*perenggan 1 pengepala program

Ia diformatkan sebagai ulasan dan biasanya mengandungi maklumat

Mengenai nama, tujuan, versi dan pengarang program
- penerangan ringkas tentang algoritma program
- penjelasan tentang tujuan kesimpulan MK dan cara operasinya, fius
- pengkompil, alatan dan versinya
- maklumat lain yang anda anggap berguna untuk ditunjukkan

// titik 2 termasuk fail luaran

#termasuk

/ * sebelum penyusunan, prapemproses pengkompil akan memasukkan kandungan (teks) dan bukannya baris ini fail pengepala"header" mega16.h - fail ini mengandungi senarai daftar yang terdapat dalam ATmega16 MK dan surat-menyurat nama mereka ke alamat fizikal mereka dalam MK. Anda harus menentukan MK yang anda gunakan dalam sifat projek dalam pengkompil * /

#termasuk
/ * sebelum penyusunan, prapemproses pengkompil akan memasukkan delay.h teks "header" dan bukannya baris ini - fail ini mengandungi fungsi untuk membuat jeda dalam atur cara. Sekarang, untuk menjeda, anda hanya perlu menulis: * /

/ * jeda N (nombor) mikrosaat. Ia mestilah pemalar - BUKAN pembolehubah !!!
sebagai contoh:

delay_us (12 + 7 * 3);
delay_us (117);

kelewatan_ms (x); / * jeda x milSec
x - boleh menjadi pembolehubah, ungkapan atau nombor
0 hingga 65535 (jenis int tidak ditandatangani)
sebagai contoh:

delay_ms (3280);
delay_ms (pembolehubah);
delay_ms (pembolehubah * 4 + 760); * /

//titik 3 definisi pengguna

#define ADC_BUSY PINB.0
#define NCONVST PORTB.1
/ * selepas dua baris ini, sebelum penyusunan, prapemproses pengkompil akan menggantikan ADC_BUSY dengan PINB.0 dan NCONVST dengan PORTB.1 dalam teks program
Oleh itu, daripada mengingati bahawa output sibuk AD7896 disambungkan ke kaki PB0 anda, anda boleh menyemak maksud konsep yang bermakna ADC_BUSY - "ADC sibuk". Dan bukannya mengawal kaki abstrak PB1 (melalui PORTB.1), anda boleh mengawal - NCONVST - "mulakan penukaran AD baharu".

#define - Ianya mudah! Tetapi tidak sama sekali.
*/

Sebagai contoh:

#define invbit (p, n) (p = p ^ bit (n))

Pembolehubah di sini ialah "p" dan "n". Sekarang untuk menyongsangkan bit 5 dalam daftar PORTB anda hanya perlu menulis dalam program:

invbit ( PORTB,5);

Di samping itu, di bahagian paling kanan, pembolehubah ini boleh dikaitkan dengan operasi aritmetik, dan mungkin terdapat banyak pembolehubah sedemikian.

Algoritma

Pembangunan mana-mana program bermula dengan pembangunan algoritma. Dalam kes kami, algoritma adalah seperti berikut: selepas operasi tetapan awal, mikropengawal mesti memasuki kitaran berterusan, di mana ia mesti meninjau input yang disambungkan ke butang kami, dan, bergantung pada keadaannya, mengawal LED. Mari kita huraikan perkara ini dengan lebih terperinci.

program C

Apabila mencipta program C, kami menggunakan C PRO untuk pengkompil AVR. Persekitaran perisian ini direka khas untuk membangunkan program C untuk mikropengawal AVR.

Mana-mana persekitaran pengaturcaraan moden berfungsi bukan sahaja dengan teks program, tetapi dengan apa yang dipanggil projek.

Tugas pengaturcara adalah hanya untuk menulis teks program, yang mana fail berasingan dengan sambungan "c" diperuntukkan dalam projek. Pengkompil menterjemah program sumber ke dalam sistem perenambelasan (mencipta fail Hex) untuk memasukkan (perisian tegar) ke dalam ingatan mikropengawal.

Pada masa hadapan, kami juga akan mempertimbangkan secara terperinci proses pemasangan dan bekerjasama dengan C PRO untuk persekitaran perisian AVR. Kini kami percaya bahawa ia telah dipasang dan dilancarkan.

Sejurus selepas memulakan pengkompil, semua parameter kembali kepada nilai lalainya (semua peranti dalaman dimatikan, port I / O dalaman ditetapkan kepada input, pengayun dalaman dengan kadar jam 4 MHz digunakan). Ini sepadan dengan keadaan awal mikropemproses selepas penetapan semula sistem. Kami tidak akan menyentuh parameter yang tidak perlu kami sentuh (kami akan meninggalkannya secara lalai).

Program C kelihatan seperti ini:

1 #Sertakan< Atmega 128.h >

2 Bit keadaan lama; // bendera negeri lama

3 Batal utama () (

4 bit DDB0 = 0; // tetapkan pin PB0 sebagai input

5 DDRC = 0xFF; // konfigurasikan PC sebagai output

6 PORTC = 0xAA; // kod sumber ditulis ke port C

9 Jika (Butang (& PINB, 0,1,1)) (// pengesanan unit logik

10 Oldstate = 1; // kemas kini bendera

11 jika (Butang && keadaan lama (& PINB, 0,1,0)) (// mengesan peralihan dari 1 ke 0

12 PORTB = ~ PORTB; // terbalikkan PORTC

13 oldstate = 0; // kemas kini bendera

14) Manakala (1); // kitaran yang tidak berkesudahan

Gambar rajah blok peranti dibentangkan dalam Lampiran A.

Sistem mikropemproses ini terdiri daripada unit berikut: mikropemproses, RAM, ROM, antara muka selari boleh atur cara, penukar analog-ke-digital, pemasa, paparan.

Isyarat analog daripada penderia disalurkan kepada input pemultipleks analog yang dibina ke dalam ADC, yang menukar salah satu isyarat kepada input penukar analog-ke-digital pada setiap selang masa.

Penukar analog-ke-digital digunakan untuk menukar isyarat analog kepada kod digital, yang dengannya mikropemproses beroperasi.

Mikropemproses mengakses ADC melalui antara muka selari boleh atur cara. Membaca maklumat daripada output ADC, memasukkannya ke dalam sel memori RAM. Di samping itu, MP, berdasarkan maklumat yang diterima daripada sensor tekanan minyak di alur keluar stesen, mengira tindakan kawalan. Nilai ini dihantar dalam bentuk kod digital kepada penggerak.

RAM berfungsi untuk penyimpanan sementara maklumat yang diterima daripada penderia dan hasil perantaraan pengiraan mikropemproses.

Perisian sistem disimpan dalam ROM (Read Only Memory). Operasi baca dikawal oleh mikropemproses.

Program ini, yang disimpan dalam ROM, menyediakan operasi sistem berikut:

Undian berurutan bagi penderia;

Kawalan penukaran analog-ke-digital bagi isyarat analog;

Peraturan tekanan minyak;

Petunjuk dan isyarat;

Reaksi terhadap kehilangan nutrisi.

Pembangunan Algoritma Sistem

Gambar rajah blok algoritma dibentangkan dalam Lampiran B.

Inisialisasi

Pada peringkat ini, perkataan kawalan ditulis ke RSS antara muka selari boleh atur cara. PPI DD10 beroperasi dalam mod sifar. Port berfungsi seperti berikut: port A - input, port B - output, port C - output. PPI DD1 beroperasi dalam mod sifar. Port berfungsi seperti berikut: port A - keluar, port B - keluar, port C - keluar.

Undian sensor

Penderia analog ditinjau oleh ADC. Penderia diskret disoal siasat oleh mikropemproses melalui port A PPI 1.

Menyimpan ke RAM

Keputusan yang diperoleh selepas menyoal siasat sensor dimasukkan ke dalam memori akses rawak untuk simpanan sementara.

Mengawal pengaruh

Sistem mikropemproses menganalisis data yang diterima dan menjana tindakan kawalan digital.

Pembangunan gambarajah skematik

Gambarajah skematik peranti dibentangkan dalam Lampiran D.

Bas alamat dibentuk menggunakan daftar penimbal dan pemandu bas. Pemilihan daftar dijalankan melalui isyarat ALE mikropemproses. Pemandu bas diperlukan untuk meningkatkan kapasiti muatan bait pesanan tinggi alamat.

Bas data dibentuk menggunakan pemandu bas, pemilihannya dibuat dengan menggunakan isyarat DT / R dan OE.

Bas sistem dibentuk melalui penyahkod DD10 dengan membekalkan gabungan isyarat M / IO, WR, RD.

Jadual 1 - Isyarat kawalan

Pilihan ROM, RAM dan peranti lain dijalankan menggunakan talian A13-A15 bas alamat melalui penyahkod. Sel ROM terletak di alamat 0000h.

Jadual 2 - Pemilihan peranti

Peranti

Pilihan port atau daftar perkataan kawalan PPI dijalankan melalui baris A0, A1 bas alamat. Penderia diskret disalurkan ke input port A PA0-PA7 PPI DD12; ke input port B - dari ADC; LED disambungkan ke input port C.

Pemultipleks analog digunakan untuk memilih peranti dari mana maklumat dibaca. Pemultipleks analog dibina ke dalam ADC. Lebar bit ADC adalah sama dengan lebar bit bas data dan ialah 8 bit.

Perintang R2-R4 digunakan untuk menukar isyarat arus bersatu 4 ... 20 mA kepada voltan 1 ... 5V.

Peringkat mereka bentuk sistem mikropemproses

Sistem mikropemproses dari segi kerumitan, keperluan dan fungsinya boleh berbeza dengan ketara dalam parameter kebolehpercayaan, jumlah perisian, pemproses tunggal dan berbilang pemproses, dibina pada satu jenis set mikropemproses atau beberapa, dsb. Dalam hal ini, proses reka bentuk boleh diubah suai bergantung kepada keperluan untuk sistem. Sebagai contoh, proses mereka bentuk MPS yang berbeza antara satu sama lain oleh kandungan ROM akan terdiri daripada pembangunan program dan pembuatan ROM.

Apabila mereka bentuk sistem mikropemproses berbilang pemproses yang mengandungi beberapa jenis set mikropemproses, adalah perlu untuk menyelesaikan isu organisasi memori, interaksi dengan pemproses, organisasi pertukaran antara peranti sistem dan persekitaran luaran, penyelarasan fungsi peranti dengan kelajuan operasi yang berbeza, dsb. . Di bawah ialah urutan anggaran peringkat biasa untuk mencipta sistem mikropemproses:
1. Memformalkan keperluan sistem.
2. Pembangunan struktur dan seni bina sistem.
3. Pembangunan dan pembuatan perkakasan dan perisian untuk sistem.
4. Ujian penyahpepijatan dan penerimaan yang kompleks.

Peringkat 1. Pada peringkat ini, spesifikasi luaran disediakan, fungsi sistem disenaraikan, terma rujukan (TOR) untuk sistem diformalkan, niat pembangun dinyatakan secara rasmi dalam dokumentasi rasmi.

Peringkat 2. Pada peringkat ini, fungsi peranti dan perisian individu ditentukan, set mikropemproses dipilih berdasarkan sistem yang akan dilaksanakan, interaksi antara perkakasan dan perisian, ciri masa peranti dan program individu ditentukan.

Peringkat 3. Selepas mentakrifkan fungsi yang dilaksanakan oleh perkakasan dan fungsi yang dilaksanakan oleh program, jurutera litar dan pengaturcara serentak meneruskan pembangunan dan pembuatan prototaip dan perisian, masing-masing. Pembangunan dan pembuatan peralatan terdiri daripada pembangunan rajah struktur dan skematik, pembuatan prototaip, dan penyahpepijatan autonomi.
Pembangunan program terdiri daripada membangunkan algoritma; menulis teks program sumber; terjemahan program sumber kepada program objek; penyahpepijatan luar talian.

Peringkat 4. Lihat Penyahpepijatan Kompleks.

Pada setiap peringkat reka bentuk MPS, orang ramai boleh memperkenalkan kerosakan dan membuat keputusan reka bentuk yang salah. Di samping itu, kecacatan perkakasan mungkin berlaku.

Sumber kesilapan

Mari kita pertimbangkan sumber ralat dalam tiga peringkat pertama reka bentuk.

Peringkat 1. Pada peringkat ini, sumber ralat boleh menjadi: ketidakkonsistenan logik keperluan, peninggalan, ketidaktepatan algoritma.

Peringkat 2. Pada peringkat ini, sumber ralat boleh menjadi: peninggalan fungsi, ketidakkonsistenan dalam protokol interaksi antara perkakasan dan program, pilihan set mikropemproses yang salah, ketidaktepatan algoritma, tafsiran yang salah tentang keperluan teknikal, peninggalan beberapa aliran maklumat .

Peringkat 3. Pada peringkat ini, sumber ralat boleh: apabila membangunkan perkakasan - peninggalan beberapa fungsi, salah tafsir keperluan teknikal, kecacatan dalam skema penyegerakan, pelanggaran peraturan reka bentuk; dalam pembuatan prototaip - kerosakan komponen, kerosakan pemasangan dan pemasangan; apabila membangunkan perisian - peninggalan beberapa fungsi spesifikasi teknikal, ketidaktepatan dalam algoritma, ketidaktepatan dalam pengekodan.

Setiap sumber kesilapan yang disenaraikan boleh menimbulkan sejumlah besar kesalahan subjektif atau fizikal yang perlu disetempatkan dan dihapuskan. Pengesanan ralat dan penyetempatan ralat adalah mencabar atas beberapa sebab: pertama, kerana bilangan ralat yang besar; kedua, disebabkan oleh fakta bahawa kerosakan yang berbeza boleh nyata dengan cara yang sama. Oleh kerana tiada model kesalahan subjektif, tugas ini tidak diformalkan. Terdapat beberapa kejayaan dalam pembangunan kaedah dan alat untuk pengesanan ralat dan penyetempatan kerosakan fizikal. Kaedah dan alat ini digunakan secara meluas untuk menyemak keadaan operasi dan mendiagnosis kerosakan sistem diskret semasa reka bentuk, pengeluaran dan pengendalian sistem yang terakhir.

Kesalahan subjektif berbeza daripada kesilapan fizikal kerana selepas pengesanan, penyetempatan dan pembetulan ia tidak lagi timbul. Walau bagaimanapun, seperti berikut dari senarai sumber ralat, ralat subjektif boleh diperkenalkan pada peringkat pembangunan spesifikasi sistem, yang bermaksud bahawa walaupun selepas ujian yang paling teliti terhadap sistem untuk pematuhan spesifikasi luarannya, ralat subjektif boleh didapati dalam sistem.

Proses reka bentuk adalah proses berulang. Kegagalan yang ditemui semasa ujian penerimaan boleh membawa kepada pelarasan spesifikasi dan, oleh itu, kepada permulaan reka bentuk keseluruhan sistem. Ia adalah perlu untuk mengesan kerosakan seawal mungkin, untuk ini adalah perlu untuk mengawal ketepatan projek pada setiap peringkat pembangunan.

Menyemak ketepatan projek

Kaedah utama untuk mengawal ketepatan reka bentuk adalah seperti berikut: pengesahan - kaedah formal untuk membuktikan ketepatan projek; pemodelan; ujian.

Terdapat banyak kerja pada pengesahan perisian, perisian tegar, perkakasan. Walau bagaimanapun, karya-karya ini adalah bersifat teori. Dalam amalan, mereka masih menggunakan pemodelan dan ujian tingkah laku objek.

Untuk mengawal ketepatan projek pada setiap peringkat reka bentuk, adalah perlu untuk menjalankan pemodelan pada pelbagai peringkat perwakilan abstrak sistem dan menyemak ketepatan pelaksanaan model yang diberikan dengan menguji. Pada peringkat memformalkan keperluan, kawalan ketepatan amat diperlukan, memandangkan banyak matlamat reka bentuk tidak diformalkan atau tidak boleh diformalkan pada dasarnya. Spesifikasi fungsi boleh disemak oleh pasukan pakar, atau disimulasikan dan disahkan melalui percubaan untuk menentukan sama ada objektif yang diingini sedang dicapai. Selepas kelulusan spesifikasi fungsian, pembangunan program ujian fungsian bermula, direka bentuk untuk mewujudkan fungsi sistem yang betul mengikut spesifikasi fungsinya. Sebaik-baiknya, ujian dibangunkan yang sepenuhnya berdasarkan spesifikasi ini dan menyediakan keupayaan untuk menguji sebarang pelaksanaan sistem yang diisytiharkan mampu melaksanakan fungsi yang dinyatakan dalam spesifikasi. Kaedah ini adalah bertentangan sepenuhnya dengan kaedah lain, di mana ujian dibina berhubung dengan pelaksanaan tertentu. Pengesahan fungsian bebas pelaksanaan biasanya menggoda hanya dalam teori, tetapi tidak mempunyai nilai praktikal kerana tahap umum yang tinggi.

Mengautomasikan kerja yang membosankan untuk menulis program ujian bukan sahaja mengurangkan tempoh reka bentuk / nyahpepijat dengan mendapatkan program ujian pada peringkat reka bentuk (kerana ia boleh dijana serta-merta selepas keperluan sistem dibentuk), tetapi juga membolehkan pereka bentuk menukar spesifikasi tanpa perlu risau tentang menulis semula semua program ujian.program lagi. Walau bagaimanapun, dalam amalan, pembangunan ujian selalunya diberi keutamaan yang lebih rendah daripada projek, jadi program ujian muncul lebih lewat daripada penyiapan projek. Tetapi walaupun ujian terperinci ternyata disediakan, selalunya tidak praktikal untuk menjalankannya pada simulator, kerana pemodelan terperinci memerlukan banyak wang untuk pembangunan program dan masa pengiraan, akibatnya, kebanyakan kerja penyahpepijatan mesti ditangguhkan sehingga prototaip sistem dibuat.

Selepas ralat dikesan, sumbernya mesti disetempatkan untuk membetulkannya pada tahap yang sesuai bagi perwakilan abstrak sistem dan di tempat yang sesuai. Pengenalpastian palsu sumber ralat atau membuat pembetulan pada peringkat lain bagi perwakilan abstrak sistem membawa kepada fakta bahawa maklumat tentang sistem di peringkat atas menjadi salah dan tidak boleh digunakan untuk penyahpepijatan selanjutnya semasa pengeluaran dan pengendalian sistem. Sebagai contoh, jika kerosakan dimasukkan ke dalam kod sumber program yang ditulis dalam bahasa pemasangan, dan pembetulan dibuat dalam kod objek, maka penyahpepijatan lanjut program dijalankan dalam kod objek; dalam kes ini, semua kelebihan menulis program dalam bahasa himpunan adalah terbatal.

Automasi peralatan teknikal telah mengambil alih sebahagian besar daripada keseluruhan organisasi pengeluaran. Ia digunakan di mana-mana dalam alatan mesin, mesin dan mekanisme, sistem robotik. Teknologi baharu meningkatkan produktiviti buruh dengan ketara, mengurangkan pengaruh faktor manusia terhadap risiko dalam pengeluaran. Juga, tahap teknikal dan kualiti produk semakin meningkat. Sistem mikropemproses pernah menjadi teknologi yang inovatif. Tetapi kini ia sudah menjadi perkara biasa, kerana peranti yang dibuat menggunakan mikropemproses mempunyai prestasi yang lebih tinggi berbanding dengan peranti yang dibuat pada litar logik yang berasingan, dengan manfaat ekonomi yang terdahulu.

Penyeragaman proses pembangunan memudahkan analisis dan penyelidikan dalam bidang ini. Ia juga menjadikan keadaan semasa dan kemungkinan hasil kelihatan. Sistem terbenam berasaskan mikropemproses hari ini menggunakan litar bersepadu logik boleh atur cara (FPGA) dan sistem pembuatan bantuan komputer untuk reka bentuk yang pantas dan teratur. Penyahpepijatan dan ujian dalam masa nyata juga boleh dilakukan dengan FPGA. Kemas kini CAD tahunan membolehkan anda menghabiskan lebih sedikit masa untuk kerja monoton dan monosyllabic, sambil mengelakkan kesilapan yang jelas. Ini membolehkan pengabstrakan ke tahap sistem yang lebih tinggi dan menyelesaikan masalah yang sukar.

Proses membangunkan sistem mikropemproses terbenam boleh diwakili sebagai dua laluan peringkat reka bentuk berturut-turut. Laluan pertama ialah pembangunan bahagian perkakasan sistem mikropemproses terbenam. Laluan kedua ialah reka bentuk perisian (Gamb. 1).

Rajah 1. Peringkat reka bentuk

Tetapi tidak semua langkah laluan diperlukan. Perkakasan sistem mungkin tidak disimulasikan semasa pembangunan. Oleh itu, beberapa langkah boleh dikecualikan: penyediaan spesifikasi simulasi, penjanaan model, simulasi berfungsi dan temporal. Perlu diingat bahawa pemodelan bahagian perkakasan sistem meningkatkan kecekapan proses reka bentuk secara keseluruhan disebabkan pengesanan awal kemungkinan ralat dan penyingkirannya.

Langkah reka bentuk biasa untuk sistem mikropemproses termasuk:

  1. Memformalkan pelbagai keperluan sistem. Ia adalah perlu untuk menyediakan spesifikasi luaran, terma rujukan (TOR) untuk sistem, nota imej sistem oleh pembangun dalam dokumentasi, fungsi sistem disenaraikan.
  2. Pembangunan struktur dan seni bina elemen sistem. Ia adalah perlu untuk menentukan interaksi antara perkakasan dan perisian, fungsi perkakasan dan cangkerang perisian, pilih penyelesaian mikropemproses berdasarkan sistem yang akan dilaksanakan, dan menentukan ciri masa.
  3. Pembangunan dan pembuatan perkakasan dan perisian untuk sistem. Ia adalah perlu untuk membangunkan struktur dan gambar rajah skema, membuat prototaip, dan nyahpepijat dalam keadaan mod operasi asas. Pembangunan perisian harus terdiri daripada algoritma, menulis kod sumber, menterjemah program sumber kepada program objek, nyahpepijat perisian dan simulasi.
  4. Penyahpepijatan umum dan ujian penerimaan dalam keadaan kerja.

Faktor manusia membenarkan kerosakan dan keputusan reka bentuk yang salah. Terdapat juga kecacatan perkakasan dalam peranti. Sebagai contoh, sumber ralat berikut mungkin secara berperingkat:

Peringkat 1. Ketidakkonsistenan logik keperluan, peninggalan, ketidaktepatan algoritma.

Peringkat 2. Peninggalan fungsi, peninggalan beberapa aliran maklumat, ketidakkonsistenan dalam protokol interaksi antara perkakasan dan program, takrifan keperluan teknikal yang salah, pilihan penyelesaian mikropemproses yang salah, ketidaktepatan algoritma.

Peringkat 3. Apabila membangunkan perkakasan - peninggalan beberapa fungsi, salah tafsir spesifikasi teknikal, kecacatan dalam skema penyegerakan, pelanggaran peraturan reka bentuk; apabila membangunkan perisian - peninggalan beberapa fungsi spesifikasi teknikal, ketidaktepatan dalam algoritma, ketidaktepatan dalam pengekodan; dalam pembuatan prototaip - kerosakan komponen dan peranti, kerosakan pemasangan dan pemasangan.

Setiap sumber ralat yang disenaraikan boleh membawa kepada sejumlah besar kerosakan fizikal atau subjektif yang mesti dikenal pasti dan dihapuskan. Pengesanan dan penyetempatan kerosakan adalah rumit untuk beberapa sebab: pertama, disebabkan oleh kerosakan, mungkin terdapat beberapa; kedua, keseragaman gejala pelbagai masalah. Oleh kerana tiada model kesalahan subjektif, tugas ini tidak diformalkan. Penyelesaian boleh dilakukan dengan bantuan sistem pakar - pangkalan data dengan masalah sedia ada dan penyelesaiannya berdasarkan pengalaman praktikal.

Kesalahan subjektif berbeza daripada kesilapan fizikal kerana selepas pengesanan, penyetempatan dan pembetulan ia tidak lagi timbul. Tetapi ralat subjektif boleh diperkenalkan semasa peringkat pembangunan spesifikasi sistem, yang bermaksud walaupun selepas ujian sistem yang paling ketat untuk pematuhan spesifikasinya, ralat subjektif boleh ditemui dalam sistem.

Proses reka bentuk adalah proses berulang, yang bermaksud bahawa jika ralat tidak dihapuskan sepenuhnya pada satu peringkat, ia mungkin muncul pada peringkat seterusnya. Ia adalah perlu untuk mengesan kerosakan seawal mungkin, untuk ini adalah perlu untuk mengawal ketepatan projek pada setiap peringkat pembangunan. Sebagai contoh, kesilapan yang ditemui pada peringkat akhir penerimaan dan penghantaran projek boleh membawa kepada pembetulan spesifikasi, dan, oleh itu, kepada permulaan reka bentuk keseluruhan sistem. Perubahan dalam spesifikasi teknikal membawa kepada akibat yang sama (disebabkan oleh pernyataan yang kurang dan kekurangan maklumat tentang sistem).

Kaedah utama untuk mengawal ketepatan reka bentuk ialah: pengesahan, pemodelan dan ujian.

Pengesahan membolehkan anda mengesan bukan sahaja ralat semasa, tetapi juga ralat berpotensi yang mungkin muncul dalam projek akan datang menggunakan blok. Tetapi ia memerlukan tugasan teknikal yang berasingan dan kemahiran yang berkaitan dan sesuai untuk projek besar. Pada projek kecil, pemodelan dan ujian tingkah laku objek lebih kerap digunakan, kerana pilihan ini adalah kos efektif dan tidak memerlukan banyak sumber.

Kawalan ketepatan dicapai pada setiap peringkat reka bentuk dengan keperluan untuk menjalankan pemodelan pada pelbagai peringkat abstraksi sistem dan untuk menyemak ketepatan bahagian model yang dilaksanakan dengan menguji. Spesifikasi fungsi boleh disimulasikan dan diuji secara empirik untuk menentukan hasil yang dijangkakan. Ia juga boleh dianalisis oleh sekumpulan pakar. Sebaik sahaja spesifikasi fungsian telah diluluskan, pembangunan ujian fungsian sistem mula mewujudkan fungsi sistem yang betul mengikut spesifikasi fungsinya. Ia adalah paling cekap untuk membangunkan ujian berdasarkan sepenuhnya pada spesifikasi ini, kerana ia membenarkan ujian bagi mana-mana pelaksanaan sistem yang mampu melaksanakan fungsi yang dinyatakan dalam spesifikasi. Kaedah ini serupa dengan yang lain, di mana ujian dibina berhubung dengan pelaksanaan tertentu, tetapi membandingkan jangkaan dan hasil pembangunan dengan lebih tepat.

Selepas ralat dikesan, sumbernya mesti disetempatkan untuk pembetulan pada tahap yang sesuai bagi perwakilan abstrak sistem dan di tempat yang sesuai. Pengenalpastian yang salah bagi sumber ralat atau membuat pelarasan pada tahap yang berbeza bagi perwakilan abstrak sistem membawa kepada fakta bahawa maklumat tentang sistem di peringkat atas menjadi salah dan tidak boleh digunakan untuk penyahpepijatan selanjutnya semasa pengeluaran dan operasi sistem.

Mengautomasikan kerja berulang untuk membangunkan program ujian mengurangkan tempoh pembinaan dan penyahpepijatan dengan menerima ujian lebih awal (kerana ia boleh dijana serta-merta selepas keperluan sistem dibentuk) dan membolehkan pereka bentuk menukar spesifikasi tanpa menulis semula semua program ujian. Dalam amalan, pembangunan ujian mempunyai keutamaan yang lebih rendah daripada projek, jadi program ujian muncul lebih lewat daripada penyiapan projek.

Oleh itu, dengan mengambil kira nuansa reka bentuk mikropemproses, anda boleh dengan mudah mengatasi "perangkap" dalam pembangunan. Penggunaan litar bersepadu logik boleh atur cara (FPGA) menjadikannya lebih mudah untuk menyahpepijat kumpulan yang belum dikeluarkan dan membolehkan anda menguji projek dan membetulkan pepijat. Dan sistem pembuatan bantuan komputer (CAD) memudahkan pembangunan dengan membenarkan sumber diagihkan semula dengan lebih cekap.

Bibliografi:

  1. SibSUTI [Sumber elektronik] / Mereka bentuk mikropemproses pada FPGA - Mod akses: http://ict.sibsutis.ru/sites/csc.sibsutis.ru/files/courses/mps/mp.pdf– percuma. - alih suara. daripada skrin. - bahasa bahasa Rusia (tarikh rawatan 22/12/2017).
  2. Zotov V. Kit Pembangunan Terbenam - sistem reka bentuk untuk sistem mikropemproses terbenam berdasarkan siri FPGA FPGA daripada Xilinx. 2004. No. 3.

1. Berfungsi,reka bentuk dan seni binaperanti mikropemprosesdan sistem

1.1. Umummaklumat tentang teknologi mikropemproses

Konsep asas dantakrifanteknologi mikropemproses

Mikropemproses dan mikrokomputer adalah produk besar-besaran industri elektronik. Pengetahuan tentang asas teknologi mikropemproses adalah perlu untuk jurutera dari mana-mana profil, terutamanya jurutera sistem, jurutera reka bentuk, dan jurutera proses sistem komputer (CS).

Mikropemproses (MP) digunakan secara meluas dalam pesawat moden dan peranti elektronik (REU), sistem kawalan teknologi, automatik fleksibel dan industri lain. Penggunaan MP memberi kesan positif kepada peningkatan produktiviti buruh, meningkatkan kualiti peralatan untuk pelbagai tujuan. Terima kasih kepada penggunaan Ahli Parlimen dan mikrokomputer dalam sistem teknikal, kefungsian peralatan telah berkembang, kebolehpercayaan dan kestabilan operasinya telah meningkat, dan kualiti pemprosesan maklumat telah bertambah baik.

Prospek dan kemungkinan menggunakan MP dan mikrokomputer dalam sistem pengkomputeran masih belum didedahkan sepenuhnya. Teknologi pembuatan dan seni bina MP sentiasa dipertingkatkan. Jadi, kapasiti bit MP cip tunggal moden mencapai 64 bit. Apabila menggunakan MP dan mikrokomputer, pembangun harus dapat menilai keupayaan seni bina dan ciri teknikal mereka, serta mahir dalam bahasa pengaturcaraan tahap yang berbeza. Bahasa pemasangan digunakan secara meluas untuk mencipta perisian sistem. Untuk memastikan produktiviti tinggi pengaturcara, tugas pemprosesan data diselesaikan menggunakan bahasa peringkat tinggi (contohnya, C). Jurutera komputer moden memerlukan pengetahuan dalam bidang seni bina MT dan pengaturcaraan peranti elektronik dalam bahasa peringkat yang berbeza.


Asas, dalam teknologi mikropemproses, adalah konsep seperti: "mikropemproses", "IS", "IC", "LSI", "VLSI", "set mikropemproses LSI", "peranti mikropemproses", "sistem mikropemproses", "perkakas mikropemproses "," mikrokomputer "(tujuan am dan khusus)," mikrokomputer terbina dalam "," komputer peribadi "," komputer peribadi isi rumah "," komputer peribadi profesional "," mikropengawal ", dsb.

Selain itu, teknologi mikropemproses menggunakan konsep yang berkaitan dengan teknologi komputer, dan khususnya "batang", "bas", "antara muka", "antara muka sistem", "antara muka persisian", "penyesuai", "protokol", "talian antara muka" dan dan lain-lain.

Apabila mengkaji perisian dalam teknologi mikropemproses, konsep umum digunakan yang bertepatan dengan nama dengan konsep menerangkan perisian dalam teknologi komputer, khususnya, "algoritma", "program", "perisian", dll.

Salah satu konsep asas teknologi mikropemproses yang utama ialah "mikropemproses".

Mikropemproses- ini adalah rumitperanti kawalan perisian,direka untuk memproses maklumat digital dankawalan proses pemprosesan ini, dibuat dalam bentuk satu atau lebih kamiranlitar mikro dengan tahap penyepaduan yang lebih tinggi (BIS atau SBIDENGAN).

Litar mikro bersepadu (ANDCIK) ialah peranti mikroelektronik yang melaksanakan fungsi tertentu untuk menukar, memproses isyarat dan (atau) mengumpul maklumat, yang mempunyai ketumpatan pembungkusan dalaman yang besar bagi unsur-unsur yang disambungkan secara elektrik (atau unsur dan komponen) dan (atau) hablur dan dipertimbangkan dari aspek pengujian, penghantaran dan keperluan operasi produk elektronik radio secara keseluruhan.

IC semikonduktor- litar mikro bersepadu, semua elemen dan sambungan antara elemen yang dibuat di dalam dan pada permukaan semikonduktor.

IC digital- litar mikro bersepadu yang direka untuk menukar dan memproses isyarat yang berubah mengikut undang-undang fungsi diskret.

Ijazah integrasi- penunjuk tahap kerumitan IC, yang dicirikan oleh bilangan elemen dan komponen yang terkandung di dalamnya. Tahap integrasi ditentukan oleh formula k= lg N, di mana k- pekali yang menentukan tahap penyepaduan, yang nilainya dibundarkan kepada integer terbesar; N- bilangan elemen dan komponen IC.

Litar bersepadu besar (BIDENGAN)- litar mikro bersepadu yang mengandungi 500 atau lebih elemen yang dibuat menggunakan teknologi bipolar, atau 1000 atau lebih elemen yang dibuat menggunakan teknologi MOS, lebih besar integralskim (SBIDENGAN)mengandungi atas unsur.

SetBIS- satu set jenis LSI yang melaksanakan pelbagai fungsi yang serasi dalam seni bina, reka bentuk, parameter elektrik dan memberikan kemungkinan penggunaan bersama mereka dalam pembuatan teknologi mikropemproses.

Kit mikropemproses (IPC)- satu set mikropemproses dan IC lain, serasi dalam seni bina, reka bentuk dan parameter elektrik dan menyediakan kemungkinan penggunaan bersama mereka.

Mikropemproses diterangkan oleh pelbagai parameter yang wujud dalam kedua-dua peranti elektronik (kelajuan, penggunaan kuasa, dimensi, berat, bilangan aras kuasa, kebolehpercayaan, kos, jenis kes, julat suhu, dll.), dan kemudahan pengkomputeran (kedalaman bit, arahan atau kitaran pelaksanaan perintah mikro, bilangan daftar dalaman, kehadiran tahap program mikro, jenis ingatan tindanan, komposisi perisian, dll.).


Peranti mikropemproses ( MPU) - secara fungsional dan konstruktifproduk siap, yang merupakan skema dan membinasambungan beberapa litar mikro, termasuk satu atau lebih mikropemprosesdireka untuk melaksanakan satu ataupelbagai fungsi: menerima, rawatan,penghantaran, transformasi maklumat dan kawalan.

MPU mempunyai ciri penyambung yang bersatu (antara muka, reka bentuk, dll.) dan berfungsi sebagai sebahagian daripada sistem teknikal tertentu.

Sistem mikropemproses ( MPS) - ini adalah sejumlah besarperanti berfungsi, salah satu daripadayang mempunyai mikropemproses.

Mikropemproses ialah teras sistem ini dan melaksanakan fungsi unit kawalan pusat dan peranti untuk penukaran data aritmetik-logik. Semua peranti MPS mempunyai antara muka standard dan disambungkan ke lebuh raya maklumat tunggal.

Teknologi mikropemproses - ini ialah mikropemproses dan peranti pengkomputeranperalatan (VT) dan automatik berdasarkannya.

Ini adalah konsep pengkomputeran yang paling umum. Hari ini, hampir semua VT dibina berdasarkan peranti mikropemproses.

Mikrokomputer tujuan am - ini adalah mikrokomputer yang mempunyai besarsumber operasi yang disesuaikan untuk mengendalikan pelbagaidata berangka dan teks dan bertujuan untuk digunakan dalam pengkomputeranpusat-pusat.

Ini adalah kelas mikrokomputer yang paling biasa, yang merupakan asas untuk komputer peribadi.

Komputer khusus - ini adalah Komputer yang direka untuk melaksanakan sesuatualgoritma khusus:Transformasi Fourier, pengiraan korelasifungsi dandr.

Ia adalah komputer berprofil sempit dengan bilangan perintah sistem yang terhad.

terbina dalam mikrokomputer (peranti mikropemproses) - unit pemprosesandata dankawalan yang dimaksudkan untuk digunakan dalam isi rumahperanti, sistem kawalan proses ataukawalan, peranti persisian komputer, peralatan pejabat, dsb.

Komputer ini paling banyak digunakan dalam perkakas rumah (televisyen, perakam pita radio, mesin basuh, dll.)

Komputer peribadi (komputer peribadi) - sistem dialoguntuk kegunaan individu, dijual padaberdasarkan mikropemprosesbermakna, storan luaran bersaiz kecilperanti dan pencatat data,yang menyediakan akses kepada semua sumber komputer menggunakan sistem pengaturcaraan lanjutan dalam bahasa peringkat tinggi.

Ia adalah mikrokomputer universal bersaiz kecil dan kos yang direka untuk kegunaan individu. Komputer peribadi isi rumah berfungsi sebagai pusat maklumat rumah. Peribadi profesionalkomputer direka bentuk untuk mengautomasikan pelbagai operasi pemprosesan sejumlah besar maklumat di tempat kerja pakar.

Pengawal mikro- peranti terkawal yang dibuat pada satu atau beberapa kristal, yang fungsinya adalah analisis dan kawalan logik.

Klasifikasi mikropemproses dan parameter utamanya

Mengikut bilangan LSI, Ahli Parlimen bahagian cip tunggal, berbilang cip dan berbilang cip dibezakan.

MP cip tunggal melaksanakan semua perkakasan pemproses sebagai satu LSI atau VLSI. MP cip tunggal mempunyai lebar bit tetap, satu set arahan dan dibuat secara struktur dalam bentuk litar bersepadu tunggal (IC). Semua operasi yang dijalankan olehnya ditentukan oleh satu set arahan MP. Satu ciri MP cip tunggal ialah kehadiran tulang belakang dalaman untuk menghantar data maklumat dalaman dan isyarat kawalan. Keupayaan Ahli Parlimen ini dihadkan oleh sumber perkakasan kristal dan pakej, tetapi dengan peningkatan dalam tahap penyepaduan kristal dan bilangan terminal dalam pakej, parameter MP terus bertambah baik.

V ramaiMP kristal struktur logik dibahagikan kepada bahagian yang lengkap berfungsi, yang dilaksanakan dalam bentuk LSI dan VLSI yang berasingan atau kristal berasingan dalam satu VLSI.

MP berbilang cip terdiri daripada satu set bahagian mikropemproses.

Bahagian mikropemproses- ini adalah mikropemproses bersepadulitar yang melaksanakan sebahagian daripada MT dan mempunyai cara fungsi mudahpercantumandengan jenis yang sama atau bahagian mikropemproses lain untuk membina MP, MPU atau mikrokomputer yang lengkap.

MP yang dipartisi dikawal oleh perisian tegar. LSI dalam siri: K1800, KR1802, KM1804, dsb. tergolong dalam MPC berpotongan. Tujuan utamanya ialah untuk mencipta MP dan MPC berbilang bit berprestasi tinggi, berdasarkan pelbagai sistem komputer kawalan dilaksanakan.

Asas IPC BIS ialah set asas IC bagi satu siri. Ia boleh terdiri daripada MP cip tunggal dengan lebar bit tetap dan satu set arahan, atau satu set MP LSI cip tunggal. Untuk mengembangkan fungsi MP, MPK LSI asas ditambah dengan jenis LSI lain: RAM, ROM, EPROM, litar bersepadu antara muka, pengawal peranti luaran, dsb.

Mengikut jenis isyarat yang diproses, perbezaan dibuat antara digital dan MP analog. Dalam kedua-dua jenis MT, pemprosesan maklumat adalah digital. Dalam MP digital, isyarat digital semata-mata diproses, dan dalam isyarat analog untuk memproses isyarat analog, peranti analog-ke-digital (ADC) dan penukar digital-ke-analog (DAC) terbina dalam. Di dalamnya, isyarat analog input dihantar ke MP melalui ADC, diproses dalam bentuk digital, ditukar menjadi bentuk analog dalam DAC dan dihantar ke output.

Pilihan kit mikropemproses

untuk mereka bentuk peranti pengkomputerandan sistem

Pilihan IPC untuk peranti atau sistem pengkomputeran tertentu adalah tugas yang paling sukar. Ini disebabkan oleh peningkatan berterusan dalam bilangan IPC dan LSI di dalamnya.

Apabila memilih IPC, peralatan mesti memenuhi keperluan tertentu: berfungsi dalam masa nyata; peningkatan kebolehpercayaan; imuniti bunyi; kemudahan penyelenggaraan; kehadiran satu set tugasan tetap yang diselesaikan berulang kali sepanjang hayat peralatan.

Pemilihan IPC dijalankan mengikut tiga kriteria utama:

1) dalam aspek pembangunan perisian, adalah perlu untuk menganalisis kedalaman bit, bilangan daftar tujuan umum yang tersedia untuk digunakan, set arahan dan kaedah menangani, kehadiran dan organisasi timbunan;

2) berkenaan dengan reka bentuk sistem, adalah perlu untuk menentukan: jenis seni bina MP (sectioned atau single-chip), jenis organisasi kawalan (microprogram atau dengan logik keras), kehadiran LSI yang serasi secara logik dari yang lain. set, kelajuan MP, keupayaan untuk mengganggu dan mengarahkan akses memori, kehadiran reka bentuk automatik;

3) dari sudut pandangan membangunkan perkakasan MPS, perlu mengambil kira: keserasian elektrik LSI, bilangan bekalan kuasa dan kuasa yang hilang, saiz dan jenis kes, bilangan terminal, julat suhu operasi, dsb.

Pilihan IPC untuk aplikasi tertentu sering dilakukan berdasarkan data mengenai teknologi yang ia dibuat.

Soalan dan tugasan

1. Apakah faktor yang menentukan penggunaan MP dan mikrokomputer dalam sistem pengeluaran?

2. Apakah perbezaan antara Ahli Parlimen cip tunggal daripada berbilang cip (tidak dipisahkan dan dipecahkan)?

3. Apakah parameter umum yang mencirikan MP, MPU dan MPU?

4. Apakah ciri-ciri MP?

5. Apakah parameter utama MP moden.

6. Apakah kriteria untuk memilih kit mikropemproses semasa mereka bentuk peranti dan sistem pengkomputeran?

1.2. Isu umumorganisasi danberfungsiperanti mikropemprosesdan sistem

Struktur peranti mikropemprosesdan sistem

Mana-mana MPS terdiri daripada MP, sistem memori, sistem input-output maklumat dan sistem untuk antara muka dengan objek kawalan atau pemantauan.

Mikropemproses dan memainkan peranan sebagai unit kawalan pusat dan peranti untuk penukaran data aritmetik dan logik.

Ingatan dilaksanakan secara fizikal sebagai satu sistem yang terdiri daripada beberapa peringkat.

Peranti storan berterusan (ROM) bertujuan untuk penyimpanan jangka panjang data prarakam dan hanya digunakan dalam mod baca. Mereka tidak meruap.

Memori capaian rawak (OZP) beroperasi dalam mod tulis dan baca dalam talian dengan kelajuan menghampiri kelajuan pemproses. Mereka tidak menentu.

Peranti storan luaran (Vingatan) melaksanakan fungsi menyimpan sejumlah besar maklumat, mengandungi pemacu pada cakera liut dan magnet keras, cakera padat (laser), dsb.

Perantikemasukan data (HC) bertujuan untuk memindahkan data dari luar ke daftar MP atau ke memori. Antaranya ialah papan kekunci, pelbagai panel kawalan, cakera magnet dan laser, dsb.

Peranti output data (UVv) bertujuan untuk persepsi data yang dihantar daripada daftar MP atau sel memori. Ini ialah paparan, pencetak, VCU, panel kawalan, plotter (plotter), dsb.

Untuk antara muka objek terkawal atau dipantau dengan MPU atau MPS, peralatan mesti termasuk penderia dan mekanisme penggerak. Untuk menghubungkan mereka ke MPU, sama ada Kementerian Keretapi menggunakan blokberpasangan, yang melaksanakan fungsi rundingan antara muka. Kadangkala unit ini dipanggil peranti komunikasi objek (OCD).

Antara muka peranti mikropemprosesdan sistem

Keupayaan seni bina IPM sebahagian besarnya bergantung pada jenis antara muka.

Antara muka bersatu ialah satu set peraturan yang menetapkanprinsip seragam interaksi peranti MPS.

Antara muka termasuk perkakasan untuk menyambungkan peranti (penyambung, sambungan), spesifikasi tatanama dan ciri sambungan, perisian, perihalan sifat isyarat antara muka dan rajah pemasaannya, serta penerangan parameter elektrofizik isyarat.

Tugas utama antara muka adalah, berdasarkan penyatuan, untuk memastikan keserasian perkakasan, perisian dan alat reka bentuk yang menentukan kualiti tertentu interaksi automatik elemen fungsi yang berbeza dalam satu proses pemprosesan maklumat dalam MPS pada peringkat pengumpulan, transformasi, penyimpanan dan penghantaran keputusan dan tindakan kawalan.

Seni bina MPS ditentukan terutamanya oleh tiga peringkat antara muka: sistem, mesin-ke-mesin dan antara muka kecil (antara muka persisian).

Antara muka sistem memastikan penyepaduan modul utama (blok) MPS ke dalam satu sistem untuk pertukaran maklumat yang sama dengan pemproses dan OZP.

Antara muka sistem dibahagikan kepada gumpalan (antara muka PC), gumpalan tempatan (Q-bas) dan tempatan (Unibus).

Antara muka mesin ke mesin menyediakan pembinaan sistem berbilang pemproses dan sistem dan rangkaian tempatan serta teragih.

Antara muka kecil mengambil kira perbezaan dalam prinsip fizikal operasi kumpulan peranti persisian dan ROM. Pengawal antara muka kecil menyediakan akses kepada antara muka sistem. Dalam kes ini, pengawal peranti persisian dan ROM pergi ke antara muka kecil yang sepadan.

Kawalan mikropemprosesperanti (sistem)

Penyelarasan masa isyarat maklumat dalam MPU dijalankan menggunakan isyarat khas yang datang dari peranti kawalan MP. MPU atau MPS berfungsi serentak dengan kemunculan isyarat jam. Tindakan paling mudah yang dilakukan dalam LCP (LPS) dipanggil syarat. Ia meliputi satu tempoh isyarat jam - jamselang atau ukuran.

Bilangan selang jam yang ditentukan ialah mesinkitaran. Satu memori atau akses I / O memerlukan satu kitaran mesin. Dalam satu kitaran, arahan atau data diambil, serta kod alamat (mungkin perintah atau bait data dan bait kod alamat).

Kitaran mesin- sebahagian daripada pasukan (kadang-kadang seluruh pasukan). Dengan permulaan setiap kitaran mesin, isyarat penyegerakan muncul pada pin penyegerakan MP. Ia dipindahkan ke peranti memori (memori) dan (atau) ke peranti input / output (IO) dan "memberitahu" tentang permulaan kitaran mesin baharu, akibatnya penyelarasan masa operasi peranti ini dengan operasi MP tercapai.

Skim 1. Struktur pasukan

Gelung arahan- selang masa yang diperlukan untuk mengambil arahan daripada memori dan melaksanakannya. Ia terdiri daripada satu atau lebih kitaran mesin. nombor mereka, sebagai peraturan, adalah sama dengan bilangan akses MT ke memori atau ke salah satu peranti I / O. Struktur arahan ditunjukkan dalam rajah 1.

Peranti kawalan melaksanakan fungsi kawalan dan penyegerakan, iaitu, ia mengawal perubahan dalam keadaan MP dalam urutan yang diperlukan, menyelaraskannya dengan isyarat penjana jam. Ia terdiri daripada mesin keadaan kawalan yang direka untuk mengawal proses di dalam MP, dan litar yang, menerima isyarat dari luar, menjana isyarat yang mengawal sistem.

Kod arahan dinyahsulit, bertukar menjadi isyarat binari yang mempengaruhi modul dan blok MP yang mengambil bahagian dalam pelaksanaan arahan ini.

Kitaran arahan dibahagikan kepada dua fasa: fasa persampelan dan fasa pelaksanaan.

Fasa persampelan- mesin menetapkan permulaan kitaran seterusnya, mengikut mana nombor dalam kaunter arahan dipindahkan ke daftar alamat penimbal. Dari sana, melalui bas alamat, kod alamat arahan dihantar ke ingatan, di mana ia dinyahsulit. Selepas isyarat "baca" dari sel memori, perkataan arahan dibaca dan dipindahkan melalui bas data ke daftar data penimbal, dari mana ia dipindahkan ke daftar arahan, dan kemudian dinyahsulitkan.

Fasa pelaksanaan- peranti kawalan menjana urutan isyarat yang diperlukan untuk melaksanakan arahan. Pada masa ini, data kaunter ditambah satu. Ini membentuk alamat arahan seterusnya yang akan dilaksanakan.

Membaca atau menulis perkataan berlaku dalam tempoh masa tertentu, yang dipanggil masa capaian. Jumlah masa yang diperlukan untuk mengakses dan menerima isyarat sedia dari ingatan dipanggil kitaran tunggu sedia. Ia membentuk sebahagian daripada kitaran mesin.

Pertukaran maklumat antara MP, memori dan peranti letupan udara dilaksanakan terutamanya dalam tiga mod: pertukaran dikawal perisian, pertukaran dalam mod gangguan, pertukaran dalam mod akses langsung.

Pertukaran dikawal perisian. Dalam mod ini, MP menentukan sama ada peranti memori atau peranti persisian (CP) bersedia untuk melakukan operasi I / O, hingga permulaan pemindahan data perisian. Peranti letupan udara mesti mempunyai perkakasan untuk menjana isyarat tentang keadaan dalaman. Ahli Parlimen membaca maklumat ini dan, berdasarkan analisis keputusan, menyimpulkan bahawa peranti itu bersedia untuk bertukar maklumat. Selepas itu, pertukaran data berlaku mengikut protokol antara muka.

Mod gangguan. Ia digunakan apabila perlu untuk segera memindahkan data antara letupan udara dan MP (tindak balas kepada kejadian luar jangkaan yang tidak dijangka). Dalam kes ini, MP mesti mengganggu kerja program utama dan mula melaksanakan program untuk menservis peranti luaran. Mod ini dipanggil gangguan. Mengganggu MT hanya boleh dilakukan apabila MT dibenarkan membalas permintaan gangguan.

Selepas menerima isyarat gangguan, MP melengkapkan operasi semasa, memindahkan semua maklumat data dalaman dan daftar kawalan untuk storan ke memori, dan pergi ke subrutin perkhidmatan gangguan. Selepas tamat pertukaran maklumat gangguan, keadaan MP dipulihkan, yang wujud pada permulaan gangguan.

Terdapat tiga jenis sampukan: mudah, vektor dan keutamaan.

Gangguan mudah memberitahu bahawa sesetengah peranti I/O memerlukan penyelenggaraan MP.

Gangguan vektor memungkinkan untuk mengenali jenis (tahap) gangguan yang diperlukan oleh peranti persisian. Vektor menentukan alamat peranti tertentu.

Gangguan keutamaan terdiri daripada fakta bahawa, sebagai tambahan kepada mengenali gangguan, keutamaan dalam menservis peranti mengganggu ditentukan.

Mod langsungakses ingatan. Kadang-kadang ia menjadi perlu untuk bertukar-tukar maklumat vn MP. Ini dikaitkan dengan pengurangan masa yang diperlukan untuk menukar tatasusunan data. Dalam kes ini, bahagian perkakasan MPP sama ada MPU termasuk pengawal akses terus ke memori, yang menguruskan pemindahan data, membebaskan MP daripada fungsi ini.

Peranti capaian memori langsung disambungkan selari dengan pemproses. Pemisahan saluran ini dijalankan menggunakan logik tristabil untuk mengawal keadaan bas MPS. Semasa capaian ingatan terus, MP memindahkan litar asalnya kepada keadaan impedans tinggi dan diasingkan daripada sistem, yang serupa dengan memecahkan saluran maklumat. Keadaan daftar dalaman kekal sama seperti pada masa permintaan untuk saluran akses langsung.

Terdapat beberapa cara untuk melaksanakan akses memori langsung. Kesemuanya memberikan kadar pertukaran data tertinggi berbanding mod pertukaran yang dikawal perisian. Selalunya, mod akses memori langsung dilaksanakan dengan menghentikan MP dan meningkatkan (memanjangkan masa) kitaran MP.

Kaedah hentikan berdasarkan fakta bahawa dalam keadaan ini MP diputuskan sambungan dari bas sistem untuk tempoh pemindahan data. Sebelum memasuki keadaan berhenti, Ahli Parlimen menyelesaikan pelaksanaan arahan semasa dan ditangguhkan dalam keadaan ini untuk beberapa kitaran jam, sehingga tayar menjadi bebas. Mengikut skim capaian ingatan langsung ini, MP, yang terputus sambungan dari bas, tidak bertindak balas terhadap gangguan, yang dalam beberapa kes mungkin tidak boleh diterima untuk MPS.

Kaedah tangkapan terdiri dalam pertukaran data berurutan. Peranti letupan udara pantas bertukar hanya satu perkataan; permintaan perkhidmatan mereka dipenuhi dengan menangguhkan pelaksanaan arahan semasa oleh satu kitaran mesin, apabila MT berada dalam keadaan peralihan dari satu kitaran mesin ke yang lain. Dalam mod DMA ini, MP digantung hanya untuk satu kitaran mesin untuk menghantar setiap perkataan data, selepas itu kawalan dikembalikan kepada MP.

Ruang alamat. Mekanisme dan kaedah menangani

Ruang alamat MPU (MPS) - banyak alamat operasiingatan danROM yang tersedia untuk program yang dilaksanakan oleh MP.

Saiz ruang alamat MP RAM adalah salah satu kuantiti yang mempengaruhi prestasi MPU secara keseluruhan.

Saiz ruang alamat - nilai,yang ditentukan oleh maksimumsaiz alamat dan dinyatakan dalam unit minimumbilangan elemen memori yang ditangani - dalam bait, atau dalam besarunit (KB, MB, GB).

Jika alamat dalam MPU dibentuk dalam bentuk perkataan 16-bit, maka ruang alamat ialah 64 KB, 20-bit - 1 MB, dll. MP dan letupan udara. Dalam kes ini, tiada arahan I / O seperti itu. Akses kepada daftar MP dan UVV dijalankan dengan cara yang sama seperti akses kepada sel memori.

Apabila membentuk perkataan, alamat 2-bait, bait dengan alamat genap (rendah) dipanggil yang lebih rendah, dan bait dengan alamat ganjil dipanggil yang lebih tinggi.

Selalunya ruang alamat MPU diwakili dalam bentuk rajah, yang menunjukkan jumlah julat alamat. Julat ini boleh dibahagikan kepada subjulat yang sepadan dengan saiz standard modul struktur, cip, jenis memori yang berbeza (RAM, ROM, dll.) atau tujuan khususnya.

Arahan alamat menduduki tempat yang penting dalam sistem arahan MP.

Perintah alamat - pasukan di manasatu atau kedua-dua operannya ialahdalam RAM.

Salah satu sebab untuk organisasi arahan sedemikian adalah mustahil untuk menulis alamat fizikal penuh secara langsung dalam satu operan arahan kerana sekatan ke atas panjang arahan. Oleh itu, hanya nilai tertentu diletakkan dalam operan, dengan bantuan alamat sebenar arahan dikira.

Secara umum, mekanisme pengalamatan sebahagian besarnya ditentukan oleh keupayaan LCP (MPS) untuk memproses maklumat dengan cekap dengan bilangan minimum panggilan ke RAM. Dalam LCP (MPS), arahan dua atau lebih perkataan sering digunakan.

Untuk mengehadkan panjang perkataan alamat, pelbagai kaedah pengalamatan digunakan, yang memungkinkan:

1) tentukan alamat penuh sel memori dengan bit yang lebih sedikit daripada panjang arahan dipendekkan;

2) akses sel memori, alamat yang dikira semasa pemprosesan, yang menyediakan akses kepada peranti pengembangan memori;

3) mengira alamat data berbanding dengan kedudukan (alamat semasa) arahan supaya atur cara boleh dimuatkan ke mana-mana lokasi memori tanpa mengubah alamat dalam program.

Semua mod pengalamatan boleh dibahagikan kepada dua kumpulan:

1) mod di mana alamat eksekutif ditentukan oleh satu nilai kod dalam arahan;

2) arahan yang menggunakan kandungan bahagian alamat arahan dan satu atau lebih daftar untuk membentuk alamat eksekutif.

Kumpulan pertama termasuk pengalamatan langsung, daftar langsung, daftar tidak langsung, tidak langsung, pengalamatan langsung, auto-inkremental dan auto-penurunan, dan yang kedua - pengalamatan asas, relatif, tindanan, maya.

Alamat langsung. Operand diambil dari ingatan (daftar) pada alamat yang ditulis dalam arahan. Walau bagaimanapun, menentukan alamat langsung memerlukan banyak bit untuk menerangkan alamat besar dalam arahan. Untuk mengurangkannya, sesetengah mikrokomputer menggunakan pengalamatan terus pendek, memberikan akses kepada bahagian terhad ruang alamat. Jika alamat dalam arahan tidak simbolik (dinyatakan oleh pautan), tetapi mutlak, maka pengalamatan langsung tersebut dipanggil mutlak.

Pengalamatan daftar langsung. V kod arahan menyimpan nama daftar di mana operan berada. Pengalamatan langsung tidak cukup fleksibel, kerana ia tidak memungkinkan untuk melaksanakan prosedur pengubahsuaian alamat yang diperlukan untuk memastikan pergerakan program dalam ingatan dan kemudahan bekerja dengan tatasusunan.

Pengalamatan tidak langsung. Operan daripada memori dipilih secara tidak langsung - melalui sel memori. Kod arahan mengandungi penunjuk ke alamat yang terletak dalam ingatan. Apabila melaksanakan arahan dengan pengalamatan sedemikian, akses memori dilakukan dua kali: pertama, alamat dipilih, dan kemudian operan. Oleh itu, tanpa menukar kod arahan, anda boleh menukar alamat yang disimpan dalam kawasan memori yang ditunjukkan oleh medan kod arahan.

Pengalamatan daftar tidak langsung. Dari segi kelajuan, ia mendekati pengalamatan langsung, kerana alamat tidak langsung dipilih daripada daftar dalaman pemproses dan tidak memerlukan kitaran memori tambahan. Menurut skema pengalamatan ini, pasangan daftar atau daftar mengandungi alamat pelaksanaan operan. Memuatkan daftar dijalankan menggunakan arahan dengan pengalamatan langsung. Penggunaan mod pengalamatan daftar tidak langsung memungkinkan untuk mengira alamat memori semasa pelaksanaan program, yang kadangkala diperlukan dalam prosedur pemindahan data, apabila melihat elemen tatasusunan, dsb.

Alamat langsung. Operan berada dalam kod arahan. Perintah dalam kes ini boleh terdiri daripada dua atau tiga perkataan.

Pengalamatan kenaikan automatik dan pengurangan automatik. Alamat eksekutif dikira dengan cara yang sama seperti untuk pengalamatan daftar tidak langsung, dan kemudian kandungan daftar ditingkatkan. Dalam mikrokomputer dengan pengalamatan bait, kandungan daftar mesti ditingkatkan sebanyak 1 untuk menunjukkan bait seterusnya, dan sebanyak 2 untuk menunjukkan alamat perkataan seterusnya, manakala saiz operan ditentukan oleh kod operasi. Dalam mod autodecremental, alamat operan dibentuk dengan menolak 1 atau 2 daripada daftar alamat. Perbezaan daripada pengalamatan auto-incremental ialah penolakan dilakukan sebelum menggunakan kandungan daftar sebagai alamat pelaksanaan. Gabungan mod kenaikan automatik dan penurunan automatik memastikan penggunaan mana-mana daftar secara cekap sebagai penuding tindanan. Pengalamatan sedemikian juga digunakan semasa mengatur gelung dan dalam operasi dengan pembolehubah rentetan.

Pengalamatan asas. Program yang mengandungi arahan dengan alamat mutlak tidak boleh dialihkan dalam ingatan tanpa mengubah suai alamat. Adalah mungkin untuk memastikan pergerakan program dalam ingatan menggunakan pengalamatan asas, dengan bantuan alamat operan dikira dengan menambah kandungan daftar asas - offset positif atau negatif dan alamat yang terletak dalam kod arahan.

Pengalamatan relatif. Alamat eksekutif dibentuk dengan menambah alamat asas ke medan alamat arahan. Kandungan pembilang program digunakan sebagai alamat asas. Penggunaan pengalamatan relatif memungkinkan untuk membina program yang bergerak secara bebas dalam ingatan kerana fakta bahawa ia sentiasa mengandungi offset berbanding dengan kandungan kaunter program. Offset ditafsirkan sebagai integer yang ditandatangani, diwakili dalam pelengkap dua, yang beralih ke mana-mana arah.

Pengalamatan timbunan. Pengalamatan daftar tidak langsung dengan autoincrement atau autodecrement (autoincrement atau autodecremental), di mana daftar dengan penunjuk alamat operan dinyatakan secara tersirat (terdapat arahan di mana lokasi operan dan hasilnya ditetapkan - pengalamatan tersirat). Lokasi memori yang ditunjukkan oleh kandungan daftar yang dinyatakan secara tersirat (penunjuk tindanan) dipanggil puncak timbunan. Dengan bantuan pengalamatan tindanan, akses khas kepada sekeping memori dipanggil timbunan, yang berlandaskan prinsip “last come – first out”. Untuk mengakses tindanan, arahan digunakan yang menulis maklumat pada tindanan dan mengeluarkannya daripadanya. Jika arahan yang menulis maklumat pada tindanan mengurangkan kandungan penuding tindanan, dan arahan yang muncul daripada kenaikan tindanan, maka mereka mengatakan bahawa tindanan berfungsi untuk menurun, sebaliknya - untuk meningkat.

Pengalamatan maya. Setiap pengguna memori (sistem pengendalian atau orang), menyelesaikan masalah yang digunakan, memanipulasi dengan alamat maya, yang mencipta ilusi memori kapasiti tanpa had, walaupun RAM sebenar sistem mempunyai kapasiti terhad. Ilusi dicipta kerana mekanisme pengalamatan maya, asasnya ialah pengagihan semula dinamik halaman memori antara memori utama sistem (OZP) dan luaran.

Sistem pengendalian mencipta jadual surat-menyurat antara halaman maya dan fizikal untuk setiap pengguna. Jika halaman fizikal diakses, yang tidak berada dalam memori utama, maka ia dikeluarkan dari memori luaran dan dimuatkan ke halaman utama, dan halaman yang tidak perlu "tersembunyi" dalam memori luaran. Memori maya, atau ringkasnya memori sistem, boleh dibahagikan kepada segmen di mana maklumat disimpan mengikut ciri fungsi. Sebagai contoh, dalam satu segmen - arahan, dalam kedua - data, dalam ketiga - bahagian timbunan. Atau, dalam satu segmen, di mana penulisan dilarang, adalah kernel sistem pengendalian, dan dalam segmen kedua, di mana menulis dan membaca dibenarkan, program pengguna. Oleh itu, dengan menggunakan mekanisme pembahagian, masalah perlindungan memori diselesaikan.

Segmentasi telah dilaksanakan dalam MP K1810VM86, dan pengalamatan maya - dalam MP ІАРХ286 (Intel) dan 68010 (Motorola).

Sistem arahan. Dalam kes umum, arahan difahami sebagai satu langkah dalam pengendalian peranti eksekutif dalam bentuk arahan dalam bahasa mesin. Perintah mentakrifkan operasi yang akan dilakukan dan atributnya: jenis operasi yang dilakukan dalam kitaran kerja ini; alamat satu atau dua operan yang terlibat dalam operasi; lokasi hasil operasi; alamat lokasi arahan seterusnya. Oleh kerana kedalaman MP yang kecil, adalah sukar, dan kadangkala mustahil, untuk menunjukkan maklumat tersebut dalam satu perkataan mesin. Oleh itu, arahan boleh terdiri daripada beberapa perkataan mesin.

Secara umum, jenis arahan berikut dibezakan:

1) pemindahan - satu arah (daftar-daftar, daftar memori, daftar-memori, memori-memori), pertukaran (daftar-daftar, daftar memori, memori-memori), arahan input / output;

2) aritmetik;

3) logik;

4) pemprosesan bit;

5) mereka yang mengubah urutan pengiraan - peralihan (tanpa syarat, bersyarat), panggilan ke subrutin, kembali dari subrutin, gangguan perisian.

Soalan ujian kendiri

1. Huraikan struktur umum MP dan MPS.

2. Atas alasan apakah antara muka MPU dan MPU dikelaskan?

3. Apakah fungsi yang MT lakukan semasa memproses arahan (arahan) semasa fasa persampelan, fasa pelaksanaan?

4. Dalam keadaan apakah pertukaran maklumat antara MP dan peranti storan dijalankan dalam mod gangguan atau capaian ingatan terus?

5. Apakah parameter MP yang bergantung kepada saiz ruang alamat?

6. Menggunakan Lampiran 1, berikan contoh arahan alamat dengan pengalamatan langsung, tidak langsung, langsung, asas, relatif, kenaikan automatik, tindanan dan maya.

7. Apakah maklumat yang dibawa oleh kod arahan dalam sistem arahan MP?

1.3. Memformalkan prosesmereka bentukperanti mikropemprosesdan sistem

Aspek dan tahap reka bentuk

Dalam reka bentuk MPU dan MPS, dalam banyak kes, mereka menggunakan pendekatan blok-hierarki, di mana sistem yang direka bentuk dibahagikan kepada peringkat hierarki. Pada peringkat tertinggi, persembahan paling tidak terperinci digunakan, di mana hanya ciri umum dan ciri sistem yang direka bentuk dipaparkan. Pada peringkat seterusnya, kebutiran meningkat. Dalam kes ini, MPS dianggap sebagai satu set blok berasingan. Pada setiap peringkat, masalah kerumitan tertentu dirumus dan diselesaikan, yang dilaksanakan menggunakan alat reka bentuk yang tersedia pada tahap ini. Pembahagian kepada blok harus sedemikian rupa sehingga dokumentasi untuk setiap blok individu dapat difahami oleh seorang pereka bentuk.

Jadi, pendekatan blok-hierarki memungkinkan untuk mengagihkan tugas reka bentuk yang kompleks untuk MPS berskala besar ke dalam kumpulan tugas berskala kecil, dan dalam kumpulan itu, tugas yang berbeza boleh diselesaikan secara selari.

Selaras dengan ESKD, apabila mereka bentuk peranti dan sistem, rajah struktur, fungsi dan skematik digunakan.

Adalah mungkin untuk membezakan tahap mendatar dan menegak dalam skema reka bentuk simulasi (Jadual 1). Tahap menegak dipanggil aspek. Terdapat beberapa aspek reka bentuk MPU dan MPS: berfungsi, algoritma, reka bentuk dan teknologi.

Aspek fungsi terdiri daripada tiga peringkat mendatar (ke-2, ke-3 dan ke-4): sistem (struktur), fungsi-logik dan komponen litar. Di peringkat sistem, mereka mereka bentuk rajah struktur MPU atau, MPS, pada tahap fungsi dan logik, rajah fungsi dan skematik MPU atau semua peranti yang merupakan sebahagian daripada MPS.

Pada subperingkat litar peringkat komponen litar, litar elektrik skematik litar bersepadu atau serpihan LSI (VLSI) direka bentuk. Unsur-unsur dalam kes ini ialah komponen litar elektronik: perintang, kapasitor, diod, transistor, dll. Pada subperingkat komponen, komponen IC individu dibangunkan, yang terdiri daripada unsur-bahagian kristal semikonduktor.

Aspek algoritma juga mengandungi tiga peringkat mendatar (1, 2 dan 3): tahap pembangunan skema fungsi MPU atau MPS, peringkat seni bina dan peringkat mikroprogram. Pada peringkat 1, mereka membangunkan skema untuk berfungsi MPU atau MPS, menentukan tugas yang akan diselesaikan oleh bahagian mikropemproses MPS, merancang sistem perisian dan membangunkan gambar rajah blok algoritma. Pada masa hadapan, modul perisian dibangunkan.

Tugas utama peringkat ke-2 (seni bina) ialah pilihan seni bina bahagian mikropemproses MPS. Kadangkala ia dianggap sebagai salah satu tugas peringkat sistem, iaitu, mereka menggabungkan tahap seni bina dan sistem ke dalam satu aspek reka bentuk berfungsi.

Jadual 1.Mendatar dan menegak ytahap reka bentuk

Aras mendatar

Aspek (tahap menegak)

Berfungsi

Algoritma

Reka bentuk

teknologi

Pembangunan undang-undang untuk fungsi LPA (MPS); mereka bentuk algoritma; modul pengaturcaraan

Sistemik (struktur)

Seni bina (mesin)

Riser, pa-nel

Pembangunan gambarajah skematik proses teknologi

Fungsi-logik

Perisian mikro

TEZ, modul

Pembangunan laluan proses teknologi

Skema-komponen-ny

hablur IC

Reka bentuk operasi teknologi

Tahap ke-3 (microprogram) bertujuan untuk reka bentuk program mikro operasi dan prosedur yang dilakukan dalam mikropemproses MPU atau MPS oleh perkakasan.

Aspek reka bentuk mengandungi tahap hierarki mendatar reka bentuk riser, panel, TEZ_v, modul dan kristal (ch_p_v) IC (ke-2, ke-3, ke-4 sama).

Aspek teknologi terdiri daripada tiga peringkat mendatar - ke-2, ke-3 dan ke-4. Pada peringkat ke-2, gambarajah proses teknologi pembuatan MPU atau MPS dibangunkan, iaitu komposisi dan urutan peringkat pembuatan MPS (MPS) ditentukan. Pada peringkat ke-3, laluan proses teknologi pembuatan MPU (MPS) dibangunkan, iaitu komposisi dan urutan operasi untuk pembuatan produk ditentukan, jenis dan kumpulan peralatan teknologi dipilih. Pada peringkat ke-4, operasi teknologi untuk pembuatan komponen MPU (MPU) direka bentuk.

Tugas utama peringkat reka bentuk

Sistemik dan seni binapersamaan reka bentuk:

1) penentuan prinsip-prinsip organisasi LPA (IPU);

2) pembangunan gambar rajah struktur, iaitu, penentuan komposisi peranti atau sistem dan kaedah interaksi komponen semasa operasi peralatan;

3) pemilihan set mikropemproses (mikropemproses) LSI (VLSI);

4) penentuan keperluan untuk parameter peranti atau sistem dan pembentukan tugas teknikal (TOR) untuk pembangunan peranti MPS individu.

Terma rujukan untuk pembangunan peranti individu MPS mengandungi: penghitungan semua fungsi yang dilakukan oleh setiap peranti; keadaan operasi peranti; keperluan untuk parameter input dan outputnya; data tentang kandungan dan bentuk maklumat yang ditukar dengan peranti peralatan lain; asas elemen untuk mencipta peranti.

Logik dan perisian tegar berfungsitahap reka bentuk:

1) memperincikan fungsi setiap peranti;

2) pelaksanaan algoritma fungsi yang dilakukan secara pengaturcaraan, dan pembentangan algoritma dalam salah satu bahasa algoritma yang diterima;

3) pilihan prinsip organisasi LPA (MPS) dan pembangunan rajah konsepnya;

4) pembangunan program mikro, yang berfungsi sebagai asas bagi setiap arahan atau set arahan mikro dan urutan pelaksanaannya;

5) sintesis gambar rajah berfungsi dan skematik peranti digital yang merupakan sebahagian daripada MPS;

6) sintesis ujian kawalan dan diagnostik untuk MPP atau MPE;

7) penggubalan spesifikasi teknikal untuk tahap reka bentuk litar.

Kriteria reka bentuk utama untuk MPP kompleks danMPS:

1) kualiti reka bentuk;

2) kos mereka bentuk;

3) syarat pembangunan;

4) bilangan pakar pembangunan yang bekerja.

Mengikut kemungkinan pemformalan proses reka bentuk dan sifat berulangnya, keutamaan diberikan kepada pilihan reka bentuk bantuan komputer MPP atau MPS. Hari ini, disebabkan kerumitan besar MPP dan MPS, pembangunan lengkap bahagian mikropemproses secara amnya mustahil tanpa menggunakan kaedah reka bentuk bantuan komputer.

soalan. Tugasan

1. Jelaskan intipati pendekatan blok-hierarki kepada reka bentuk WFP dan MPS.

2. Apakah yang diwakili oleh aspek dalam skema reka bentuk PPM simulasi?

3. Pada tahap mendatar yang manakah MPP direka dalam bentuk TEZ dan aspek manakah yang sepadan dengan ini?

4. Apakah tugas utama reka bentuk peringkat sistem WFP.

5. Apakah ciri-ciri tahap seni bina reka bentuk WFP?

6. Apakah intipati reka bentuk tahap fungsional-logik MPP dan MPS?

7. Apakah tugas utama yang diselesaikan di peringkat mikroprogram MPP?

1.4. Seni binamikropemprosesperanti dan sistem

Intipati seni bina dan prinsip

pembangunan peranti dan sistem mikropemproses

Intipati seni binaLPA dan Kementerian Keretapi.

Seni bina mikropemproses dicerminkan dalam kefungsian komponen elektronik konstituennya yang digunakan untuk mewakilidata, operasi mesin,penerangan tentang algoritma dan proses pengiraan.

Seni bina menyatukan perkakasan, perisian tegar dan perisian teknologi komputer dan memungkinkan untuk membezakan dengan jelas apa, apabila mencipta MPS tertentu, mesti dilaksanakan oleh pengguna dalam perisian dan perkakasan tambahan.

Jika tidak, seni bina MP adalah organisasi logiknya, kerana keupayaan MP berkenaan dengan perkakasan atau perisian pelaksanaan fungsi yang diberikan kepada MPU atau MPU yang direka bentuk. Ia memaparkan struktur MT, kaedah pembentangan dan format data, set arahan, format perkataan kawalan, cara mengakses semua elemen struktur yang tersedia kepada pengguna, tindak balas MT terhadap isyarat luaran.

Seni bina MT boleh dilihat sebagai satu set sifat dan cirinya dari sudut pandangan pengguna. Ia menerangkan metodologi untuk gabungan optimum set perkakasan, perisian dan cara pengaturcaraan mikro MPU atau MPS berhubung dengan sifat yang digunakan oleh pembangun dan pengaturcara pengguna.

Apabila berkembang seni binaLPU, dan juga untuk MT, format data dan arahan, sistem arahan dan kaedah pengalamatan ditentukan, jenis pengalamatan, keperluan untuk antara muka dibuktikan. Pilihan seni bina yang betul memungkinkan untuk mengoptimumkan proses pengiraan yang melaksanakan algoritma untuk berfungsi LCP.

Seni bina mikrokomputer - konsep abstrak mikrokomputer dari segi unit berfungsi, modul asas komputer, struktur data. Seni bina tidak mentakrifkan secara khusus ciri-ciri perkakasan, masa pelaksanaan arahan, tahap keselarian dalam pelaksanaan program, dan ciri-ciri lain yang serupa. Ia memaparkan aspek struktur mikrokomputer, khususnya: sistem arahan, mod pengalamatan, format data, satu set daftar yang tersedia untuk pengguna. Istilah "seni bina" digunakan untuk menerangkan keupayaan yang disediakan oleh mikrokomputer, dan istilah "organisasi" mentakrifkan cara keupayaan ini dilaksanakan.

Penerangan seni bina adalah model mikrokomputer, pemahaman yang penting bukan sahaja untuk pengaturcara. Ia boleh digunakan sebagai titik permulaan untuk pembangun berpotensi mikrokomputer baharu: dalam kes ini, pembangun mengubah elemen seni bina yang mewakili skema logik tertentu, satu set komponen saling berkaitan yang diperlukan.

Semua mikrokomputer mengandungi blok berfungsi dengan seni bina mikro dalaman mereka sendiri: 1) pemproses, terdiri daripada unit logik aritmetik dan unit kawalan; 2) memori ialah satu set elemen storan (sel) dan unit kawalan; 3) peranti untuk input dan output maklumat juga merupakan peranti kompleks yang merangkumi modul mekanikal dan elektronik. Blok berfungsi ini digabungkan menggunakan sistem bas: bas data, di mana maklumat ditukar antara blok mikrokomputer; bas alamat, yang digunakan untuk memindahkan alamat ke peranti dikawal perisian, dan bas kawalan, untuk memindahkan perkataan kawalan.

Definisi seni bina komputer, sebagai mikrokomputer universal, maknanya tidak berbeza dengan definisi seni bina mikrokomputer secara umum.

Seni bina komputer , dari sudut pandangan pengaturcara, perwakilan abstrak (atau takrifan) sistem pengkomputeran sebagai satu set perkakasan dan perisian. Pada dasarnya, seni bina ialah maklumat tentang organisasi berfungsi (logik) komputer.

Seni bina IPU - takrifan fungsi yang dilaksanakan oleh sistem pada peringkat individunya, dan takrifan tepat bagi sempadan antara tahap ini. Ia mentakrifkan prinsip organisasi MPS dan fungsi komponen konstituennya, khususnya pemproses, memori, dsb. Seni bina MPS tidak menggambarkan ciri reka bentuk struktur dan modul logik serta teknologi pengeluarannya.

Prinsip reka bentukLPA dan Kementerian Keretapi

Sejak awal lagi, dalam reka bentuk dan pembangunan mikrokomputer, prinsip asas berikut digunakan terutamanya: modulariti, tulang belakang, kebolehprograman mikro dan keteraturan struktur.

Prinsip organisasi modular memperuntukkan pembinaan mikrokomputer dan MPS berdasarkan set modul.

Modul - membina, berfungsi danelektrik lengkapperanti,yang membolehkannya bersendirian atau bersama-sama dengan orang lainmodulmenyelesaikan masalah pengiraan atau kawalandaripada kelas yang diberikan.

Membezakan berfungsi dan membina modul. Pendekatan modular memungkinkan untuk menyeragamkan elemen tahap yang lebih tinggi dan mengurangkan kos mereka bentuk LPA dan MPS, memudahkan peningkatan kapasiti dan konfigurasi semula sistem.

Sambungan modul dan elemennya antara satu sama lain dijalankan terutamanya mengikut dua prinsip: a) prinsip sewenang-wenangnyasambungan, yang melaksanakan peraturan "masing-masing dengan setiap", dan b) prinsippautan yang dipesan- batang, membolehkan untuk meminimumkan bilangan pautan. Mereka menyediakan pertukaran maklumat antara modul fungsian dan struktur pada tahap yang berbeza melalui lebuh raya yang menghubungkan bas input dan output.

Kebanyakan mikrokomputer dan MPS mempunyai organisasi kawalan program berbilang peringkat.

Prinsip kawalan mikroprogram memberikan fleksibiliti yang paling besar dalam mengatur modul mikropemproses pelbagai fungsi dan, melalui gabungan tertentu arahan mikro, memungkinkan untuk melaksanakan orientasi bermasalah mikrokomputer. Terima kasih kepada prinsip ini, adalah mungkin untuk menggunakan operasi makro dalam MPS dan untuk melaksanakan arahan dan program dengan lebih cekap daripada semasa menggunakan subrutin.

Kawalan perisian tegar menyediakan:

Fleksibiliti peranti yang lebih besar kerana keupayaan untuk menukar perisian tegar,

Meningkatkan keteraturan struktur peranti disebabkan penggunaan meluas struktur matriks seperti ingatan,

Menyediakan penyelesaian selari kawalan teragih dan masalah ingatan teragih,

Meningkatkan kebolehpercayaan peranti melalui penggunaan cip memori,

Memudahkan kawalan ke atas fungsi peranti, kerana kawalan unit kawalan program mikro dikurangkan kepada kawalan kandungan peranti storan.

Prinsip keteraturan menentukan kebolehulangan elemen struktur dan sambungan di antara mereka.

Keteraturan sistem biasanya dipertimbangkan pada tahap organisasi yang berbeza. Cara utama untuk meningkatkan keteraturan struktur LBT dan LPS ialah:

1) penggunaan meluas peranti seperti ingatan;

2) keengganan untuk menyerahkan operasi mikro tertentu kepada daftar;

3) penggunaan struktur daftar;

4) pengeluaran daftar tujuan umum dan daftar lain dalam bentuk sel memori;

5) penggunaan kaedah utama pertukaran maklumat;

7) penggunaan prinsip kawalan program mikro;

8) pembangunan MPS selari.

Klasifikasi seni bina peranti dan sistem mikropemproses

Terdapat beberapa klasifikasi seni bina MPU dan MPS, yang kebanyakannya bertepatan dengan penerangan tentang seni bina komputer umum.

PengelasanM. Flin. Ini adalah salah satu klasifikasi yang berjaya yang menunjukkan perbezaan seni bina antara komputer. Ciri-ciri seni bina komputer diterangkan dari segi aliran arahan (arahan) dan aliran data. Pendekatan ini memungkinkan untuk mengklasifikasikan seni bina komputer ke dalam salah satu kelas tertentu (Jadual 2, Skim 2).

jadual 2 Klasifikasi seni bina komputer Flynn

Aliran arahan

Aliran data tunggal

Aliran data berbilang (MD)

Bujang (OK)

SISD (komputer pemproses tunggal)

OKMD (SIMD) (komputer dengan pemproses selari atau bersekutu)

Berbilang (MK)

MISD (komputer tulang belakang penghantar)

MIMD (MIMD) (kompleks berbilang pemproses atau berbilang mesin)

Pengelasan dijalankan dalam aspek bukan struktur mesin, tetapi dalam aspek bagaimana dalam komputer arahan mesinnya berinteraksi dengan data. Namun begitu, klasifikasi Flynn adalah sangat umum, iaitu, ia mengklasifikasikan semua komputer selari, kecuali untuk multipemproses, ke kelas yang sama dan tidak menunjukkan sebarang perbezaan antara komputer penghantar dan matriks MP.

Klasifikasi seni bina lain juga digunakan, khususnya sistematik F. Shara, sistematik struktur R. Hockney dan C. Jesshope, yang menggunakan tatatanda struktur khas.

Taksonomi struktur R.Hockney dan K. Jesshope. Pada peringkat pertama, semua sistem pengkomputeran dibahagikan mengikut prinsip kepelbagaian (kuantiti) kepada sistem komputer tunggal dan berbilang komputer. Sistem pengkomputeran dengan satu komputer pula dibahagikan kepada komputer dengan satu MP penghantar dan banyak MP.

Yang pertama ialah komputer berjujukan tradisional, dan yang kedua membentuk kelas komputer selari, yang dibahagikan kepada matriks saluran paip, bukan saluran paip dan mikropemproses.

Skim 2. Ilustrasi klasifikasi Flynn seni bina komputer

Contoh salah satu mesin pengkomputeran selari bukan saluran paip terawal ialah CDC-6600, dibina berdasarkan beberapa pemproses skalar.

Komputer penghantar dibahagikan kepada komputer yang melaksanakan arahan skalar sahaja, contohnya komputer CDC-7800, FPC AP-120B dan komputer yang melaksanakan arahan vektor. Komputer yang menggunakan arahan vektor dibahagikan, seterusnya, kepada komputer dengan saluran paip khusus, contohnya, CRAY-1, dan dengan saluran paip universal, komputer CYBER 205.

Komputer kelas mesin dengan matriks pemproses Ia diklasifikasikan mengikut ketersambungan pemproses dalam matriks, mengikut lebar bit, dsb. Mesin pertama jenis ini ialah ILLIAC-IV, BSP, STA-RAN, ICL DAP, OMEN, dsb.

Komputer dibahagikan kepada dua kumpulan utama mengikut tujuannya: sejagat dan khusus .

Seni binavon Neumann

Sejagat komputer mempunyai seni bina tradisional "von Neumann" (atau seni bina skalar).

Prinsip asas membina komputer dikawal perisian.

Pada tahun 1946, ahli matematik terkenal Amerika J. von Neumann adalah orang pertama yang merumuskan prinsip asas membina komputer dikawal perisian, yang telah ditambah dan diperhalusi dari semasa ke semasa:

1) prinsip kawalan terprogram ialah komputer secara automatik boleh mengubah data awal mengikut program yang diberikan;

2) prinsip lompat bersyarat memberikan fleksibiliti dan serba boleh kepada program, memberikan peluang dalam proses menyelesaikan masalah untuk melompat ke bahagian tertentu program, bergantung pada hasil pengiraan pertengahan atau data awal;

3) prinsip pemeliharaan (keselamatan) atur cara ialah atur cara diletakkan dalam ingatan komputer;

4) prinsip akses rawak kepada elemen ingatan;

5) prinsip menggunakan sistem nombor binari;

6) prinsip ingatan bertingkat (hierarki).

Prinsip ini juga relevan untuk komputer moden, tetapi dengan penciptaan generasi baru dan keluarga mesin, ia telah ditambah dan diperhalusi.

Dalam komputer, bermula dari generasi ketiga, sebagai tambahan, prinsip berikut digunakan:

- multiprogramming- pelaksanaan bersama arahan berbeza yang sama atau berbeza, bebas daripada satu daripada satu, program yang disimpan dalam RAM;

- maklumat dan keserasian perisian- memungkinkan untuk menjalankan program sedia ada pada model keluarga yang berbeza;

tinggi tahap standardisasi teknikal- sama untuk semua tatanama mesin bagi peranti luaran dan lain-lain;

Kemungkinan organisasi kerja pelbagai peringkat mengenai penciptaan dan penambahbaikan komputer.

Mesin generasi keempat dibina mengikut prinsip:

- pelbagai pemprosesan- pertukaran beberapa pemproses apabila bekerja dengan memori yang dikongsi;

Organisasi ingatan maya- menyediakan jumlah ruang alamat RAM yang hampir tidak terhad;

Luas penggunaan BIC dan VLSI dan struktur makromodular, yang berdasarkan idea membina sistem pengkomputeran yang fleksibel secara fungsional daripada blok piawai yang besar (makromodul);

Penggunaan dalaman bahasa peringkat tinggi.

Mesin generasi kelima berbeza:

Peningkatan ketara dalam tahap intelek pemproses;

Pembangunan lanjut fungsi I / O untuk grafik, imej, dokumen, bahasa pengaturcaraan;

Kemungkinan pemprosesan maklumat interaktif menggunakan bahasa semula jadi;

Keupayaan untuk pembelajaran kendiri, untuk pembinaan bersekutu dan membuat kesimpulan.

Bahasa pengaturcaraan dalam proses membentuk program boleh melaksanakan antara muka semula jadi antara manusia dan mesin. Bahasa Tahap Ultra Tinggi Menyediakan:

Tahap kecerdasan yang tinggi dalam interaksi pengguna dengan sistem pengkomputeran pada tahap akses yang berbeza kepada pangkalan data untuk memilih maklumat yang diperlukan dan kepada pangkalan pengetahuan untuk mendapatkan idea baharu yang diperlukan untuk menyelesaikan masalah yang tidak dikenali;

Penggunaan dana perisian sedia ada, tertumpu pada seni bina komputer tradisional.

khusus komputer direka untuk meningkatkan prestasi secara dramatik semasa menyelesaikan jenis tertentutugasan... Ini dicapai pada mulanya melalui penggunaan pengkomputeran selari. Dari masa ke masa, mesin muncul yang berdasarkan pelaksanaan selari pelbagai fungsi atau pada pertindihan peranti aritmetik, khususnya, matriks pemproses.

Seni bina selari

Paralelisme berkembang dalam dua arah:

1) menambah baik struktur komputer dengan mengurangkan perbezaan antara kelajuan pemproses dan kelajuan akses kepada RAM;

2) pengulangan jenis peranti komputer yang sama, digabungkan mengikut topologi tertentu.

Paralelisme telah digunakan pada beberapa peringkat hierarki, khususnya:

1) tahap tugas - antara tugas yang dilakukan pada komputer, atau antara fasa tugas;

2) tahap program - antara bahagian program (contohnya, dalam sempadan kitaran);

3) peringkat arahan - antara fasa pelaksanaan arahan (arahan pemproses);

4) aras aritmetik dan bit - antara elemen operasi vektor dalam litar logik peranti aritmetik.

Pengetua caramemperkenalkan paralelisme dalam seni bina komputer boleh dibahagikan kepada kumpulan berikut:

- pemprosesan berfungsi- menyediakan beberapa peranti dengan keupayaan untuk melaksanakan fungsi yang berbeza, khususnya, operasi logik, penambahan, pendaraban, dsb.

- pemprosesan penghantar- penggunaan prinsip saluran paip untuk meningkatkan kecekapan peranti pemproses;

- pemprosesan matriks- penggunaan matriks elemen pemprosesan yang sama dengan sistem kawalan biasa, di mana semua elemen melakukan operasi yang sama, tetapi dengan data yang berbeza;

- pelbagai pemprosesan- dijalankan oleh beberapa pemproses, setiap satunya melaksanakan arahannya sendiri, dan semuanya berinteraksi melalui RAM biasa.

Isyarat dan mmikropemproses tunggal

Pemproses matriks isyarat - pemproses,berdasarkanprinsip pengurusanoleh aliran itu sendiridata.

Perintah mula dilaksanakan sebaik sahaja operan mereka tersedia. Dalam kes ini, ketibaan data daripada pemproses jiran ditafsirkan sebagai perubahan dalam keadaan dan memulakan tindakan tertentu.

Pemproses isyarat berfungsi sama dengan perambatan isyarat. Ia adalah sistem pengkomputeran matriks tak segerak global yang diedarkan.

Sistem media - rangkaian pemproses,yang melakukan iramapengiraan dan penghantaran data oleh sistem.

Setiap pemproses kerap mengepam data pada setiap titik masa, melakukan pengiraan pendek tertentu supaya aliran data disimpan dengan kerap pada rangkaian. Setiap pemproses ini hanya tertumpu pada satu kelas tugasan dan oleh itu tergolong dalam kelas komputer khusus.

Pada peringkat perkakasan, komputer ini dicirikan oleh penyegerakan global, yang menentukan awal berlakunya masalah seperti penyegerakan jam, peningkatan penggunaan kuasa, penurunan kebolehpercayaan, dsb.

Untuk sistem multipemproses penstriman universal, masalah konflik adalah penting, yang dikaitkan dengan penggunaan memori yang dikongsi dan interaksi pemproses. Masalah ini telah diselesaikan dengan menggantikan sistem aliran dengan sistem modular dan tempatan (yang dilaksanakan dalam pemproses matriks isyarat).

Banyak komputer khusus menggunakan "Seni bina Harvard" , intipatinya ialah itu ruang ingatan arahandipisahkan dari ruang ingatandata untuk mengambil arahan dan data secara serentak.

Seni bina RISC komputer

Komputer dengan set arahan / arahan yang dikurangkan ( RISC - komputer set arahan yang dikurangkan).

Sifat asas komputerdengan RISC-seni bina:

1) penggunaan arahan panjang tetap dengan sebilangan kecil jenis format;

2) keteraturan, yang memungkinkan, disebabkan oleh kesederhanaan arahan, untuk menggunakan peranti perkakasan yang sama untuk melaksanakan hampir semua arahan;

3) pelaksanaan kebanyakan arahan dalam satu kitaran mesin (kitaran jam);

4) fokus pada daftar - semua operasi data dilakukan dalam daftar, kecuali untuk memuatkan dan menulis arahan, pelaksanaannya dikaitkan dengan akses memori.

Kelebihan RISC-seni bina:

1) kesederhanaan setanding pelaksanaan perkakasan;

2) penyahsulitan pantas arahan;

3) masa kitaran yang singkat dan, oleh itu, pelaksanaan arahan yang pantas;

4) keupayaan untuk mencipta saluran paip arahan yang berkesan.

keburukan RISC-seni bina:

1) kadar pertukaran operan dan sel memori capaian rawak yang agak rendah;

2) keperluan perisian tambahan.

Prestasi komputer matriks moden dan komputer selari agak tinggi dan mencapai berbilion-bilion operasi sesaat berbanding operan 64-bit apabila melakukan operasi titik terapung. Apabila menyelesaikan masalah yang digunakan, prestasi mereka berkurangan dengan ketara dan menghampiri prestasi komputer tujuan am moden.

Antara saluran paip dan matriks MPS moden, superkomputer seperti Cray MP, dsb. harus dinamakan.

soalan. Tugasan

1. Apakah yang dipamerkan oleh seni bina MPU (mikrokomputer) dan apakah perbezaannya daripada seni bina MP?

2. Menerangkan intipati prinsip modulariti, tulang belakang, kebolehprograman mikro dan keteraturan struktur, yang digunakan dalam pembangunan MPA, mikrokomputer dan MPS.

3. Atas alasan apakah seni bina komputer dikelaskan?

4. Apakah intipati seni bina komputer von Neumann?

5. Apakah intipati seni bina Harvard komputer?

6. Senaraikan cara-cara memperkenalkan keselarian ke dalam seni bina komputer.

7. Jelaskan intipati multiprogramming komputer.

8. Apakah prinsip operasi rangkaian media MP dan MP matriks isyarat, apakah perbezaan mereka?

9. Apakah intipati seni bina RISC komputer, apakah kelebihan dan kekurangannya berbanding dengan seni bina yang dianggap sebelum ini?

kesusasteraan.

1. Mikropemproses dan mikroEOM dalam sistem virobnik: Posibnik - K .: Pusat Vidavnichy "Akademi", 2002. - 368 p. (Alma Mater).

2. Sistem pengkomputeran Korneev - M .: "Pengetahuan", 199s.

3., mikropemproses Kiselev - M .: "Pengetahuan", 199s.