Кейбір командаларда

Скачать



 МАЗМҰНЫ
Кіріспе 5
1 ЭЕМ архитектурасы 6
1.1 Микропроцессор Intel Pentium дамуы және негізгі
1.2 Intel P6 микропроцессорының құрылымы және функциялануы 9
1.3 Процессорлардың жұмысы 11
2. Архитектуралық және командалық конвейерін ұйымдастыру 12
3 Pentium P6-тің артықшылығы 14
3.1 Intel (Pentium III) шағынпроцессордың программалық моделі 15
3.2 Қолданылатын жалпы мақсатты регистрлер 15
3.3 Сегменттік регистрлер 16
Қорытынды 19
Пайдаланылған әдебиет 20
Кіріспе
Бүгінгі таңда адамдар өмірін электронды есептеуіш машинасыз
Шағын процессорлардың тарихы ең алғаш рет Intel фирмасы
Intel 404 бірінші типі 750 кГц жиілікте жұмыс
Микропроцессор ең күрделі микроэлектрондық құрылғы. Оған ғылыми және
1 ЭЕМ архитектурасы
ЭЕМ архитектурасы аз көлемді сыртқы тасымалдағыштар арқылы ақпаратты
1 – сурет. ЭЕМ архитектурасы
ЭЕМ-де процессор үлкен интегралды схемада құралады. ЭЕМ процессоры
1. Базалаық микропроцессорлық комплект.
2. Есте сақтау құрылғыларының интегралды сұлбасы.
3. Микропроцессорға ақпаратты е/ш құрылғыларының интегралды сұлбасы.
4. ЭЕМ-нің басқару объектілерімен байланысуға арналған интегралды сұлбалар.
Архитектуралық жалпы қасиеттер мен принциптерге мыналар жатады:
- Программаны сақтау принципі. Осыған сәйкес, программа коды
- Микропрограммалау принципі. Процессор құрамына микропрограмманы басқару блогы
- Жадының сызықты кеңістігі – жады ұяшықтарының жиынтығы,
- Программаның тізбектеле орындалуы. Процессор жадыдан команданы тек
2 – сурет. Р6 негізіндегі микропроцессордың құрылымыдық сұлбасы
Алдында айтып кетендей Р6 негізіндегі процессоры үшін жадының
1.1 Микропроцессор Intel Pentium дамуы және негізгі
1993 жылдан бастап Intel Pentium микопроцессорлары шығарыла бастады.
2 суретте Intel Р6 негізіндегі микропроцессорлар базасында компюетерлер
2 – сурет. Дербес компьютердің құрылымдық сұлбасы
Сұлбада компьютерлердің негізі, яғни микропроцессордың жалпы сұлбасы көрсетілген.
1.2 Intel P6 микропроцессорының құрылымы және функциялануы
Р6 процессорлары Intel 80х86 шағынпроцессорлардың жалпы жолын жалғастырып,
Гарвардтық құрылым – бүркеме жадының бөлек ішкі блоктарын
Суперскалярлық архитектура, параллельді жұмыс істеп жаьқан орындаушы құрылғыларда
Командалардың динамикалық орындалуы, яғни командалардың орындалу реті өзгереді
Екілік тәуелсіз шина, екінші дәрежелі бүркеме-жадыға қатынауға арналған
Р6 проце ссорлардың сипаттамалары келесідей:
32- разрядты ішкі құрылым;
36 разрядты адреске және 64 разрядты мәліметке арналған
3. командалар мен мәліметтерге арналған, әрқайсысының сыйымдылығы 16Кбайт
сыйымдылығы 2Мбайтқа дейінгі екінші деңгейлі командалар мен мәліметтердің
командалардың конвейерлік орындалуы;
жоғары дәлдікпен программалық тармақталудың бағытын болжау;
жылжымалы нүктелі операциялардың жеделдетілген орындалуы;
жадыға қатынау кезінде артықшылық бақылау (қорғалған режим);
мультипроцессорлық жүйелердің жүзеге асыруын қолдау;
өзіндік тестілеуді, жөндеуді және өнімділіктің мониторингісін қамтамасыз ететін
Бұл сипаттамалар Р6 процессорларға әртүрлі программалық жасаулармен тиімді
1.3 Процессорлардың жұмысы
P6 туындас процессорлар басқа 8086-микропроцессорлары-сияқты-екі-негізгі жұмыс режимінде жұмы
Процессорлардың мүмкіндіктреі қорғалған режимде жұмысістегенде толық іске асады.
Микропроцессор нақты режимде жұмыс істеген кезде, оның мүмкіндіктері
8086 микропроцессор үшін жазылған программалар жедел жұмыс істеу
Берілген тарауда Р6 процессорының қорғалған күйде (сегменттілік, жадының
80386, 80486, Pentium, P6 процессорлары үшін жазылған программалар
Кей кезде микропроцессорлық жүйенің жұмысы кезінде жадыны сегменттеу
4- сурет Адрестеу.
2. Архитектуралық және командалық конвейерін ұйымдастыру
Р6 процессорлардың жалпы құрылымы 5 суретте көрсетілген. Гарвардтық
Ішкі интерфейс блогы процессордың жүйелік шинамен және екінші
Бірінші деңгейлі сыйымдылықтары 16 Кбайттан тұратын командаларды және
Р6 процессорларында екінші деңгейлі бүркеме-жады (L2) бар, оның
Процессордағы декодерлеуді таңдау блогы командалар бүркеме-жадысынан 32 байт
Қарапайым командаларға, мысалы, қосу командасы, азайту командасы, салыстыру
DC3 декодері орындау үшін төртке дейін микрооперацияларды қажет
5 сурет. Р6 процессорлардың жалпы құрылымы
Егер командалар ағынында шартты өту командасы кездессе онда
Өтудің адресін болжау тетігі (механизмі) төменде сипатталған.
Микрокомандалар ағыны қалыптасқаннан кейін декодерленген командалардың орындалуына қажетті
Декодерленген командалар ағынын тиімдірек орындау үшін, командалар тізімін
Микрокомандалар орындаушы құрылғыларға үлестіру блогы (RS – Reservation
IU1, IU2 (IU – Integer Unit) атқарушы блоктар
3 Pentium P6-тің артықшылығы
Динамикалық орындау қолданылған – көптеген тармақтардың болжау әдістерінің
Екі бірдей тәуелсіз құрсым қолдану архитектурасы енгізілген, ол
Және процессорлар корпустарында синхронды L2 бүркемесі интеграцияланған –
3.1 Intel (Pentium III) шағынпроцессордың программалық моделі
Кез-келген орындалатын программа шағынпроцессордың белгілі ресурстар жиынына ие
3.2 Қолданылатын жалпы мақсатты регистрлер
Жалпы мақсатты регистрлер прграммаларда келесілерді сақтау үшін қолданылады:
- логикалық және арифметикалық операциялардың операндтарын;
- адрестің компоненттерін;
- жады ұяшықтарына нұсқағыштарды
Осы барлық регистрлердің ішінен esp регистрін жеке айтуға
1. Аралық мәліметтерді сақтауға арналған- аккумулятор. Кейбір командаларда
2. Жадыда кейбір объектінің базалық адресін сақтауға арналған-
Кейбір қайталанатын әрекеттерді орындайтын командаларда және сәйкес команданың
Кейбір командаларда қолдану міндетті, кейбір командаларда бұл айқындалмаған
3.3 Сегменттік регистрлер
Шағынпроцессордың программалық моделінде алты сегменттік регистрлер бар: cs,
Код сегменті. Программаның командаларын қамтиды. Бұл сегментке қатынау
Мәліметтер сегменті. Программа өңдейтін мәліметтерді қамтиды. Бұ сегментке
Стек сегменті. Бұл сегмент стеку деп аталатын жады
Қосымша мәліметтер сегменті. Егер программаға бір мәліметтер сегменті
Шағынпроцессор күйі туралы ақпаратты, сонымен қатар программа және
Жалаушалар регитрі eflags/flags;
Командаға нұсқау регистрі eip/ip.
Бұл регистрлерді қолданып, командалардың орындалуы туралы ақпаратты алуға
Eflags/flags регистрінің разрядтылығы – 32/16 бит. Берілген регистрдің
Қолдану ерекшкліктеріне қарай eflags/flags регистрінің жалаушаларын үш топқа
8 күй жалаушалары. Бұл жалаушалар машиналық командалар орынддалғанна
1 басқару жалаушасы df (Directory flag) деп белгіленеді.
5 жүйелік жалаушалары. Енгізу-шығаруды, қалқалынатын үзулерді, жөндеуді, есептер
Eip/ip (Instruction Pointer register) – командалар нұсқағышы. Бұл
TEST логикалық салыстыру
TEST логикалық командасы екі операнд арасында логикалық және
Бірінші операнд ретінде регистр (сегменттік регистрдан басқа) немесе
SF жалаушасы бірге орнайды егер команда орындалуы нәтижесінде
ZF жалаушасы жалаушасы бірге орнайды егер команда орындалуы
PF жалаушасы жалаушасы бірге орнайды егер команда орындалуы
Мысал 1.
Test ax, 1
Jne bityes
Je bitno
Мысал 2.
Test dx, 0FFFFh
Jz null
Мысал 3.
Test cx, 0F000h
Jne bityes
Je bitsno
Мысал 4.
Test ax, ax
Jz zero
Jnz notzero
NEG таңба өзгеруі, 2-ге дейін толу.
NEG командасы оң санды теріс санға және керісінше
Mov ax,0001
Neg ax
Mov bx, -2
Neg bx
Қорытынды
Бұл курстық жобада шағын микропроцессордың құрылымы зерттелді. Курстық
Пайдаланылған әдебиет
И.И. Шагурин “Процессоры семейства Р6”. Санкт-Петербург “Питер”, 2002.
В. Юров “ASSEMBLER”. Санкт-Петербург “Питер”, 2001.
С.В. Зубков “ASSEMBLER”. Москва, 1999.
К. Хамахер, З. Враншевич, С. Заки “Организация ЭВМ”
5. Тұрым А ЭЕМ кешендері, тораптар
Программаның листингі
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, StdCtrls, ComCtrls, MMSystem, Buttons;
type
TForm1 = class(TForm)
Image1: TImage;
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
Shape4: TShape;
Shape5: TShape;
Shape6: TShape;
Shape7: TShape;
Shape8: TShape;
Shape9: TShape;
Shape10: TShape;
Shape11: TShape;
Shape12: TShape;
Shape13: TShape;
Shape14: TShape;
Shape15: TShape;
Shape16: TShape;
Shape17: TShape;
Shape18: TShape;
Shape19: TShape;
Shape20: TShape;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Shape21: TShape;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
BitBtn1: TBitBtn;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Shape22: TShape;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Button10: TButton;
Button11: TButton;
Label33: TLabel;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Shape23: TShape;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses unit3;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
shape18.Visible:=true;
shape1.Visible:=true;
Label1.Visible:=true;
Label2.Visible:=true;
Button1.Visible:=false;
Button10.Visible:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
shape2.Visible:=true;
Label3.Visible:=true;
Label4.Visible:=true;
Button2.Visible:=false;
Button12.Visible:=false;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
shape3.Visible:=true;
shape4.Visible:=true;
Label5.Visible:=true;
Label6.Visible:=true;
Label7.Visible:=true;
Label8.Visible:=true;
Label9.Visible:=true;
Label10.Visible:=true;
Button3.Visible:=false;
Button13.Visible:=false;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
shape5.Visible:=true;
Label11.Visible:=true;
Label12.Visible:=true;
Label13.Visible:=true;
Button4.Visible:=false;
Button14.Visible:=false;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
shape6.Visible:=true;
shape21.Visible:=true;
Label14.Visible:=true;
Label15.Visible:=true;
Label16.Visible:=true;
Label17.Visible:=true;
Button5.Visible:=false;
Button15.Visible:=false;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
shape7.Visible:=true;
shape8.Visible:=true;
shape22.Visible:=true;
Label18.Visible:=true;
Label19.Visible:=true;
Label20.Visible:=true;
Button6.Visible:=false;
Button16.Visible:=false;
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
shape9.Visible:=true;
shape10.Visible:=true;
shape11.Visible:=true;
shape12.Visible:=true;
shape13.Visible:=true;
shape14.Visible:=true;
shape15.Visible:=true;
shape19.Visible:=true;
shape17.Visible:=true;
Label21.Visible:=true;
Label22.Visible:=true;
Label23.Visible:=true;
Label24.Visible:=true;
Label25.Visible:=true;
Label26.Visible:=true;
Button7.Visible:=false;
Button17.Visible:=false;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
shape16.Visible:=true;
shape20.Visible:=true;
Label27.Visible:=true;
Label28.Visible:=true;
Label29.Visible:=true;
Button8.Visible:=false;
end;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
label33.Visible:=true;
label30.Visible:=false;
label31.Visible:=true;
label32.Visible:=true;
label1.Visible:=false;
label2.Visible:=false;
label3.Visible:=false;
label4.Visible:=false;
label5.Visible:=false;
label6.Visible:=false;
label7.Visible:=false;
label8.Visible:=false;
label9.Visible:=false;
label10.Visible:=false;
label11.Visible:=false;
label12.Visible:=false;
label13.Visible:=false;
label14.Visible:=false;
label15.Visible:=false;
label16.Visible:=false;
label17.Visible:=false;
label18.Visible:=false;
label19.Visible:=false;
label20.Visible:=false;
label21.Visible:=false;
label22.Visible:=false;
label23.Visible:=false;
label24.Visible:=false;
label25.Visible:=false;
label26.Visible:=false;
label27.Visible:=false;
label28.Visible:=false;
label29.Visible:=false;
shape1.Visible:=false;
shape2.Visible:=false;
shape3.Visible:=false;
shape4.Visible:=false;
shape5.Visible:=false;
shape6.Visible:=false;
shape7.Visible:=false;
shape8.Visible:=false;
shape9.Visible:=false;
shape10.Visible:=false;
shape11.Visible:=false;
shape12.Visible:=false;
shape13.Visible:=false;
shape14.Visible:=false;
shape15.Visible:=false;
shape16.Visible:=false;
shape17.Visible:=false;
shape18.Visible:=false;
shape19.Visible:=false;
shape20.Visible:=false;
shape21.Visible:=false;
shape22.Visible:=false;
Button11.Visible:=false;
Button10.Visible:=true;
Button12.Visible:=true;
Button13.Visible:=true;
Button14.Visible:=true;
Button15.Visible:=true;
Button16.Visible:=true;
Button17.Visible:=true;
Button18.Visible:=true;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
shape23.Visible:=true;
shape3.Visible:=true;
label34.Visible:=true;
label35.Visible:=true;
label36.Visible:=true;
label10.Visible:=true;
label5.Visible:=true;
label6.Visible:=true;
button13.Visible:=false;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
shape16.Visible:=true;
shape20.Visible:=true;
Label27.Visible:=true;
Label28.Visible:=true;
Label29.Visible:=true;
Button8.Visible:=false;
Button18.caption:='End';
end;
end.







Скачать


zharar.kz