Upload
fasma3686
View
95
Download
6
Tags:
Embed Size (px)
Citation preview
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
Leksione 3 dhe 4
Arkitektura e Proçesoreve Intel IA-32
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
2
Çeshtjet që do shqyrtohenÇeshtjet që do shqyrtohen
• Koncepte të përgjithshme
• Arkitektura e Proçesorëve IA-32
• Menaxhimi i Kujteses në IA-32
• Komponentët e një Mikrokompjuteri në IA-32
• Sistemi i Hyrje-Daljes(Input-Output)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
3
Koncepte të përgjithshmeKoncepte të përgjithshme
• Konstruksioni themelor i një mikrokompjuteri• Cikli i ekzekutimit të një instruksioni• Leximi nga Kujtesa• Si ekzekutohen programet
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
4
Konstruksioni themelor i një mikrokompjuteriKonstruksioni themelor i një mikrokompjuteri
• Sahati(clock) sinkronizon operimet e CPU-së• Njësia e kontrollit(CU) koordinon sekuencën e hapave të ekzekutimit• ALU kryen përpunime aritmetike dhe logjike
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
5
Sahati(Sahati(ClockClock))
• Sinkronizon të gjitha operimet e CPU-së dhe BUS-it• Cikli(i sahatit) i makinës mat kohen e një operimi të
vetëm• Sahati(clock) përdoret për të shkaktuar ndodhi(events)
one cycle
1
0
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
6
Në vazhdimNë vazhdim
• Koncepte të përgjithshme
• Arkitektura e Proçesorëve IA-32
• Menaxhimi i Kujteses në IA-32
• Komponentët e një Mikrokompjuteri në IA-32
• Sistemi i Hyrje-Daljes(Input-Output)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
7
Cikli i ekzekutimit të Cikli i ekzekutimit të InstruInstruksksionionitit
• Fetch• Dekodo• Operandët Fetch• Ekzekuto• Ruaj daljen
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
8
PipePipezimzim Shumë-Fazor(Shumë-Fazor(Multi-StageMulti-Stage))
• Pipezimi bën të mundur që proçesorët të ekzekutojnë instruksionët në paralel
• Ekzekutimi i instruksioneve ndahet në stade të fundme
Shembull i një proçesori të papipezuar.
Shumë cikle të shpërdorura.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
9
EEkzkzeekkutiutimi i mi i PipePipezuarzuar
• Përdorim më eficient i cikleve, levizje më e madhe instruksionesh:
Për k gjendje dhe n instruksione, numri i cikleve të nevojshme është:
k + (n – 1)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
10
CCikiklele të Shpërdorura të Shpërdorura ( (të të pipepipezuarazuara))
• Kur një nga stadet kërkon dy ose më shumë cikle sahati, ciklet e sahatit përsëri shpërdorohen.
Për k gjendje dhe n instruksione, numri I cikleve të nevojshme është:
k + (2n – 1)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
11
Proçesorë Proçesorë SupersSuperskkalaralar
Një proçesor superscalar ka pipëza shumëfishe ekzekutimi. Në figurën që vijon, vini re që Stadi S4 ka pipëza nga e majta dhe e djathta (u dhe v).
Për k gjendje dhe n instruksione, numri I cikleve të nevojshme është:
k + n
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
12
Leximi nga KujtesaLeximi nga Kujtesa
• Për të lexuar nga kujtesa nevojiten cikle shumëfishe makine, për arsye se reagon shumë më ngadalë se CPU-ja. Hapat janë:• adresa vendoset në linjën(bus) e adresave • Read Line (RD) vendoset në nivel të ulet• CPU pret bjë cikël për të reaguar kujtesa• Read Line (RD) bëhet 1, duke treguar që të dhenat ndodhen në
linjën e të dhenave(data bus)
Cycle 1 Cycle 2 Cycle 3 Cycle 4
Data
Address
CLK
ADDR
RD
DATA
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
13
Kujtesa e Fshehtë(Kujtesa e Fshehtë(Cache MemoryCache Memory))
• Kujtesë RAM me shpejtësi të lartë shumë e shtrenjtë brenda dhe jashtë CPU-së.• Level-1 cache: brenda CPU-së
• Level-2 cache: jashtë CPU-së
• Cache hit: kur të dhenat që do lexohen ndodhen në kujtesën e fshehtë(cache)
• Cache miss: kur të dhenat që do lexohen nuk ndodhen në kujtesën e fshehtë(cache).
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
14
Si ekzekutohet një programSi ekzekutohet një program
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
15
MultitaskingMultitasking
• OS mund të ekzekutojë shumë programe njëkohësisht.
• Shumë fije ekzekutimi të të njëjtit program.• Ndihmesa Scheduler i jep një sasi të dhenë kohe prej
kohës së disponueshme të proçesorit(CPU) secilit program që ekzekutohet.
• Kalimi i menjëhershëm nga një detyrë në tjetrën• jep iluzionin se të gjitha programet ekzekutohen
njëkohësisht
• proçesori duhet të suportojë “task switching”.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
16
Arkitektura e Proçesorëve Arkitektura e Proçesorëve IA-32IA-32
• Mënyrat e operimit• Ambjenti themelor i ekzekutimit• Njësia e pikës së lëvizshme(Floating-point Unit)• Historia e Mikroproçesorëve Intel
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
17
MMënyra ënyra OperiOperimimi
• Mënyra e Mbrojtur(Protected mode)• Mënyra natyrale(Windows, Linux)
• Mënyra Reale e adresimit(Real-address mode)• mund të përdoret për ekzekutimin e një programi MS-
DOS që i nevojitet akses direkt te kujtesa e sistemit dhe paisjet hardware
• Mënyra Menaxhim Sistemi (System management mode)• Menaxhim energjie, siguria e sistemit, diagnoza
• Mënyra Virtuale 8086 (Virtual-8086 mode)• hibride e Mënyrës së Mbrojtur
• çdo program ka kompjutërin e vet 8086
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
18
Ambjenti themelor i Ambjenti themelor i eekzkzeekkutiutimitmit
• Kujtesë e adresueshme• Regjistrat me përdorim të përgjithshëm• Regjistrat Index dhe Base• Përdorim i Specializuar regjistri• Flamujtë e gjendjes (Status flags)• Regjistrat Floating-point, MMX, XMM
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
19
Kujtesë e Kujtesë e AdresAdresueshmeueshme
• Në Protected mode• 4 GB
• 32-bit adresa
• Në mënyrat Real-address dhe Virtual-8086• 1 MB hapësirë
• 20-bit adresa
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
20
Regjistrat me përdorim të përgjithshëmRegjistrat me përdorim të përgjithshëm
CS
SS
DS
ES
EIP
EFLAGS
16-bit Segment Registers
EAX
EBX
ECX
EDX
32-bit General-Purpose Registers
FS
GS
EBP
ESP
ESI
EDI
• vendndodhje magazinash me shpejtësi të lartë brenda CPU-së
• shpejtësi shumë më e lartë nga kujtesat konvencionale
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
21
AAksksesiesimi mi PPjesor ijesor i Reg Regjjistristraveave
• Përdoret emër 8-bit, emër 16-bit, ose emër 32-bit• Aplikohet te EAX, EBX, ECX, dhe EDX
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
22
RegRegjjistristrat at Index dIndex dhehe Base Base
• Disa regjistra kanë vetëm një emër 16-bit për gjysmën e tij të ulët:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
23
Disa Përdorime të Disa Përdorime të SpecializSpecializuaruar RRegegjjistristri i (1 (1 nganga 2) 2)
• General-Purpose• EAX – accumulator• ECX – numëruesi i ciklit• ESP – stack pointer• ESI, EDI – index registers• EBP – extended frame pointer (stack)
• Segment• CS – code segment• DS – data segment• SS – stack segment• ES, FS, GS – segmente shtesë
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
24
• EIP – instruction pointer• EFLAGS
• status and control flags
• çdo flag është një bit i vetëm binar
Disa Përdorime të Disa Përdorime të SpecializSpecializuaruar RRegegjjistristri i ((22 nganga 2) 2)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
25
Flamujtë e Gjendjes(Flamujtë e Gjendjes(Status FlagsStatus Flags))• Carry
• aritmetikë pa shenjë jashtë rangut• Overflow
• aritmetikë me shenjë jashtë rangut• Sign
• rezultati është negativ• Zero
• rezultati është zero• Auxiliary Carry
• Mbartje nga biti 3 te biti 4• Parity
• Shuma e 1-biteve është numër çift
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
26
RegRegjjistristratat Floating-Point, MMX, XMM Floating-Point, MMX, XMM
• Tetë 80-bit regjistra të dhenash floating-point
• ST(0), ST(1), . . . , ST(7)
• Përdoret për gjithë aritmetikën me pikë të levizshme(floating-point)
• Tetë regjistra 64-bit MMX
• Tetë regjistra 128-bit XMM për veprime single-instruction multiple-data (SIMD)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
27
HistorHistoria e ia e Mi Mikkroproroproççesoresorëve ëve IntelIntel
• Intel 8086, 80286• Familja e proçesorëve IA-32• Familja e proçesorëve P6• CISC dhe RISC
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
28
MiMikkroproroproççesoresorët e Parë ët e Parë IntelIntel
• Intel 8086/8088• IBM-PC ka përdorur 8088• 1 MB RAM e Adresueshme• 16-bit regjistra• 16-bit data bus (8-bit për 8088)• Njësi e veçantë floating-point (8087)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
29
IBM-ATIBM-AT
• Intel 80286• 16 MB RAM e Adresueshme• Kujtesë e Mbrojtur• Shumë herë më e shpejtë se 8086• paraqitet IDE bus architecture• 80287 floating point unit
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
30
Intel IA-32 FamilyIntel IA-32 Family
• Intel386• 4 GB RAM e Adresueshme, 32-bit
regjistra, faqimi (kujtesa virtuale)
• Intel486• instruction pipelining
• Pentium• superscalar, 32-bit address bus, 64-bit
internal data path
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
31
Familja Familja Intel P6Intel P6
• Pentium Pro• Teknika të avancuara optimizimi në microcode
• Pentium II• MMX (multimedia) instruction set
• Pentium III• SIMD (streaming extensions) instructions
• Pentium 4 and Xeon• Intel NetBurst micro-architecture, e akorduar për
multimedia
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
32
CISC dCISC dhehe RISC RISC
• CISC – complex instruction set• set i madh instruksionesh• operime high-level• kërkon microcode interpreter• shembuj: familja Intel 80x86
• RISC – reduced instruction set• i thjeshtë, instruksione atomic• set i vogël instruksionesh• të ekzekutuar direkt nga hardware• shembuj :
• ARM (Advanced RISC Machines)
• DEC Alpha (tani Compaq)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
33
Në vazhdimNë vazhdim
• Koncepte të përgjithshme
• Arkitektura e Proçesorëve IA-32
• Menaxhimi i Kujteses në IA-32
• Komponentët e një Mikrokompjuteri në IA-32
• Sistemi i Hyrje-Daljes(Input-Output)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
34
Menaxhimi i Kujteses në IA-32Menaxhimi i Kujteses në IA-32
• Mënyra Reale e Adresimit(Real-address mode)• Llogaritja e Adresave Lineare• Protected mode• Modeli Shumë-segmentesh• Faqimi(Paging)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
35
Mënyra Reale e Adresimit(Real-address Mënyra Reale e Adresimit(Real-address mode)mode)
• Maksimalisht 1 MB RAM e adresueshme• Programet Aplikative mund të aksesojnë
çdo hapësirë të kujtesës• Single tasking• E suportuar nga sistemi operativ MS-DOS
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
36
Kujtesë e Kujtesë e SegmentSegmentuaruar
Adresimi i kujtesës së segmentuar: adresa absolute (linear) është një kombinim i një vlere 16-bit segmenti e shtuar një ofseti 16-bit
Ad
resa
line
are
një segment
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
37
Llogaritja e Llogaritja e AAdresave dresave LLineareineare
• Një adresë segmenti të dhenë, shumëzojeni me 16 (shtoni një zero hexadecimal), dhe shtojeni ate te ofseti
• Shembull: konvertoni 08F1:0100 në një adresë lineare
Vlera e rregulluare Segmentit : 0 8 F 1 0
Shto ofsetin: 0 1 0 0
Adresa Lineare: 0 9 0 1 0
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
38
Rradha JuajRradha Juaj. . .. . .
Cila adresë lineare i korrespondon adresës me segment/offset 028F:0030?
028F0 + 0030 = 02920
Përdorni gjithmonë shënimin hexadecimal për adresat.
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
39
Rradha JuajRradha Juaj. . .. . .
Cila adresë segmenti i korrespondon adresës lineare 28F30h?
Many adresa të ndryshme segment-offset mund të prodhojnë adresën lineare 28F30h. Për shembull:
28F0:0030, 28F3:0000, 28B0:0430, . . .
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
40
Mënyra e Mbrojtur(Mënyra e Mbrojtur(Protected ModeProtected Mode)) (1 (1 nganga 2) 2)
• 4 GB RAM e adresueshme • (00000000 to FFFFFFFFh)
• Çdo programi i jepet nje ndarje kujtese që është e mbrojtur nga programet e tjera
• E ndërtuar për multitasking• Suportohet nga Linux & MS-Windows
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
41
• Tabela përshkrimi për Segmentin• Struktura e Programit
• Hapësirë kodi, të dhenash, dhe stive
• CS, DS, SS segment descriptors
• global descriptor table (GDT)
• Programet MASM përdorin modelin e kujtesës flat të Microsoft
Mënyra e Mbrojtur(Mënyra e Mbrojtur(Protected ModeProtected Mode)) (1 (1 nganga 2) 2)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
42
Flat Segment ModelFlat Segment Model
• Single global descriptor table (GDT).• Të gjitha segmentet planifikohen te e gjithë hapësira e
adresave 32-bit
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
43
Multi-Segment ModelMulti-Segment Model
• Çdo program ka një local descriptor table (LDT)• mban descriptor për çdo segment të përdorur nga programi
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
44
Faqimi(Faqimi(PagingPaging))
• Suportohet direkt nga CPU• Ndan çdo segment në blloqe 4096-byte të quajtura
faqe• Shuma e të gjitha programeve mund të bëhet më e
madhe kujtesa natyrale• Një pjesë e programit që ekzekutohet ndodhet në
kujtesë, dhe një pjesë në disk• Virtual memory manager (VMM) – ndihemsë e
Sistemit Operativ që menaxhon ngarkimin dhe shkarkimin e faqeve
• Page fault – emetohet nga CPU kur faqja duhet të ngarkohet nga disku
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
45
Në vazhdimNë vazhdim
• Koncepte të përgjithshme
• Arkitektura e Proçesorëve IA-32
• Menaxhimi i Kujteses në IA-32
• Komponentët e një Mikrokompjuteri në IA-32
• Sistemi i Hyrje-Daljes(Input-Output)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
46
Komponentët e një Mikrokompjuteri në IA-32Komponentët e një Mikrokompjuteri në IA-32
• Motherboard• Dalja Video• Kujtesa• Portat e Hyrje-Daljes(Input-output)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
47
MotherboardMotherboard
• CPU socket• External cache memory slots• Main memory slots• BIOS chips• Sound synthesizer chip (me opsion)• Video controller chip (me opsion)• IDE, parallel, serial, USB, video, keyboard, joystick,
network, dhe mouse connectors• PCI bus connectors (karta zgjeruese)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
48
Intel D850MD MotherboardIntel D850MD Motherboard
dynamic RAM
Pentium 4 socket
Speaker
IDE drive connectors
mouse, keyboard, parallel, serial, and USB connectors
AGP slot
Battery
Video
Power connector
memory controller hub
Diskette connector
PCI slots
I/O Controller
Firmware hub
Audio chip
Burimi: Intel® Desktop Board D850MD/D850MV Technical Product Specification
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
49
Video OutputVideo Output
• Video controller• mbi motherboard, ose mbi expansion card• AGP (accelerated graphics port technology)*
• Video memory (VRAM)• Video CRT Display
• përdor skanim raster• horizontal retrace• vertical retrace
• Monitorë Direkt dixhital LCD• Nuk ka nëvojë të përdor skanim raster
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
50
SShembullhembull Video Controller (ATI Corp.) Video Controller (ATI Corp.)
• 128-bit 3D graphics performance powered by RAGE™ 128 PRO
• 3D graphics performance
• Intelligent TV-Tuner with Digital VCR
• TV-ON-DEMAND™
• Interactive Program Guide
• Still image and MPEG-2 motion video capture
• Video editing
• Hardware DVD video playback
• Video output to TV or VCR
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
51
KujtesaKujtesa
• ROM• read-only memory
• EPROM• erasable programmable read-only memory
• Dynamic RAM (DRAM)• e lirë; duhet rifreskuar në menyrë konstande
• Static RAM (SRAM)• e shtrenjtë; përdoret për cache memory; nuk ka nevojë
për rifreskim• Video RAM (VRAM)
• dual ported; i optimizuar për constant video refresh• CMOS RAM
• complimentary metal-oxide semiconductor• Informacion për nisjen e sistemit
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
52
PortPortat e Hyrje-Daljes(at e Hyrje-Daljes(Input-OutputInput-Output))
• USB (universal serial bus)• lidhje inteligjente high-speed me paisje
• deri në 480 megabits/sekondë
• USB hub lidh shumë paisje(devices)
• enumeration: compjuteri pyet paisjet
• suporton lidhje të nxehta(hot connections)
• Paralel• kabëll i shkurtër, high speed
• zakonisht për printera
• transferim bidirectional, parallel të dhenash
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
53
PortPortat e Hyrje-Daljes(at e Hyrje-Daljes(Input-OutputInput-Output))((vazhdimvazhdim))
• Serial• RS-232 serial port
• një bit njëherësh
• Përdor kabëll të gjatë dhe modeme
• Programmohet në gjuhë assembly
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
54
Në vazhdimNë vazhdim
• Koncepte të përgjithshme
• Arkitektura e Proçesorëve IA-32
• Menaxhimi i Kujteses në IA-32
• Komponentët e një Mikrokompjuteri në IA-32
• Sistemi i Hyrje-Daljes(Input-Output)
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
55
Nivelet e Hyrje-Daljes(Nivelet e Hyrje-Daljes(Input-OutputInput-Output levels) levels)
• Niveli 3: Thërret një funksion librarie (C++, Java)• e lehtë të bëhet; i abstraktuar nga hardware; detajet fshihen• përformancë më e ulët
• Niveli 2: Thërret një funksion të sistemit operativ• Specifik te SO; i pavarur nga paisja(device-independent)• përformancë mesatare
• Niveli 1: Thërret një funksion BIOS (basic input-output system)• Nëvojiten dije mbi hardware• Zakonisht përformancë e mirë
• Niveli 0: Komunikon direkt me hardware• Mund të mos lejohet nga disa sisteme operative
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
56
Afishimi i një Vargu me KAfishimi i një Vargu me Karaaraktktereree
Kur një HLL program afishon një varg karakteresh, kanë vend hapat që vijojnë:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
57
Nivelet e Programimit ASM Nivelet e Programimit ASM
Programet ASM mund të kryejnë hyrje-dalje në secilin nga nivelet që vijojnë:
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
58
SummarySummary
• Njësia Qendrore e Përpunimit (CPU)• Njësia Aritmetike Logjike (ALU)• Cikli i ekzekutimit të Instruksionit• Multitasking• Floating Point Unit (FPU)• Seti Kompleks i Instruksioneve• Menyra Reale(Real mode) dhe Menyra e
Mbrojtur(Protected Mode)• Komponentët e Motherboard-it• Tipe Kujtese• Input/Output dhe nivelet e aksesit
Pergatiti: Roland Vasili – Bazuar në Slidet e Kip Irvine
59
42 69 6E 61 72 7942 69 6E 61 72 79