CITIUS-ALTIUS-FORTIUS
|
|
|
- Soner Koçak
- 9 yıl önce
- İzleme sayısı:
Transkript
1 CITIUS-ALTIUS-FORTIUS PROCESSOR Versiyon /04/2008 PROJE SORUMLUSU : BERKAY AYBAR MURAT GOKSEL [email protected], [email protected]
2 ICINDEKILER Tablo Listesi... Figur Listesi... 1 GIRIS FPGA RISC Islemci EDA Yazilimlari... 2 FPGA ile Fiziksel Islemci Tasarimi Uygulamasi RISC Komut Seti Mimarisi RISC Islemci Mimarisi RISC Islemci Verilog Uygulamasi Komut Yakalama Birimi Komut Cozumleme Birimi Kontrol Unitesi Calisma Unitesi Hafiza Birimleri bitlik Pipeline Islemci Uygulamasi Pipeline Tehlikeleri Donanim Uygulamasi... 3 Sonuclar... 4 Gelicekte Yapilmasi Gereken Calismalar... 5 Sonuc... Referanslar... Appiks... A. Komut Aciklamari... B. CAF Processor Verilog Kodu... C. CAF Processor Testbench Verilog Kodu... D. Simulasyon Sonuclari... E. Kaynaklar... FPGA ile CPU tasarimi Page 2
3 CAF PROCESSOR PROJE OZETI Bu proje kapsaminda verilen komut setinin tasarimda oncelikli olarak en verimli sekilde gerceklenmesi on gorulmustur. Tasarimi zenginlestirmek icin verilen komut setine ek olarak guncel islemcilerde kullanilan yaygin komutlar da eklenicektir(orn: POP, PUSH ). Tasarim 16- bitlik pipelined RISC mimarisi gerceklestirilerek uygulanacaktir. CAF_Processor tasariminin dort farkli bolumden olusmasi on gorulmustur, bunlar sirasiyla; 1) Komut Yakalama Bolumu (Instruction Fetch Stage) 2) Komut Cozumleme Bolumu (Instruction Decoding Stage) 3) Calisma Bolumu (Execution Stage) 4) Geri Okuma Bolumu( Write Back Stage) Her bolum bir veya birden fazla verilog modulunden olusacaktir. Projenin iki fazdan olusturulmasi on gorulmustur. Birinci faz verilen komut kumesinin ve buna ek olarak guncel komutlarin kullanilacagi 16-bitlik RISC islemci tasarimidir. Ikinci faz da ek olarak IEEE 754 Floating Point Unitesi nin de donanima entegre edilip komut kumesini zenginlestirmek ayni zamanda tasarlanicak islemcinin islem yapabilme gucunu artirmak olarak hedeflenmistir. Proje kapsamin da tasarlanicak islemci ile ornek bir FIR filtre uygulamasi yapilmasi planlanmaktadir. Proje kapsaminda ozellikle fonksyonel simulasyonlari ve post-synthesis simulasyonlarini gerceklestirmek icin gerekli olan EDA yazilimlari ve bir gelistirme boardi talep edilmektedir. C, A, F harfleri latince Citius- Altius- Fortius kelimelerinin bas harflerinden gelmektedir. Latince de bu kelimeler sirasiyla Daha hizli, Daha Yuksek, Daha Guclu anlamina gelmektedir. Tasarlanicak islemcininde butun bu ozellikleri saglamasi hedefligi icin bu isim proje icin uygun gorulmustur. FPGA ile CPU tasarimi Page 3
4 1 Add Addition 20 Lw Load word 2 Addi Addition (immediate) 21 Sw Store word 3 Sub Subtraction 22 Mov Move data between registers 4 Subi Subtraction (immediate) 23 Movi Move data (immediate) 5 Mul Multiplication 24 Beq Branch if equal to 0 6 Muli Multiplication (immediate) 25 Bne Branch if not equal to 0 7 Mulu Multiplication (unsigned) 26 Ba Branch always 8 Cmp Compare 27 BL Branch and Link 9 And AND 28 Nop No operation 10 Andi AND (immediate) 29 Hlt Halt 11 Or OR 30 Syscall System call (software interrupt) 12 Ori OR (immediate) 13 Not NOT 14 Xor XOR 15 Xori XOR (immediate) 16 Sll Logical shift left 17 Srl Logical shift right 18 Sla Arithmetic shift left 19 Sra Arithmetic shift right FPGA ile CPU tasarimi Page 4
5 FPGA ile CPU tasarimi Page 5
6 1 GIRIS 1.1 FPGA Bu projenin amaci FPGA icerisinde 16 bitlik RISC islemci tasarlamak ve bu islemciyi kullanarak bir uygulama gerceklestirmektir. Bu p roje raporu ileride egitim amacli kullanicagi dusunulerek sayisal tasarim ve FPGA teknolojisi hakkinda genel bilgilerde icermektedir. FPGA teknolojisi sayisal tasarimcilara cok buyuk esneklik saglamaktadir.bunun en buyuk sebeplerinden biri FPGA in tekrar programlanabilmesidir. Ayni zamanda FPGA lerin kismen dusuk fiyatli olmasi ve FPGA sirketlerinin(xilinx, Altera, Actel gibi...) sagladiklari gelismis yazilim araclari sayisal tasarimla ugrasan donanim muhislerinin hayatini kolaylastirir. FPGA ile yeni calismaya baslayan genc muhensdiler genellikle FPGA yi farkli bir tur mikroislemci sanarlar. Fakat FPGA kullanim amaci ile mikroislemcinin kullanim amaci bir cok zaman birbirlerinden cok farklidir. FPGA in iki farkli kullanim alani vardir bunlardan ilki ASIC prototip gerceklemesidir. ASIC tasarimcilari yaptiklari tasarimlari bilgisayar uzerinde yaptiklari simulasyonlardan sonra FPGA uzerine tasirlar. Cunku FPGA uzerine tasinan bir tasarim gercek zamanda fonksyonellik gosterir. Tasarimci kisinden istenen tasarimin kriterleri gerceklesip gerceklesmedigini bu evrede test etme sansi bulunur.tasarim muhisleri icin tasarimlarinin kriterleri olusturup olusturmadigini gormelerini saglayan onemli bir firsattir. Bundan sonraki adim tasarimin ASIC(Chip) in fabrikasyonu icin proses e gonderilmesidir. FPGA baska bir kullanim alani ise dusuk hacimde sistem uretimlerinde ASIC ye bir alternatiftir. ASIC uretimi cok maliyetli bir is oldugu icin ancak yuksek hacimde uretim yapildigi zaman ASIC in birim fiyati makul bir degere ulasir. Ama eger yuksek hacimli bir uretim yapilmayacaksa ASIC uretimi cok pahali olabilir. Bu noktada FPGA boslugu doldurur tasarimcilara hem fiyat hemde tasarim kolayligi acisindan cok fazla avantaj saglar. Tasarlanicak olan spesifik devre FPGA icinde gerceklestirilir ve sistem icinde calistirilir. FPGA ile CPU tasarimi Page 6
7 1.2 RISC Islemci Bu projede yer alan islemci mimarisi RISC islemci mimarisidir. RISC (Reduced Instruction Set Computer ) Komut Seti Azaltilmis Bilgisayar anlamina gelmektedir. Komut setinin azaltilmasi, cogu zaman islemcinin komut kumesindeki kompleks komutlarin cikartilmasi ile gerceklesir. Bu RISC islemci mimarisini daha az kompleks yapar. RISC islemcilerde asil amac tasarlanan komut kumesini basit yapmak ve bunun sonucunda komutlari hizli isleyen bir islemci elde etmektir. RISC islemcilerde komutlarin islenmesi bir saat cevrimi surer ve komutlarin uzunlugu sabittir. RISC islemci mimarisi bir baska islemci mimarisi olan CISC(Complex Instruction Set Computer) mimarisine alternatif olarak tasarlanmistir. Gunumuzde kullanilan bir cok kisisel bilgasayar CISC mimarisi icerir lerin basinda ilk mikroislemci tasarlandiginda hafiza birimleri pahali oldugundan komutlari mumkun oldugu kompleks tasarlayip olusturulucak programlarin hafizada daha az yer kaplanmasi amaclanmistir. O donemde hafiza birimleri maliyetli oldugu icin islemci tasarimcilarini bu yola yoneltmistir. Hafiza maliyetlerinin dusmesi tasarimcilari RISC islemci mimarisine yoneltmistir. RISC ve CISC komut setleri arasindaki iliskiyi guzel bir analoji yaparak aciklamaya calisalim. Ornegin latin alfabesi kullanarak yazilmis bir kitap in toplam sayfa sayisi ile ayni kitabin Cince yazilmis versiyonu ayni sayida degildir. Cince yazilan kitap cok daha az sayfadan olusur bunun sebebi Cın alfabesinde 4000 den fazla farkli sembolun olusudur. Semboller cok spesifik anlamlar icerebilirler fakat bunun sonucunda cok kompleks ve ogrenmesi cok zordur. Latin alfabesinde ise sadece 26 farkli sembol vardir. Bununla beraber ayni kitap cok daha fazla sayfa icermektedir. RISC islemci ve CISC islemci komut seti arasindaki farkda buna cok benzerdir. CISC islemcileri cozumlemek cok daha karisik ve zordur. Genel RISC mimarisi dort bolumden olusmustur. Bunlar sirasiyla 1. Komut Yakalama Evresi(Instruction Fetch Stage) 2. Komut Cozumleme Evresi(Instruction Decode Stage) 3. Komut Calistirma Evresi (Instruction Execution Stage) 4. Geri Yazma Evresi(Write Back) Ilerleyen bolumlerde CAF islemci tasarimi ve mimarisi ile ilgili daha detayli bilgi verilecektir. FPGA ile CPU tasarimi Page 7
8 1.3 EDA Yazilimlari FPGA ile CPU tasarimi Page 8
9 2 FPGA ile Fiziksel Islemci Uygulamasi 2.1 Komut Seti Mimarisi Genel olarak RISC islemcilerde basit ve tekduze bir komut formati kullanilir. RISC islemcilerde cok fazla komut formati olmamasi komut cozumlemesini onemli olcude kolaylastirir. CAF islemci komut mimarisi de 30 komut tan olusmustur. Ileride ek komutlarin mimariye eklenmesi planlanmisitir. Genel RISC islemci mimarisinde iki veya uc farkli adresleme teknigi kullanilir ve en genel adresleme teknikleri immediate, direct ve indexed dir. CAF islemci komut setinde de ayni sekilde uc farkli adresleme teknigi kullanilmistir. Diger gerekli adresleme modlari bu temel adresleme modlarindan elde edilebir. CAF islemcisindeki komutlari fonksiyonelliklerine gore gruplandirildiginda dort farkli gruba ayrilir. 1. Brans(Dallanma) Komutlari (Branch Instructions) 2. Veri Isleme Komutlari(Data Processing Instructions) 3. Yukleme ve Depolama Komutlari(Load&Store Instructions) 4. Kesme ve Diger Komutlar(Interrupt) Brans Komutlari: CAF islemcide uc cesit Brans komutu vardir bunlar kosulsuz(branch Always), Kosullu(Branch Equal, Branch Not Equal) ve altprogramlardir(branc&link). Brans komutlari program sayacinin icerigini degistirerek hafiza icerisinde farkli bir bolgeye yonlirirler. Kosullu brans komutlarinda programi yonlirmek icin kosulun saglanmasi gerekir. Kosul saglanirsa program sayaci ana-rutinden cikar ve altprogramin komutlarini islemeye baslar. CAF islemcide kosulsuz brans komutu program sayacini 1Kbyte ileri veya geri goturebilirler. Kosullu brans komutu ise ancak 256 byte ileri veya geri goturebilir. Veri Isleme Komutlari: Yukleme ve Depolama Komutlari: Kesme ve Diger Komutlar: CAF_Processor Komut Kumesi Komut Sembol Ornek Anlam Yorum Toplama add Toplama addi Immediate Cikarma sub Cikarma Immediate Subi FPGA ile CPU tasarimi Page 9
10 Carpma Mul Carpma Muli Immediate Carpma mulu Isaretsiz Kiyaslama Cmp Ve And Ve Andi Immediate Veya Or Veya Ori Immediate Not Not Xor Xor Xor Xori immediate Mantiksal Sll sola kaydirma Mantiksal Sri saga kaydirma Aritmetik Sla sola kaydirma Aritmetik Sra saga kaydirma Kelime Lw Yukleme Kelime Sw Depolama Tasima mov Tasima Movi Immediate Kosul(Eger Beq a esit ise) Kosul (Eger Bne esit degil ise) Kosul her Ba zaman Kosul ve BL baglama İslem yok Nop FPGA ile CPU tasarimi Page 10
11 Dur Halt Kesme Syscall CAF Islemci Ek Komutlar FPGA ile CPU tasarimi Page 11
12 2.2 RISC Islemci Mimarisi RISC islemcilerin komut setinin basit ve kisa olmasi mimarinin de daha az kompleks olmasinda buyuk bir etkir. RISC mimarisinin bir baska ozelligi, yukleme(load) ve depolama(store) komutlarinin disindaki tum komutlar veriyi islemci icerisindeki yazicilardan okur veya yazarlar. Sadece yukleme(load) ve depolama(store) komutlari disardaki hafiza birimiyle arayuz saglar. Islemcinin icindeki yazicilar(register) disardaki hafiza birimlerinden(ana hafiza veya cache hafiza) cok daha hizli oldugundan komutlarin cok daha hizli ve efektif calistirilmasi mumkun olur. Genel RISC islemci mimarisinde yazici dosyalari(register file) denilen yazici kumesi bulunur. Yazicilar islemci icerisinde gecici olarak sayisal veri depolamasinda kullanilir. RISC islemci mimarisinde cok sayida genel amacli yazici bulundugundan komut isleme sirasinda gerekli olan veriler burada saklanabilir. Bu da ana hafiza birimine olan bagimliligi azaltir ve islemcinin performansini arttirir. Bilindigi gibi islemcinin disinda bulunan hafiza birimine ulasmak icerdeki yazicilara ulasmaktan cok daha fazla zaman alir. Yazici dosyalari ayni zamanda hizli ve efektif altprogram calistirilmasi icinde kullanilir. Genel RISC islemci mimarisinde herhangi bir zamanda anarutin komut sirasinda giderken yazici dosyalarinin belli bir kismina ulasilabilir. Ornegin CAF islemcide 16 tane 16-bitlik genel amacli yazici dosyasi bulunur fakat bunlardan sadece ilk 8 tanesine ulasilabilir. Bir altprogram cagrildigi zaman altprogramin geri kalan 8 yaziciya ulasma hakki vardir. Boylece altprogram cagrildigi zaman anarutindeki veriler yazicilarda tutulur. FPGA ile CPU tasarimi Page 12
13 2.3 RISC Islemci Verilog Uygulamasi Komut Yakalama Evresi(Instruction Fetch Unit) Komut yakalama evresinde komut, hafizada program sayacinin gosterdigi yerden alinir ve komut yazicisina yazilir(if_ir). Program sayaci komut adres bilgisini tutar ve komutlar islikce icerigini iki artirir. Her komut 2byte oldugu icin program sayacida iki artirilir. Hafizadan komut okunmasi icin read_instruction_n sinyalide sifira cekilir. Bir sonraki saat cevriminde hafizadan alinan komut, IF_IR yazicisina depolanir. Komut yakalama evresi her saat cevriminde bu operasyonu yeni komutlar icin gerceklestirir. Boylece komut adresi bir sonraki komut icin hazirlanirken ayni zamanda o anda gelen komut da IF_IR yazicisinda depolanir. Eger brans gelmediyse programi olusturan komutlar sirali bir sekilde calisir. Eger bir brans operasyonu calistirilirsa o zaman program_sayicisina brans in oldugu adres aktarilir. Figur 1.1 Komut Yakalama Evresi //Komut_Yakalama: Komut Yakalama Evresi always@(posedge clk or reset_n) begin if(~reset_n) begin PC <= 0; //program sayaci ilk kosulu read_instruction_n <= 0; else begin read_instruction_n <= 0; if(branch_active) begin PC <= branch_pc_reg; IF_IR <= branch_instruction; IF_PC <=branch_pc_reg; else begin PC <= PC + 2; IF_IR <= instruction; // Komut Yakalama Komut Yazicisi IF_IR <= PC + 2; FPGA ile CPU tasarimi Page 13
14 2.3.2 Komut Cozumleme Evresi Komut cozumleme evresinde IF_IR sayacinda depolanan komut cozumlenir ve genel amacli yazicilarda (yazici dosyasi ) bulunan veri, calistirma evresinde kullanilmak uzere komut cozucu yazicilarina aktarilir. Yazici dosyalarinda bulunan verilerin komut cozucu yazicilarina aktarilmasinin sebebi verilen komutun yazici dosyasi icinden herhangi bir yazicidan veriyi aktarabilmesidir. Bu progamciya esneklik saglar. Asagidaki verilog kodu komut cozumleyici evrenin kodunu gostermistir. Verilog kodunda ornek olmasi icin sadece ADD ve ADDi komutlari cozumlenmistir. Always blogu icinde sadece case statement kullanilmistir. Komut cozumleme evresinin butun kismi Apiks B kisminda bulunabilir. Figur 1.2 Komut Cozumleme Evresi //Komut_Cozucu Evresi always@(posedge clk) begin case(if_ir[15:10]) 6'b00_0001:begin ID_opcode <= `ADD; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_0010:begin ID_opcode <= `ADDi; ID_Ra <= R[10:8]; ID_imm_offset[7:0] <= IF_IR[7:0];.... case // always blok sonu FPGA ile CPU tasarimi Page 14
15 2.3.3 Calistirma Evresi(Execution Stage) FPGA ile CPU tasarimi Page 15
16 2.3.4 Geri Yazma Evresi (Write Back Stage) FPGA ile CPU tasarimi Page 16
17 Apiks A : Komut Aciklamalari CAF Processor Versiyon1.00 1) ADD(Toplama) X Ra Rb Rc 2 ) Addi(Toplama-Immediate) Ra Immediate 3)Sub(Cikarma) X Ra Rb Rc FPGA ile CPU tasarimi Page 17
18 4)Subi(Cikarma-Immediate) Ra Immediate 5) Mul(Carpma) X Ra Rb Rc 6 ) Muli(Carpma-Immediate) Ra Immediate FPGA ile CPU tasarimi Page 18
19 7) Mulu(Carpma-Isaretsiz) X Ra Rb Rc 8)Cmp(Kiyaslama) X Ra Rb Rc 9)And(Ve) X Ra Rb Rc 10)Andi(Ve-Immediate) Ra Immediate FPGA ile CPU tasarimi Page 19
20 11 )Or(Veya) X Ra Rb Rc 12)Ori (Veya-Immediate) Ra Immediate 13)Xori(Exor-Immediate) Ra Immediate FPGA ile CPU tasarimi Page 20
21 14)Xor(Exor) X Ra Rb Rc 15)Sll(Mantiksal Sola Kaydirma) Immediate Rb Rc 16)Srl(Mantiksal Saga Kaydirma) Immediate Rb Rc FPGA ile CPU tasarimi Page 21
22 17)Sra(Aritmatik-Saga Kaydirma) Immediate Rb Rc 18)Sla(Aritmatik-Sola Kaydirma) Immediate Rb Rc 19)Not X Ra Rb Rc FPGA ile CPU tasarimi Page 22
23 20)Lw(Kelime Yukleme) X Ra Rb Rc 21)Sw(Kelime Depolama) X Ra Rb Rc 22) Movi(Veri tasima Immediate) Ra Immediate FPGA ile CPU tasarimi Page 23
24 23) Mov(Veri Tasima) X XXX Rb Rc 24)Beq(Brans Esit) Kosul Immediate 25)Bnq(Brans Esit Degil) Kosul Immediate FPGA ile CPU tasarimi Page 24
25 26)Ba(Branch always) Immediate 27)Nop(No Operation) Kosul Immediate 28)Hlt(Halt) Kosul Immediate FPGA ile CPU tasarimi Page 25
26 29)Syscall(System calll) Kosul Immediate FPGA ile CPU tasarimi Page 26
27 Apiks B : Verilog Kodu CAF Processor Versiyon1.00 Not: Verilog kodunda kullanilan degiskenler verilogdaki anahtar kelimelerle uyum gostermesi icin Ingilizce isimlirme yapilmistir. Yorum satirlarinda degiskenlerle ilgili gerekli Turkce aciklamalar yapilmistir. //CAF_Islemci.v // global_parametreler ` //Komutlar ve lar `define ADD 6'b00_0001 `define ADDi 6'b00_0010 `define SUB 6'b00_0011 `define SUBi 6'b00_0100 `define MUL 6'b00_0101 `define MULi 6'b00_0110 `define MULu 6'b00_0111 `define CMP 6'b00_1000 `define AND 6'b00_1001 `define ANDi 6'b00_1010 `define OR 6'b00_1011 `define ORi 6'b00_1100 `define XORi 6'b00_1101 `define XOR 6'b00_1110 `define SLL 6'b00_1111 `define SRL 6'b01_0000 `define SRA 6'b01_0001 `define SLA 6'b01_0010 `define NOT 6'b01_0011 `define LW 6'b01_0100 `define SW 6'b01_0101 `define MOV 6'b01_0110 `define MOVi 6'b01_0111 `define BEQ 6'b01_1000 `define BNQ 6'b01_1001 `define BA 6'b01_1010 `define NOP 6'b01_1011 `define HLT 6'b01_1100 `define SYSCALL 6'b01_1101 FPGA ile CPU tasarimi Page 27
28 module CAF ( clk, reset_n, read_instruction_n, instruction_address, instruction, read_data_n, write_data_n, data_address, data_in, data_out ); //Islemcinin giris ve cikis sinyalleri input clk; input reset_n; output read_instruction_n; output [15:0] instruction_address; input [15:0] instruction; output read_data_n; output write_data_n; output [15:0] data_address; input [15:0] data_in; output [15:0] data_out; //Islemcinin yazicilari reg [15:0] data; reg read_instruction_n; reg read_data_n; reg write_data_n; reg [15:0] PC; //Program Sayaci reg [15:0] LR; //Link Yazicisi reg [15:0] SP; //Stack Gostericisi reg [15:0] R[15:0];// general regs reg N_Flag; //condition flags (N = negative) reg Z_Flag; //Zero reg C_Flag; //Carry reg V_Flag; //Overflow reg branch_taken; FPGA ile CPU tasarimi Page 28
29 reg [15:0] branch_target; reg [32:0] ALU_out_reg; reg [15:0] DR; integer i, ex_i; integer found_i, found_ex_i; //pipeline yazicilari reg [15:0] IF_IR; reg [15:0] IF_PC; reg [15:0] ID_PC; reg [15:0] ID_Ra; reg [15:0] ID_Rb; reg [15:0] ID_Rc; reg [32:0] EX_ALU_out; reg [5:0] ID_opcode; reg [5:0] EX_opcode; reg [10:0] ID_imm_offset; reg [7:0] EX_imm_offset; reg [3:0] ID_cond; reg [2:0] ID_Rd_code; reg [2:0] EX_Rd_code; //// assign instruction_address = PC; assign dataout = (~write_data_n)? DR : 16'bZZZZZZZZZZZZZZZZ; //tri-state //Fonksiyon Tanimlari function condition_satisfy; input [3:0] cond_code; begin case(cond_code) 4'b0000 : condition_satisfy = Z_Flag; 4'b0001 : condition_satisfy = ~Z_Flag; 4'b0010 : condition_satisfy = C_Flag; 4'b0011 : condition_satisfy = ~C_Flag; 4'b0100 : condition_satisfy = N_Flag; 4'b0101 : condition_satisfy = ~N_Flag; 4'b0110 : condition_satisfy = V_Flag; 4'b0111 : condition_satisfy = ~V_Flag; 4'b1000 : condition_satisfy = (C_Flag & (~Z_Flag)); 4'b1001 : condition_satisfy = ((~C_Flag) & Z_Flag); 4'b1010 : condition_satisfy = (N_Flag == V_Flag); 4'b1011 : condition_satisfy = (N_Flag!= V_Flag); 4'b1100 : condition_satisfy = Z_Flag & (N_Flag == V_Flag); 4'b1101 : condition_satisfy = Z_Flag & (N_Flag!= V_Flag); 4'b1110 : condition_satisfy = 1'b1; default: condition_satisfy = 1'b1; FPGA ile CPU tasarimi Page 29
30 case function //////////////////////////////////////////////////// //Komut_Yakalama: Komut Yakalama Evresi (posedge clk ) begin if(reset_n == 0) begin PC = 0; //program sayaci ilk kosulu read_instruction_n = 0; else begin read_instruction_n = 0; PC = PC + 2; IF_IR = instruction; // Komut Yakalama Komut Yazicisi IF_IR = PC + 2; //Komut_Cozucu Evresi always@(posedge clk) begin case(if_ir[15:10]) 6'b00_0001:begin ID_opcode <= `ADD; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_0010:begin ID_opcode <= `ADDi; ID_Ra <= R[IF_IR[10:8]]; ID_imm_offset[7:0] <= IF_IR[7:0]; 6'b00_0011:begin ID_opcode <=`SUB; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_0100:begin ID_opcode <= `SUBi; ID_Ra <= R[IF_IR[10:8]]; ID_imm_offset[7:0] <= IF_IR[7:0]; FPGA ile CPU tasarimi Page 30
31 6'b00_0101:begin ID_opcode <= `MUL; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_0110:begin ID_opcode <= `MULi; ID_Ra <= R[IF_IR[10:8]]; ID_imm_offset <= R[IF_IR[7:0]]; 6'b00_0111:begin ID_opcode <= `MULu; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_1000:begin ID_opcode <= `CMP; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_1001:begin ID_opcode <= `AND; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_1010:begin ID_opcode <= `ANDi; ID_Ra <= R[IF_IR[10:8]]; ID_imm_offset <= R[IF_IR[7:0]]; 6'b00_1011:begin ID_opcode <= `OR; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_1100:begin ID_opcode <= `ORi; ID_Ra <= R[IF_IR[10:8]]; ID_imm_offset[7:0] <= IF_IR[7:0]; 6'b00_1101:begin FPGA ile CPU tasarimi Page 31
32 ID_opcode <= `XOR; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b00_1110:begin ID_opcode <= `XORi; ID_Ra <= R[IF_IR[10:8]]; ID_imm_offset[7:0] <= IF_IR[7:0]; 6'b00_1111:begin ID_opcode <= `SLL; ID_imm_offset[4:0] <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_0000:begin ID_opcode <= `SRL; ID_imm_offset[4:0] <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_0001:begin ID_opcode <= `SLA; ID_imm_offset[4:0] <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_0010:begin ID_opcode <= `SRA; ID_imm_offset[4:0] <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_0011:begin ID_opcode <= `NOT; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_0100:begin ID_opcode <= `LW; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; FPGA ile CPU tasarimi Page 32
33 6'b01_0101:begin ID_opcode <= `SW; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_0110:begin ID_opcode <= `MOVi; ID_Ra <= R[IF_IR[8:6]]; ID_imm_offset[7:0] <= IF_IR[7:0]; 6'b01_0111:begin ID_opcode <= `MOV; ID_Ra <= R[IF_IR[5:3]]; ID_Rb <= R[IF_IR[2:0]]; 6'b01_1000:begin ID_opcode <= `BEQ; ID_cond <= IF_IR[11:8]; ID_imm_offset[7:0] <= IF_IR[7:0]; 6'b01_1001:begin ID_opcode <= `BNQ; ID_cond <= IF_IR[11:8]; ID_imm_offset[7:0] <= IF_IR[7:0]; 6'b01_1010:begin ID_opcode <= `BA; ID_imm_offset[9:0] <= IF_IR[9:0]; 6'b01_1011:begin ID_opcode <= `NOP; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_1100:begin ID_opcode <= `HLT; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; ID_Rc <= R[IF_IR[2:0]]; 6'b01_1101:begin ID_opcode <= `SYSCALL; ID_Ra <= R[IF_IR[8:6]]; ID_Rb <= R[IF_IR[5:3]]; FPGA ile CPU tasarimi Page 33
34 ID_Rc <= R[IF_IR[2:0]]; case //Calisma Evresi clk)begin if(~reset_n)begin read_data_n <= 1'b1; write_data_n <= 1'b1; else begin read_data_n <= 1'b1; write_data_n <= 1'b1; if(branch_taken)begin // EX_opcode <=6'b000000; branch_taken <= 1'b0; else begin case(id_opcode) // `ADD : ALU_out_reg <= ID_Rb + ID_Rc; `ADDi : ALU_out_reg <= ID_Ra + ID_imm_offset; `SUB : ALU_out_reg <= ID_Rb - ID_Rc; `SUBi : ALU_out_reg <= ID_Ra - ID_imm_offset; `MUL : ALU_out_reg <= ID_Rb * ID_Rc; `MULi : ALU_out_reg <= ID_Ra * ID_imm_offset; `MULu : ALU_out_reg <= ID_Ra * ID_imm_offset; `CMP : ALU_out_reg <= ID_Rb - ID_Rc; `ANDi : ALU_out_reg <= ID_Ra & ID_imm_offset; `AND : ALU_out_reg <= ID_Rb & ID_Rc; `ORi : ALU_out_reg <= ID_Ra ID_imm_offset; `OR : ALU_out_reg <= ID_Rb ID_Rc; `XORi : ALU_out_reg <= ID_Ra ^ ID_imm_offset; `XOR : ALU_out_reg <= ID_Rb ^ ID_Rc; `SLL : ALU_out_reg <= ID_Rb << ID_imm_offset[9:6]; `SRL : ALU_out_reg <= ID_Rb >> ID_imm_offset[9:6]; `SRA : ALU_out_reg <= ID_Rb >> ID_imm_offset[9:6]; `SLA : ALU_out_reg <= ID_Rb >> ID_imm_offset[9:6]; `NOT : ALU_out_reg <= 0 - ID_Ra; `LW : ALU_out_reg <= ID_Ra + ID_Rb; `SW : ALU_out_reg <= ID_Ra + ID_Rb; `MOVi : ALU_out_reg <= {24'b0, ID_imm_offset}; `MOV : ALU_out_reg <= {R[IF_IR], R[IF_IR]}; `BEQ : begin FPGA ile CPU tasarimi Page 34
35 if(condition_satisfy(id_cond))begin for(i = 15; i > 8; i = i-1) ALU_out_reg[i] <= ID_imm_offset[7]; ALU_out_reg[8:1] <= ID_imm_offset[7:0]; ALU_out_reg[0] <=1'b0; branch_taken <= 1'b1; branch_target <= (ID_PC +2) + ALU_out_reg[15:0]; `BNQ : begin if(~condition_satisfy(id_cond))begin for(i = 15; i > 8; i = i-1) ALU_out_reg[i] <= ID_imm_offset[7]; ALU_out_reg[8:1] <= ID_imm_offset[7:0]; ALU_out_reg[0] <=1'b0; branch_taken <= 1'b1; branch_target <= (ID_PC +2) + ALU_out_reg[15:0]; `BA : begin for(i = 15; i > 8; i = i-1) ALU_out_reg[i] <= ID_imm_offset[7]; ALU_out_reg[8:1] <= ID_imm_offset[7:0]; ALU_out_reg[0] <=1'b0; branch_taken <= 1'b1; branch_target <= (ID_PC +2) + ALU_out_reg[15:0]; `NOP : begin branch_taken <= 1'b1; branch_target <= ID_PC - 2; `HLT : begin branch_taken <= 1'b1; branch_target <= ID_PC - 2; `SYSCALL :begin branch_taken <= 1'b1; branch_target <= ID_PC - 2; case // Bu bolum Flag operasyonlarini kontrol etmek icin yazilmistir. // FPGA ile CPU tasarimi Page 35
36 case(id_opcode)//2nd part of operation `ADD, `SUB, `CMP, `MUL : begin EX_ALU_out[15:0] <= ALU_out_reg[15:0]; N_Flag <= ALU_out_reg[15]; Z_Flag <= (ALU_out_reg[15:0] == 0); //if(id_imm_offset[2:0]!= 3'b000) begin C_Flag <= ALU_out_reg[16]; V_Flag <= (ALU_out_reg[16]!= ALU_out_reg[15]); // if; `ADDi, `SUBi : begin EX_ALU_out[15:0] <= ALU_out_reg[15:0]; N_Flag <= ALU_out_reg[15]; Z_Flag <= (ALU_out_reg[15:0] == 0); if(id_imm_offset[2:0]!= 3'b000) begin C_Flag <= ALU_out_reg[16]; V_Flag <= (ALU_out_reg[16]!= ALU_out_reg[15]); `MULi : begin EX_ALU_out[31:0] <= ALU_out_reg[31:0]; N_Flag <= ALU_out_reg[31]; Z_Flag <= (ALU_out_reg[31:0] == 0); if(id_imm_offset[2:0]!= 3'b000) begin C_Flag <= ALU_out_reg[16]; V_Flag <= (ALU_out_reg[32]!= ALU_out_reg[31]); `AND, `XOR, `XORi, `OR, `NOT: begin EX_ALU_out[15:0] <= ALU_out_reg[15:0]; N_Flag <= ALU_out_reg[15]; Z_Flag <= (ALU_out_reg[15:0] == 0); case EX_opcode = ID_opcode; EX_Rd_code = ID_Rd_code; // process sonu // calisma evresi sonu /////////////////////////////////////////////////////////////////////////// //Geri Yazma /////////////////////////////////////////////////////////////////////////// always@(posedge clk)begin FPGA ile CPU tasarimi Page 36
37 if(~reset_n) for( i = 0; i <16 ; i = i + 1) R[i]<= 0; else begin case (EX_opcode) `ADD, `ADDi, `SUB, `SUBi, `AND, `ANDi, `OR, `ORi, `XOR, `XORi, `MUL, `MULi, `MULu, `CMP, `SLL, `SRL, `SRA, `SRL, `NOT : begin R[EX_Rd_code] <= EX_ALU_out; `LW : R[EX_Rd_code] <= data; `MOVi : R[EX_Rd_code] <= data; case module FPGA ile CPU tasarimi Page 37
38 FPGA ile CPU tasarimi Page 38
CITIUS-ALTIUS-FORTIUS
CITIUS-ALTIUS-FORTIUS PROCESSOR Versiyon 1.00 15/04/2008 PROJE SORUMLUSU : BERKAY AYBAR MURAT GOKSEL E-MAIL : [email protected], [email protected] ICINDEKILER Tablo Listesi... Figur Listesi... 1 GIRIS...
K uark projesi. Temel Özellikler :
K uark projesi Temel Özellikler : Kuark işlemcisi 16 bit kelime uzunluğuna sahip bir işlemcidir. Veri ve komut belleği aynıdır ve en fazla 4 Gigabyte bellek adresleyebilir. İşlemcimiz paralel çalışabilecek
KASIRGA -4 Buyruk Tasarımı Belgesi. 30.04.2008 Ankara
KASIRGA -4 Buyruk Tasarımı Belgesi 30.04.2008 Ankara 1 İŞLEMLER 00000000 SYSCALL 00000001 HLT 00000010 DEBUG 00000011 CONTINUE S-TİPİ 00000100 NOP 00000101 IN 00000110 OUT 00000111 BRET 00001000 ADD 00001001
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Operand türleri Assembly dili 2 İşlemcinin yapacağı iş makine komutlarıyla belirlenir. İşlemcinin
Mikroçita. Mikroçita Rapor 2:
Mikroçita Rapor 2: İşlemci projemizle ilgili olarak hazırlamış olduğumuz bu ikinci raporda öncelikli olarak vhdl kullanarak tasarladığımız işlemcimizin genel çalışmasını ilk rapora göre daha ayrıntılı
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Komut çalıştırma özellikleri Büyük register file kullanımı Compiler tabanlı register
BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü
BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar) Bus
CPU TURKEY CPU-KULIS MİKROİŞLEMCİSİ ÇALIŞMA RAPORU
CPU TURKEY CPU-KULIS MİKROİŞLEMCİSİ ÇALIŞMA RAPORU Proje Danışmanı: Proje Yetkilisi: Proje Ekibi: Prof. Dr. Sarp ERTÜRK, Kocaeli Üniversitesi, Elektronik ve Haberleşme Mühendisliği Bölümü Arş. Gör. Anıl
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)
Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri
Öğrenci No Ad-Soyad Puan Quiz:8086 Mikroişlemcisi Mimarisi ve Emirleri S1) 8086 mikroişlemcisi bitlik adres yoluna ve.. bitlik veri yoluna sahip bir işlemcidir. S2) 8086 Mikroişlemci mimarisinde paralel
BM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009
1-) Instruction Cycle State Diagram ı çizip herbir state için gerçekleştirilen işlemleri detaylı bir şekilde açıklayınız. Instruction state cycle da üstteki kısımlar CPU dışında alttaki kısımlar CPU içinde
x86 Ailesi Mikroişlemciler ve Mikrobilgisayarlar
x86 Ailesi 1 8085A,8088 ve 8086 2 Temel Mikroişlemci Özellikleri Mikroişlemcinin bir defade işleyebileceği kelime uzunluğu Mikroişlemcinin tek bir komutu işleme hızı Mikroişlemcinin doğrudan adresleyebileceği
Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü
1 BİLGİSAYAR MİMARİSİ Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü http:// http:// Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/
BİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi
Lecture 7. Assembler language nedir? Language in 3 seviyesi. Language 3 seviyesi. Nicin onu ogreniriz?
Lecture 7 Assembler language nedir? Nicin onu ogreniriz? oku sections 3.1-3.4 oku H&P sections A.1 ve A.9 11/25/2004 Bilgisayar Mimarisi 7.1 11/25/2004 Bilgisayar Mimarisi 7.2 Language 3 seviyesi High
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Processor organization Register organization Instruction cycle 2 Processor organization İşlemci
BM-311 Bilgisayar Mimarisi
BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Adresleme modları Pentium ve PowerPC adresleme modları Komut formatları 1 Adresleme modları
Komutların Yürütülmesi
Komutların Yürütülmesi Bilgisayar Bileşenleri: Genel Görünüm Program Sayacı Komut kaydedicisi Bellek Adres Kaydedicisi Ara Bellek kaydedicisi G/Ç Adres Kaydedicisi G/Ç ara bellek kaydedicisi 1 Sistem Yolu
Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.
DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #2 DİZİLERE ERİŞİMDE MIPS BELLEK TALİMATLARI Amaç: Veri bölütü kullanımını ve tek-modüllü dizi
Bilgisayar Mimarisi ve Organizasyonu Giriş
+ Bilgisayar Mimarisi ve Organizasyonu Giriş Bilgisayar Mimarisi Bilgisayar Organizasyonu Programcının görebileceği bir sistemin nitelikleri Bir programın mantıksal yürütülmesi üzerinde direk bir etkisi
SelCPU. Version 1.02. Temmuz 2008. Proje Ekibi. Selçuk BAŞAK Bilgisayar Bilimleri Mühendisi (YTÜ 1998) [email protected]
SelCPU Version 1.02 Temmuz 2008 Proje Ekibi Selçuk BAŞAK Bilgisayar Bilimleri Mühendisi (YTÜ 1998) [email protected] SelSistem Bilgi ve İletişim Teknolojileri www.selsistem.com Önsöz SelCPU, Cpu-Turkey
Şekil. 64 Kelimelik Yığıtın Blok Şeması
1 YIĞIT (STACK) KURULUMU Çoğu bilgisayarın MİB de yığıt veya LIFO (Last In First Out) bulunur. Yığıt bir bellek parçasıdır ve son depolanan bilgi ilk geri dönen bilgi olur. Yığıta aktarılan son bilgi yığıtın
Mikrobilgisayar Sistemleri ve Assembler
Mikrobilgisayar Sistemleri ve Assembler Bahar Dönemi Öğr.Gör. Vedat MARTTİN Konu Başlıkları Mikrobilgisayar sisteminin genel yapısı,mimariler,merkezi işlem Birimi RAM ve ROM bellek özellikleri ve Çeşitleri
Mikroişlemci ve Yapısı. Mikroişlemciler ve Mikrobilgisayarlar
Mikroişlemci ve Yapısı 1 Katmanlı Sistem Yapısı (Machine Levels) Bu kısmın altındaki katmanlara programcı ve kullanıcının erişmesi söz konusu değildir. 2 Assembler Kaynak Kod Assembler Linker ADD D0,D1
Mimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.
Mimari Esaslar Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır. Bu unsurların büyüklüğü, sayısı ve yapısı o işlemcinin yeteneklerini belirler. Mimari farlılıklarda; bu konularda
Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1
Von Neumann Mimarisi Mikroişlemciler ve Mikrobilgisayarlar 1 Sayısal Bilgisayarın Tarihsel Gelişim Süreci Babage in analitik makinası (1833) Vakumlu lambanın bulunuşu (1910) İlk elektronik sayısal bilgisayar
Bahar Dönemi. Öğr.Gör. Vedat MARTTİN
Bahar Dönemi Öğr.Gör. Vedat MARTTİN 8086/8088 MİKROİŞLEMCİSİ İÇ MİMARİSİ Şekilde x86 ailesinin 16-bit çekirdek mimarisinin basitleştirilmiş bir gösterimi verilmiştir. Mikroişlemci temel iki ayrı çalışma
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-1/ Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi
FPGA Kullanarak 16 Bitlik Mikroişlemci Tasarımı Designing of a 16 bit Microprocessor by Using FPGA
FPGA Kullanarak 16 Bitlik Mikroişlemci Tasarımı Designing of a 16 bit Microprocessor by Using FPGA Emre ÖZTÜRK, Herman SEDEF Elektronik ve Haberleşme Mühendisliği Yıldız Teknik Üniversitesi [email protected]
Komut Seti Mimarisi (ISA)
Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Giriş Superscalar mimaride integer ve floating-point aritmetik komutlar, şartlı atlama komutları
Mikroişlemciler ve Assembler Programlama. Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR
Mikroişlemciler ve Assembler Programlama Teknoloji Fakültesi / Bilgisayar Mühendisliği Öğr.Gör. Günay TEMÜR Mikroişlemciler Mikroişlemciler bilgisayar teknolojilerinin gerçek sürükleyicisi olan donanımsal
İşlemci Tasarımı ve Aşamaları
İşlemci Tasarımı ve Aşamaları Yazar: Erman Üret ([email protected]) Çalışmamıza işlemcilerin sınıflandırılması ile başlayacağız. Daha sonraki aşamalarda, bu kısımda anlatılan yapılar kullanılarak işlemci
KASIRGA 4. GELİŞME RAPORU
KASIRGA 4. GELİŞME RAPORU 14.07.2008 Ankara İçindekiler İçindekiler... 2 Giriş... 3 Kasırga Birimleri... 3 Program Sayacı Birimi... 3 Bellek Birimi... 3 Yönlendirme Birimi... 4 Denetim Birimi... 4 İşlem
Mikrobilgisayar Mimarisi ve Programlama
Mikrobilgisayar Mimarisi ve Programlama 2. Hafta Bellek Birimleri ve Programlamaya Giriş Doç. Dr. Akif KUTLU Ders web sitesi: http://www.8051turk.com/ http://microlab.sdu.edu.tr Bellekler Bellekler 0 veya
Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR
Ders 3 ADRESLEME MODLARI ve TEMEL KOMUTLAR GÖMÜLÜ PROGRAMLAMA Selçuk Üniversitesi Bilgisayar Mühendisliği Bölümü 2012-2013 Bahar Dönemi Doç.Dr.Erkan ÜLKER 1 İçerik 1. Adresleme Modları 2. İskelet Program
Bahar Dönemi. Öğr.Gör. Vedat MARTTİN
Bahar Dönemi Öğr.Gör. Vedat MARTTİN Merkezi İşlemci Biriminde İletişim Yolları Mikroişlemcide işlenmesi gereken komutları taşıyan hatlar yanında, işlenecek verileri taşıyan hatlar ve kesme işlemlerini
DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #6
DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #6 16 Bitlik R Tipi İçin ALTERA MAX-PLUS-II VHDL de Tam Tek Saat Veri Yolu Birimi Amaç: Tek-Saat
BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ
BİLGİSAYAR MİMARİSİNDE YENİ YAKLAŞIMLAR DÖNEM PROJESİ P6 MİMARİSİ MUSTAFA ÇAYIR 704062001 İÇİNDEKİLER 1. Intel İşlemcilerinin Tarihi Gelişimi... 3 2. X86 Komut Kümesi... 5 2.1. X86 Yazmaçları... 5 2.2.
Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR
Bölüm 5: ARITMETIK VE MANTIK IŞLEM YAPAN KOMUTLAR Toplama (Addition) Toplama (ADD) belirtilen iki yazaç veya yazaç ile belleğin içeriğini toplar ve kullanılan adresleme moduna göre sonucu belirtilen yazaca
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler
8086 Mikroişlemcisi Komut Seti
8086 Mikroişlemcisi Komut Seti X86 tabanlı mikroişlemcilerin icra ettiği makine kodları sabit olmasına rağmen, programlama dillerinin komut ve ifadeleri farklı olabilir. Assembly programlama dilininde
Giris {\} /\ Suhap SAHIN
Giris 0 {\} /\ Suhap SAHIN Kaynaklar http://users.ece.utexas.edu/~valvano/volume1/e-book/ Kaynaklar https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-02x Konular 1. 2. 3. 4. 5. 6.
mikroc Dili ile Mikrodenetleyici Programlama Ders Notları
4. Operatörler İfade içerisindeki değişken ve diğer ifadelere uygulandığında yeni değerlerin elde edilmesini sağlayan ve kendilerine özel sembolik gösterimleri olan sözdizimleridir. mikroc derleyicisi
Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK
Verilog HDL e Giriş Bilg. Yük. Müh. Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri www.selsistem.com.tr Donanım Tanımlama Dilleri - HDL İlk olarak 1977 yılında, ISP(Instruction Set Processor) -
Embedded(Gömülü)Sistem Nedir?
Embedded(Gömülü)Sistem Nedir? Embedded Computing System de amaç; elektronik cihaza bir işlevi sürekli tekrar ettirmektir. Sistem içindeki program buna göre hazırlanmıştır. PC lerde (Desktop veya Laptop)
MİKROİŞLEMCİ MİMARİLERİ
MİKROİŞLEMCİ MİMARİLERİ Mikroişlemcilerin yapısı tipik olarak 2 alt sınıfta incelenebilir: Mikroişlemci mimarisi (Komut seti mimarisi), Mikroişlemci organizasyonu (İşlemci mikromimarisi). CISC 1980 lerden
Tek Vuruşluk Đşlemci. -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği
Tek Vuruşluk Đşlemci -- Company : Ege Universitesi, Elektrik-Elektronik Mühendisliği Bolumu -- Engineer : MOME TUM Proje Grubu -- Project ame : Tek Vurusluk Islemci -- Module ame : Ana Modul -- Additional
Program Kontrol Komutları. Mikroişlemciler ve Mikrobilgisayarlar 1
Program Kontrol Komutları Mikroişlemciler ve Mikrobilgisayarlar 1 Bu başlık, altında incelenecek olan komutlar program akışını oluşan bazı koşullara göre değiştirmektedirler Program akışında meydana gelen
D Duplex : Alıcı + Verici Çalışma Debouching : DMA : Direct Memory Access Data-Bus : Data Veri Yolu Data Flow : Veri Akışı Data Processing : Veri
A: Access time : Erişim Zamanı Active High : Aktif Yüksek Active Low : Aktif Düşük Adress : Adres Address Bus : Adres Yolu Adress Decoding : Adres Kod Çözümü ALE : Adress Latch Enable Architecture : Mimari
Komut Seti Mimarisi (ISA)
Komut Seti Mimarisi (ISA) BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğretim Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted
Ozet. Review pointers (in C) Memory Addressing
Ozet Oku H&P Sections 31 thru 34 (read again) Section A10 Hardware-Software interface Processor nasil calisir Hardware ve software arasinda tradeoffs Show how processor works 11/26/2004 Bilgisayar Mimarisi
İşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir
b) Aritmetik İşlem Komutları
b) Aritmetik İşlem Komutları Toplama ve Toplama İle İlgili Komutlar Komut. Format İşlem ADD (ADDition) elde CF ADD D, S (D)+(S) (D); ADC (Add with Carry) elde CF ADC D, S (D)+(S)+CF (D); yeni INC (INCrement
Bilgisayar Mühendisliğine Giriş
Bilgisayar Mühendisliğine Giriş Bilim İnsanı Bilgi Yaratır Dünyayı Olduğu Gibi Kabul Eder Bilimsel Yöntemle eğitilir Açık bilgiyi kullanır Düşünürler Mühendis Bu Bilgiyi Uygular Dünyayı Değiştirmek için
DSP DONANIMI. Pek çok DSP için temel elemanlar aşağıdaki gibidir.
DSP DONANIMI Pek çok DSP için temel elemanlar aşağıdaki gibidir. Çarpıcı yada çarpıcı- toplayıcı (MPY/MAC) Aritmetik lojik birim (ALU) Öteleyici (SHIFTER) Adres üreteci (AG) Komut yada program sıralayıcı
İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.
İŞLEMCİLER (CPU) Mikroişlemci Nedir? Mikroişlemci, hafıza ve giriş/çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU' yu bulunduran entegre devre çipine ise mikroişlemci denir. İşlemciler
PASCAL PROGRAMLAMA DİLİ YAPISI
BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama
Özet DERS 5. Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma. Bayraklardaki Durumlar. İşaretli Çarpma
Özet DERS 5 Çarpma, Bölme ve Dallanmalar Öğr. Gör. Eren ERENER AİBÜ/DMYO Neredeyiz Çarpma Bölme Karşılaştırma Jump komutları Şu ana kadar bilmeniz gerekenler... İşaretsiz Çarpma Kaydediciler ve bellek
A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA
A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA 1 İçindekiler Bilgisayarların Çalışma Prensibi Sayı Sistemleri Programlama Dilleri 2 BİLGİSAYARLARIN ÇALIŞMA PRENSİBİ Bilgisayar
BİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ Komut Seti Mimarisi Özer Çelik Matematik-Bilgisayar Bölümü Komut Seti Mimarisi Bilgisayarın hesaplama karakteristiklerini belirler. Donanım sistemi mimarisi ise, MİB(Merkezi İşlem Birimi),
Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN
Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN Mikroişlemci Nedir? Bir bilgisayarın en önemli parçası Mikroişlemcisidir. Hiçbir bilgisayar mikroişlemci olmadan çalışamaz. Bu nedenle Mikroişlemci
İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.
İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır. Programların ve donanımların kullanılması için bir çalıştırılması platformu oluşturur. Sistemin yazılım
AND Komutu. and hedef, kaynak
Mantıksal Komutlar Bu komutlar herhangi bir işlem sırasında mantıksal karşılaştırmalar yapmak için kullanılır. Bu komutlar icra görürken kullanılan register yada bellek bölgesinin içerisindeki değerler
Bölüm Bazı Temel Konseptler
Bölüm 7 Bu ve bundan sonraki bölümde, makine komutlarını işleten ve diğer birimlerin faaliyetlerini düzenleyen işlem birimi üzerine yoğunlaşacağız. Bu birim genellikle Komut Seti Mimarisi (Instruction
Mikrobilgisayar Mimarisi ve Programlama
Mikrobilgisayar Mimarisi ve Programlama 8085 Adresleme ve Komutlar Doç.Dr. Cüneyt BAYILMIŞ Doç.Dr. Murat ÇAKIROĞLU Prof.Dr. Hüseyin EKİZ Assembly Formatı Assembly komut satırı biçimi Etiket İşlem Kodu
MİKROBİLGİSAYAR SİSTEMLERİ. Teknik Bilimler Meslek Yüksekokulu
MİKROBİLGİSAYAR SİSTEMLERİ Teknik Bilimler Meslek Yüksekokulu Dersin Amacı Mikroişlemciler Mikrodenetleyiciler PIC Mikrodenetleyiciler Micro BASIC Programlama Kullanılacak Programlar MSDOS DEBUG PROTEUS
BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU Güz Dönemi ÖDEV 1
BİL 361 BİLGİSAYAR MİMARİSİ VE ORGANİZASYONU 2015-2016 Güz Dönemi ÖDEV 1 Son Teslim Tarihi/Saati : 07.10.2015/18:00 Teslim Yeri : Teknoloji Merkezi, 217 Uyarı: Bu ödevdeki soruları öğrenciler kişisel çabalarıyla
EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ
EEM 306 Mikroişlemciler ve Lab. Doç.Dr. Mehmet SAĞBAŞ Alt Program Yapısı Alt programın çağrılması Alt program korunur alınır ;Argumanlar R12 R15 registerlarına atanir. call #SubroutineLabel SubroutineLabel:
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Hafıza sistemleri karakteristikleri Hafıza hiyerarşisi Önbellek prensipleri Cache size Mapping
80x86 MICROPROCESSOR Instructions
80x86 MICROPROCESSOR Instructions Inside The 8088/8086 registers Registers Verileri geçici olarak tutar AX 16-bit register AH 8-bit reg. AL 8-bit reg. Category Bits Register Names General 16 AX, BX, CX,
Bilgisayarların Gelişimi
Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Yrd. Doç. Dr. Şule Gündüz Öğüdücü Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi Hız Sözcük uzunluğu Buyruk kümesi Adresleme yeteneği Adresleme kapasitesi
Arithmetic ve Logical Operations
Arithmetic ve Logical Operations ALU (Arithmetic Logical Unit): CPU nun Aritmetik ve logic islemlerinin yapildigi kismina denir. Temel iki operation Addition ( Toplama ) Negation ( NOT islemi) Islemler
BM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Öğretim üyesi : Prof. Dr. M. Ali Akcayol Ofis : Gazi Ünv., Bilgisayar Mühendisliği
8. MİKROİŞLEMCİ MİMARİSİ
1 8. MİKROİŞLEMCİ MİMARİSİ Gelişen donanım ve yazılım teknolojilerine ve yonga üreticisine bağlı olarak mikroişlemcilerin farklı komut tipleri, çalışma hızı ve şekilleri vb. gibi donanım ve yazılım özellikleri
Aritmetiksel Komutlar
Aritmetiksel Komutlar 80x86 programcıya toplama, çıkarma, çarpma, bölme gibi temel aritmetiksel işlemlerin yanı sıra elde edilen sonuçları değişik biçimlerde saklama olanağı sağlar. Aritmetiksel komutların
Ders Özeti. Ders 2. PC nin İç Organizasyonu. Mikroişlemcinin Organizasyonu. Basitçe İşlemciyi Oluşturan Parçalar. Mikroişlemciler
Ders Özeti Ders Bilgisayarlar Hakkında Mikroişlemci ve Bilgisayar sisteminin yapısı Temel komut işleme süreci x86 kaydedicileri (registers) x86 hafıza temelleri Çevre cihazları x86 assembly diline giriş
CISC Complex Instruction Set Computers
1 CISC, RISC Mimarisi CISC Complex Instruction Set Computers Emirlerin sayısı ve karmaşıklığını kasteder Emirlerin icrası birkaç clock alır. İyileştirmeler: Multiply ve Divide The number of instruction
W SAYAC SAYAC SAYAC. SAYAC=10110110 ise, d=0 W 01001001
MOVLW k Move Literal to W k sabit değerini W saklayıcısına yükler. MOVLW h'1a' W 1A. Hexadecimal 1A sayısı W registerine yüklenir. MOVF f,d Move f f saklayıcısının içeriğini W veya f'e yükler. MOVF SAYAC,0
Yrd.Doç.Dr. Celal Murat KANDEMİR
Bilgisayar Mimarisi Anahatlar ve Mimariye Giriş Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Yardımcı Kaynaklar Computer organization and architecture : principles
Programlanabilir Devreler
Programlanabilir Devreler Testbench & Simülasyon İçerik Tasarlamış olduğumuz sayısal sistemlerin fonksiyonel olarak istenildiği gibi gerçekleştirdiğini doğrulamak gerekir. Verilog ve VHDL gibi donanım
KASIRGA PROJESİ 2. GELİŞME RAPORU
KASIRGA PROJESİ 2. GELİŞME RAPORU 29.04.2008 Ankara İçindekiler 1.GİRİŞ... 4 2. KASIRGA İŞLEMCİSİ... 5 2.1 Kasırga Buyruk Tasarımı... 5 2.2 Kasırga 1... 7 2.2.1 Kasırga 1 Sanal Tasarım... 10 2.2.2 Kasırga
Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. İşlenenin Yeri. Örnek MİB Buyruk Yapısı. İvedi Adresleme. Adresleme Yöntemleri. Bellek. Kütükler.
Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-/ Getirme Çevrimi Yürütme Çevrimi Çözme İşlenen Yürütme
Kasırga [Gizli] KASIRGA PROJESİ 3. GELİŞME RAPORU. 16.06.2008 Ankara
KASIRGA PROJESİ 3. GELİŞME RAPORU 16.06.2008 Ankara İÇINDEKILER 1. KASIRGA İşlemcisi... 3 2. Tasarım Aşamaları... 3 2.1. Sanal Tasarım... 3 2.1.1. Buyruk Tasarımı... 3 2.2. Mimari Tasarımı... 4 2.2.1.
Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose
Eğitim Amaçlı Temel Bir Mikrobilgisayarın Tasarlanması ve Gerçeklemesi Design and Implementation of a Basic Microcomputer for Educational Purpose Mehmet BAKACAK, Taner TOPAL Bilgisayar Mühendisliği Kırıkkale
Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta
SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta Doç.Dr. Ahmet Turan ÖZCERİT Doç.Dr. Cüneyt BAYILMIŞ Yrd.Doç.Dr.
27.10.2011 HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK
Mikroişlemci HAFTA 1 HAFIZA BİRİMLERİ Program Kodları ve verinin saklandığı bölüm Kalıcı Hafıza ROM PROM EPROM EEPROM FLASH UÇUCU SRAM DRAM DRRAM... ALU Saklayıcılar Kod Çözücüler... GİRİŞ/ÇIKIŞ G/Ç I/O
İÇİNDEKİLER ÖNSÖZ...3
İÇİNDEKİLER ÖNSÖZ...3 1.AVR MİKRODENETLİYİCİLERE GİRİŞ 1.1 GÖMÜLÜ (EMBEDDED) SİSTEMLER... 11 1.1.1 GÖMÜLÜ SİSTEMERİN KULLANIM ALANLARI... 11 1.2 MİKROİŞLEMCİ NEDİR?... 12 1.3 MİKRODETNETLEYİCİ NEDİR?...
Spatial locality nin getirdigi avantaji kullanmak
Oku H&P section 7.3 Spatial locality nin getirdigi avantaji kullanmak Daha buyuk block (line) kullan Her bir fetch ile gelecekte yakin komsuluktaki erisimler icin data cache bulunacak Daha fazla hit e
Çalışma Açısından Bilgisayarlar
Çalışma Açısından Bilgisayarlar Ölçme sistemi ile hesaplama sistemi birbiriyle ilgili olmasına rağmen aynı değillerdir. Suyun sıcaklığı ve gürültünün şiddeti ile evdeki lambaların ölçülmesi aynı değillerdir.
8086 Mikroişlemcisi Komut Seti
8086 Mikroişlemcisi Komut Seti SUB ve SBB komutları: SUB (Subtract) yani çıkartma SBB ise borç ile çıkart (SuBtract with Borrow) anlamına gelir. Her iki çıkartma işlemi bir çıkartma sonucu üretmenin yanında
MTM 305 MİKROİŞLEMCİLER
KARABÜK ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ BÖLÜMÜ MTM 305 MİKROİŞLEMCİLER Arş. Gör. Emel SOYLU Arş. Gör. Kadriye ÖZ Basit Giriş/Çıkış Teknikleri IN ve OUT komutları X86 komut kümesi
BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü
BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri
MİKROİŞLEMCİLER 1 Ders 1
MİKROİŞLEMCİLER 1 Ders 1 Ders Kitabı: The 80x86 IBM PC and Compatible Computers Assembly Language, Design, and Interfacing Muhammad ali Mazidi, Janice Gillipsie Mazidi Öğr.Gör. Mahmut YALÇIN 09.03.2011
Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ. Örnek MİB ile Adresleme. Adresleme Yöntemleri. Doğal Adresleme. İvedi Adresleme
Adresleme Yöntemleri MİKROİŞLEMCİ SİSTEMLERİ Yrd. Doç. Dr. Şule Gündüz Öğüdücü www.cs.itu.edu.tr/~gunduz/courses/mikroisl/ İşlenenin nerde olacağını belirtmek için kullanılır. Buyruk çözme aşamasında adresleme
Hacettepe Robot Topluluğu
Hacettepe Robot Topluluğu PIC Assembly Dersleri 1. Ders: PIC Programlamaya Giriş HUNRobotX - PIC Assembly Dersleri 1. Ders: PIC Programlamaya Giriş Yazan: Kutluhan Akman, Düzenleyen: Canol Gökel - 4 Haziran
Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı
Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı Aylin Kantarcı Ege Üniversitesi Akademik Bilişim 2015 Eskişehir, 2015 GİRİŞ CISC işlemciler Geriye uyumluluk Karmaşık
