Логикалық операциялардың командалары
КУРСТЫҚ ЖҰМЫСТЫ ОРЫНДАУҒА ТАПСЫРМА
Студент: Дандыбаев М.Б.
Тақырыбы: Pentium MMX микропроцессоры.
Аяқталған жұмысты тапсыру уақыты: «___»_______________2005 ж.
Жұмыс барысында қолданылатын бастапқы мәліметтер мазмұны, жұмысты сипаттайтын
Жұмыс жетекшісі: Өнгенбаева Ж. Ж.
Тапсырманы орындауға қабылдап алған студент: Дандыбаев М.Б.
«___»___________2005 ж.
Мазмұны
Кіріспе
Негізгі бөім
1. Pentium микропроцессорларының микроархитектурасы
2. Ішкі бүркеме-жады
3. Регистрлер
3.1. Жалпы мақсатты регистрлер
3.2. Сегменттік регистрлер
3.3. Күй және басқару регистрлері
4. Кеңейтілген командалар жүйелері
4.1 SIMD-командалары
4.2 SPFP – командалары
5. Pentium MMX процессоры
5.1 ММХ блогы
5.2 ММХ операциялық блогының командалары
6. Қорытынды
7. Қолданылған әдебиеттер
8. Қосымша А
Кіріспе
1971 жылы Intel фирмасының бірінші микропроцессорды жасап шығару
Бүгінгі таңда ең жақсы микропроцессор alpha 21264микропроцессоры болып
Микропроцессор ең күрделі микроэлектрондық құрылғы.оған ғылыми және инженерлік
Pentium микропроцессорының негізгі ерекшелігі оның микроархитектурасымен байланысты. Микроархитектурасы
Pentium микропроцессорларының микроархитектурасы
Intel компаниясы AGP шинасымен Pentium II
Бұл архитектураның ерекшелігі:
Командалар мен мәліметтер ағыны бөлінген ішкі жадының гарвардтік
Орындаушы құрығыларында параллелді жұмыс істейтін бірнеше командалардың бір
Тізбекті командаларының динамикалық өзгеруі;
Командаларының конвейерлі орындалуы;
Pentium 4 микропроцессорының құрылымында бірнеше ерекшеліктері бар (1-сурет).
Гарвардтік ішкі құрылым жүйелік шинадан келетін сыртқы интерфейс
Сыртқы интерфейс блогы процессордың жүйелік шинамен ауысуын жүзеге
1-сурет Pentium 4 микропроцессорының құрылымы
Командалар дешифраторы микропрограммалар жадысымен бірге жұмыс істейді. Келген
Микрокомандаар ағымдарының қалыптасуынан кейін, декодталған командалардың орындалуы үшін
Бұл процедура бір уақытта немесе олардың тізбектелінуінің өзгеруімен
Таңдалған микрокомандалар микрокомандалар кезегінде орналасады. Оның ішінде 126-ға
Процессор Транзистор саны Шығарылған жылы
4004 2300 1971
8008 3500 1972
8080 6000 1974
8080A 6000 1976
8085 6500 1976
8085A 6500 1978
8086 29000 1978
8088 29000 1979
188 100000 1982
186 100000 1982
286 134000 1982
386 275000 1985
386SX 275000 1988
386SL 855000 1990
486SX 1185000 1991
486 1200000 1989
Pentium 3100000 1993
686 22000000 1994-1996
786 100000000 1999-2001
Суперскаляры архитектура параллелді жұмыс істейтін блоктар қатары түрінде
Операндтар адрестері жадыдан таңдалатын, сыйымдылығы 8 Кбайтқа тең
Аналогты түрде бөлек жинақ регистрерін және операндтар адресін
Жадыдан операндты таңдау кезінде оқу және жазу бөлек
Адрестердің қалыптастырылуы кезінде берілген жады сегментіне қатынас жасалынады.
Pentium 4-те командалық орындаудың гиперконвейері технологиясы қолданылады. Бұл
Басқа программа тармақтарынан команданы таңдау және барлық алдынғы
IU1, IU2 блоктары бұл блоктар бүтін санды операцияларды
FPU блогы жылжымалы нүктелі сандармен операцияларды орындайтын командаларды
2. Ішкі бүркеме-жады
Бүркеме жады процессор мен негізгі жады арасында орналасқан,
31
TAG SET BYTE
19
tag 0 L0
tag 1 L1
tag 2 L2
tag 3 L3
tag 0 L0
tag 1 L1
tag 2 L2
tag 3 B31
tag 0 L0
tag 1 L1
tag 2 L2
tag 3 L3
2 - сурет. Бүркеме-жадының құрылымы және оған қатынау
Егер бүркеме-дәл түсу бүркеме-қате түсуге қарағанда неғұрлым көп
Р3 процессорарда командаларды және мәліметтерді сақтауға арналған ішкі
Ішкі бүркеме жадыдан басқа қосышқа сыртқы бүркеме жады
Бүркеме жады адрестеуі адрестің 32-разряды көмегімен орындалады,
Бүркеме жадыға қатынау негізінде SET өрісінің құрамы таңдалынатын
Бүркеме жады мен негізгі жады арасында жолдарды қайта
1-ші деңгейлі кэш-жады ды өзгеріске ұшырады. Мәліметтерді және
2-ші деңгейлі кэш-жады, Willamette ядросында істелген, 256 КБ
Р3-те қамтамасыз ететін жаңа командалар типі енгізілген:
негізгі жадыға қатынас саны қарастырылуы және қолдану тиімділігінің
жадымен бірге ауысу және есептеу конвейерінің параллельді жұмыс
Жадыдан операндты таңдау кезінде оқу мен
Негізгі жадыға жазылатын мәліметті аралық сақтау үшін MOB
Сыйымдылығы 32 байт буферлік жады жазба
Процессор жүйелік шинаға қатынауды қажет етпейтін команданы орындығын
Бүркеме-жадыны қолдана отырып, негізгі жадымен алмасу дестелі қатынау
Адрестерді қалыптастыру кезінде берілген жады сегментіне қатынау орындалады.
Р4 процессорында 12 қадамды командаалр конвейері жүзеге асырылған.
3. Регистрлер
3.1 Жалпы мақсатты регистрлер
Жалпы мақсатты регистрлер программаларда келесілерді сақтау үшін қолданылады:
Логикалық және арифметикалық операциялардың операндтарын;
Адрестің компоненттерін;
Жады ұяшықтарына нұсқағыштарды.
Осы барлық регитрлердің ішінен esp регистрін жеке айтуға
eax/ax/ah/al (Accumulator register) – аккумулятор. Аралық мәліметтерді сақтауға
ebx/bx/bh/bl (Base register) – базалық регистр. Жадыда кейбір
ecx/cx/ch/cl (Count register) – регистр-санағыш. Кейбір қайталанатын әрекеттерді
edx/dx/dh/dl (Data register) – мәліметтер регистрі. eax/ax/ah/al регистрі
Келесі екі регистр тізбекті операцияларды қолдану үшін қолданылады,
esi/si (Source Index register) – түптектің индексі. Бұл
edi/di (Destination Index Register) – қабылдауыш индексі. Бұл
Стекпен жұмыс жасау үшін микропроцессордың командалар жүйесінде арнайы
esp/sp (Stack Pointer register) – стек нұсқағышының регистрі.
ebp/bp (Base Pointer register) – стектің кадр базасының
3.2 Сегменттік регистрлер
Микропроцессордың программалық моделінде алты сегменттік регистрлер бар: cs,
код сегменті. Программаның командаларын қамтиды. Бұл сегментке қатынау
Мәліметтер сегменті. Программа өңдейтін мәліметтерді қамтиды. Бұл сегментке
Стек сегменті. Бұл сегмент стек деп аталатын жады
Қосымша мәліметтер сегменті. Егер программаға бір мәіметтер
3.3 Күй және басқару регистрлері
Микропроцессор күйі туралы ақпаратты, сонымен қатар программа және
Жалаушалар регистрі eflags/flags;
Командаға нұсқау регистрі eip/ip.
Бұл регистрлерді қолданып, командалардың орындалуы туралы ақпаратты алуға
4. Кеңейтілген командалар жүйелері
4.1 SIMD-командалары
SIMD-командалары жылжымалы нүктесі бар қорапталған мәліметтердің екі типті
Паралеллельді операциялар әрбір 128-разрядты операндтардан төрт 32-разрядты мәліметтер
Скалярлы операциялар екі операндтың кіші мәлімет элементтерінде орындалады.
Скалярлы операциялар орындайтын команда аттарында ss суффиксі болады
1-ші кестеде кейбір жүктемелі нүтелі командалардың мысалы келтірілген
Pentium III процессорының жаңа командалар жиынтығына бүтінсанды мәліметтер
Жаңа SIMD-команда бүтінсанды мәліметтер өңдеуі 64-разрядты топтарда қораптаған,
Жаңа бүтінсанды SIMD-команда аттар мнемоникасы орындалып жатқан операция
префикс p команда бірнеше мәліметтер элементтері үстінен параллельді
b, w, d және q суффикстері қолданылған мәліметтер
s немесе u суфикстері сәйкес келетін белгілі немесе
2-сурет. Бүтінсанды SIMD-командаларында мәліметтер форматы
Мысалы, pmullhuw көбейту командасы «белгісіз қорапталған
Үшөлшемді графика;
Кең параметрлі параметрді өзгеруімен процессорлердің модельденуі және сигналдардың
Видеосигналдың декодталынуы және блокты кодтаудың алгоритмдері;
Фильтрация ағымдар мәліметтерінің сандық алгоритмдері.
4.2 SPFP – командалары
Жылжымалы нүктелі бір SIMD-командасы біруақытта дара дәлдіктің төрт
SPFP-мәліметтер өңдеуінің SIMD командалары сегіз жаңа 128 разрядты
Алдыңғы Intel процессордің түрлері сияқты Pentium III-те
SPFP мәліметтер форматы 1.1. суретте көрсетілген. Әрбір 32
SPFP-команданың көбі екі операдты болады. Бірінші операндта тұратын
1-сурет. SPFP- мәліметтерін көрсету форматы
Pentiun III процессорының жаңа командалары 3 категорияға бөлінеді:
SPFP – дара дәлдіктің жылжымалы нүктелі форматында мәліметтерді
Қосымша SIMD-бүтін сандарды өңдеуге арналған командалар;
Бүркемелеуді басқару командалры.
5. Pentium MMX процессоры
5.1 ММХ блогы.
SIMD ( Single Instruction Multiple Data: Бір Команда
MMX командаларды орындаған кезде процессор операндтарды сақөтау ү.шін
Жадыдан таңдалынатын операндтардың адрестері MIU (Memory Untrface Unit)
5.2 ММХ операциялық блогының командалары.
ММХ – командаларын орындау кезінде процессор операндтарды FPU
ММХ командаларының барлығы дерлік Р префиксінен басталады (Packed),
Мәліметтерді тасымалдау командалары
MOVD
MOVQ
PEXTRW сөзді ММХ–регситрден жалпы мақсаттағы
PINSRW сөзді жалпы мақсаттағы
PMOVMSKB таңбалы биттерді ММХ–регситрден жалпы мақсаттағы
EMMS FFFFh
Түрлендіру командалары
PACKSS[WB,DW]
PACKUSWB таңбасыз қанығумен
PUNPCKH[BW,WD,DQ] жоғарғы жартыларын алу
PUNPCKL[BW,WD,DQ] кіші жартыларын алу
PSHUFW
Арифметикалық командалар
PADD[B,W,D]
PSUB[B,W,D] циклдік ауысумен алу
PADDS[B,W] қаныққан таңбалы қосу
PSUBS[B,W]
PADDUS[B,W] қаныққан таңбасыз
PSUBUS[B,W] қаныққан таңбасыз алу
PMULHW жоғарғы
PMULLW
PMULHUW
PMADDWD
PSADBW байттардың абсолютті айырмасын
PAVG[B,W] орта мәнді табу
Максимум және минимумды табу командалары
PMAXSW үлкен мәнді табу
PMAXUB үлкен
PMINSW кіші мәнді
PMINUB кіші мәнді
Салыстыру командалары
PCMPEQ[B,W,D] теңдікке салыстыру
PCMPGT[B,W,D] үлкен мәнге салыстыру
Логикалық операциялардың командалары
PAND
PANDN логикалық
POR
PXOR алатын
Жылжыту командалары
PSLL[W,D,Q] логикалық солға жылжыту
PSRL[W,D,Q] логикалық оңға жылжыту
PSRA[W,D] арифметикалық оңға
Қорытынды
Өнімділіктің үлкейтілуі ММХ-кеңейтілуі команда жүйелері кіріспесімен Pentium процессорінде
Мен бұл курстық жұмысты жазған кезде Intel Pentium
ММХ-технологиялық қасиеттерінің жетіспеушіліктерін орындауға Intel микропрцессордың 6-шы түрі
Қолданылған әдебиеттер
1. Михайл Гук “Аппаратные интерфейсы ПК”
2. Кеселев К. “Современные микропроцессоры”
8. Қосымша
LOOP командасын қолданып программа құру
sseg segment
db 128 dup(?)
sseg ends
dseg segment
A db 'm','a','r','a','t',0
B db 6 dup(?)
s1 db
db 25 dup(32),'¤ Enter Password:
db 25 dup(32),'¤--------------------------¤','$'
s2 db 'Right password!!! ','$'
s3 db 'Invalid password!!! ','$'
dseg ends
cseg segment
assume ss:sseg, ds:dseg, cs:cseg
start:
mov ax,dseg
mov ds,ax
mov ah,2h
mov dh,9
mov dl,25
int 10h
mov ah,9h
mov dx,offset s1
int 21h
mov ah,2h
mov dh,10
mov dl,43
int 10h
mov si,0
mov cx,6
m0:
mov al,0
mov b[si],al
inc si
loop m0
mov si,0
m1:
mov ah,8h
int 21h
cmp al,13
je m3
mov B[si],al
mov ah,0eh
mov al,'*'
int 10h
mov ah,2h
mov dh,10
inc dl
int 10h
inc si
cmp si,6
jne m1
m2:
mov ah,8h
int 21h
cmp al,13
je m3
jne m2
invalid:
mov ax,0003h
int 10h
mov ah,2h
mov dh,9
mov dl,25
int 10h
mov ah,9h
mov dx,offset s3
int 21h
mov ah,8h
int 21h
cmp al,13
je exit
m3:
mov si,0
m4:
mov al,A[si]
mov dl,B[si]
cmp dl,A[si]
jne invalid
inc si
cmp si,6
jne m4
mov ax,0003h
int 10h
mov ah,2h
mov dh,10
mov dl,25
int 10h
mov ah,9h
mov dx,offset s2
int 21h
mov ah,8h
int 21h
exit:
mov ah,4ch
int 21h
cseg ends
end start
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Қ.И Сәтбаев атындағы Қазақ Ұлттық Техникалық Университеті
«Есептеу техникасы» кафедрасы
КУРСТЫҚ ЖҰМЫС
Тақырыбы: Intel Pentium ММХ процессоры
Орындаған: Дандыбаев М.Б.
Тобы: ЗБИ-02-1қ
Тексерген: Өнгенбаева Ж.Ж.
Алматы 2005 жыл
29
63
Қорапталған байттар
Қорапталған сөздер
Қорапталған қос сөздер
64-разрядты сөздер
31
Мәліметтер3
Мәліметтер2
Мәліметтер1
Мәіметтер0
31 30
белгі
Реті
Микропроцессорлық жүйенің желілері
Командаларының конвейерлі орындалуы
Микроконтроллерлардың құрылымы және жұмыс істеуі
Арифметикалық өрнектер
C ++
Машинада деректер бойынша операцияларды орындау
Дербес электронды есептеу техникасының архитектурасы туралы ақпарат
Ассемблер тілінің синтаксисі, алфавиті
С++ тілінде диаграмма тұрғызу
Turbo Pascal жүйесіндегі графиканы ұйымдастыру технологиясы