Computer Systems Design and Architecture - PowerPoint PPT Presentation

1 / 102
About This Presentation
Title:

Computer Systems Design and Architecture

Description:

Computer Systems Design and Architecture Vincent P. Heuring and Harry F. Jordan Department of Computer Engineering Fatih University Historical Generations Early work ... – PowerPoint PPT presentation

Number of Views:187
Avg rating:3.0/5.0
Slides: 103
Provided by: fatihEdu8
Category:

less

Transcript and Presenter's Notes

Title: Computer Systems Design and Architecture


1
Computer Systems Design and Architecture
  • Vincent P. Heuring
  • and
  • Harry F. Jordan
  • Department of Computer Engineering
  • Fatih University

2
Bilgisayar Sistem Tasarimi ve Mimarisi
  • Vincent P. Heuring
  • and
  • Harry F. Jordan
  • Bilgisayar Mühendisligi Bölümü
  • Fatih Ãœniversitesi

3
Course Goals Understanding Structure and
Function of Digital Computer at 3 Levels
  • Multiple levels of computer operation
  • Application level
  • High Level Language(s), HLL, level(s)
  • Assembly/machine language level instruction set
  • System architecture level subsystems
    connections
  • Digital logic level gates, memory elements,
    buses
  • Electronic design level
  • Semiconductor physics level
  • Interactions and relations between levels
  • View of machine at each level
  • Tasks and tools at each level
  • Historical perspective
  • Trends and research activities

This course
4
Dersin Amaci Dijital Bilgisayarlarin Fonksiyon
ve Yapisinin 3 Düzeyde Anlasilmasi
  • Çok katmanli bilgisayar islemleri
  • Uygulama Düzeyi
  • Yüksek Düzeyli Diller, (High Level Languages)
  • Assembly/Makine Dil düzeyi Komut kümesi
    (instruction set)
  • Sistem Mimari Düzeyi alt sistemler baglantilar
  • Sayisal Mantik Düzeyi kapilar, hafiza
    elemanlari, veri yollari
  • Elektronik dizayn Düzeyi
  • Yari iletken Fizik Düzeyi
  • Düzeyler arasi etkilesim ve iliskiler
  • Makinenin her düzeydeki görünümü
  • Her düzeyde ki görev ve araçlar
  • Tarihsel Bakis Açisi
  • Trendler ve Arastirmalar

Dersin Konulari
5
Real Course Goal No Mysteries
  • The goal of CSDA is to treat the design and
    architecture of computer systems at a level of
    detail that leaves no mysteries in computer
    systems design.
  • This no mysteries approach is followed
    throughout the text, from instruction set design
    to the logic-gate-design of the CPU data path and
    control unit out to the memory, disk, and network.

6
Prerequisites
  • Experience with a high level language
  • Pascal
  • C, etc.
  • Assembly language programming
  • Digital logic circuits
  • Appendix A summarizes logic design in sufficient
    detail so the text can be used in courses without
    digital logic circuits as a prerequisite.

7
Ön Sartlar
  • Yüksek düzeyli bir dilde tecrübe sahibi olmak
  • Pascal
  • C, vs.
  • Assembly dilinde programlama
  • Sayisal mantik devreleri (Digital logic circuits)

8
Text Overview
  • 1 The General Purpose Machine
  • 2 Machines, Machine Languages, and Digital Logic
  • 3 Some Real Machines
  • 4 Processor Design at the Gate Level
  • 5 Processor Design - Advanced Topics
  • 6 Computer Arithmetic and the Arithmetic Unit
  • 7 Memory System Design
  • 8 Input and Output
  • 9 Peripheral Devices
  • 10 Communications, Networking and the Internet

9
Konular
  • 1 Genel Amaçli Makineler
  • 2 Makineler, Makine Dilleri, ve Dijital Logic
  • 4 Islemci Tasarimi Dijital Logic Düzeyi (Gate
    Level)
  • 5 Islemci Tasarimi Ileri Konular
  • 6 Bilgisayar Aritmetigi ve Aritmetik Birimler
  • 7 Hafiza Sistemi Tasarimi
  • 8 Input ve Output
  • 9 Çevre Birim Aygitlari
  • 10 Haberlesme, Aglar ve Internet

10
Chapter 1 Summary
  • Views of the General Purpose Machine
  • 1.1 The Users View
  • 1.2 The Assembly/Machine Language Programmers
    View
  • Instruction set architecture - ISA
  • Registers, memory, and instructions
  • The stored program
  • The fetch execute cycle
  • 1.3 The Computer Architects View
  • System design balance
  • 1.4 The Digital Logic Designers View
  • Realization of specified functionfrom concept
    to logic hardware
  • Also discussed Historical Perspective, Trends
    and Research, Approach of the Text

11
Bölüm 1 Özet
  • Genel Amaçli Makinelere Bakis
  • 1.1 Kullanicinin Bakisi
  • 1.2 Assembly/Makine Dili Programcisinin Bakisi
  • Komut Küme Mimarisi (Instruction set
    architecture ISA)
  • Registers, hafiza, ve komutlar
  • Kayitli Program
  • Fetch-Execute döngüsü
  • 1.3 Bilgisayar Mimarinin Bakisi
  • Sistem Dizayni ve Denge
  • 1.4 Digital Logic Tasarimcisinin Bakisi
  • Özellestirilmis fonksiyonlarin anlasilmasi -
    from concept to logic hardware
  • Deginilecek Diger Konular Tarihsel Bakis Açisi,
    Trendler ve Arastirmalar, Kitabin Yaklasimi

12
Looking Ahead - Chapter 2Explores the nature of
machines and machine languages
  • Relationship of machines and languages
  • Generic 32 bit Simple RISC Computer - SRC
  • Register transfer notation - RTN
  • The main function of the CPU is the Register
    Transfer
  • RTN provides a formal specification of machine
    structure and function
  • Maps directly to hardware
  • RTN and SRC will be used for examples in
    subsequent chapters
  • Provides a general discussion of addressing modes
  • Covers quantitative estimates of system
    performance
  • For students without digital logic design
    background Appendix A should be covered at this
    point.
  • Presents a view of logic design aimed at
    implementing registers and register transfers,
    including timing considerations.

13
Bölüm 2Makineleri ve Makine Dillerinin Yapisinin
Incelenmesi
  • Makineler ve diller arasindaki iliskiler
  • Generic 32 bit Basit RISC Bilgisayari - SRC
  • Register transfer notation - RTN
  • CPUnun ana fonksiyonu Register transferdir.
  • RTN, makine yapisi ve fonksiyonlari için biçimsel
    bir belirleyicidir.
  • Direk olarak donanimi isaret eder
  • RTN ve SRC sonraki bölümler de örnekler için
    kullanilacaktir.
  • Genel adresleme modlari için bakis açisi saglar.
  • Sistem performansinin tahmininde kullanilir.
  • Digital Logic Dizayn altyapisi olmayan ögrenciler
    için Appendix A gözden geçirilecektir.
  • Register implementation, register transferi ve
    zamanlama amaciyla logic dizayn bakis açisi
    olusturulacaktir.

14
Looking Ahead - Chapter 3
  • Treats two real machines of different types -
    CISC and RISC - in some depth
  • Discusses general machine characteristics and
    performance
  • Differences in design philosophies of
  • CISC (Complex instruction Set Computer) and
  • RISC (Reduced Instruction Set Computer)
    architectures
  • CISC machine - Motorola MC68000
  • Applies RTN to the description of real machines
  • RISC machine - SPARC
  • Introduces quantitative performance estimation
  • Java-based simulators are available for subsets
    of both machines, MC68000 and SPARC subset, ARC.
  • Run on PC, Mac OS X, Linux, and Unix

15
Bölüm 3
  • Farkli tiplerdeki iki gerçek makinenin
    davranislari CISC ve RISC
  • Genel makine karakteristikleri ve performansinin
    incelenmesi
  • Dizayn felsefesi açisindan farkliliklari
  • CISC (Complex instruction Set Computer) ve
  • RISC (Reduced Instruction Set Computer)
    mimarileri
  • CISC machine - Motorola MC68000
  • Gerçek makineleri tanimlamak için RTN uygulanir
  • RISC machine - SPARC
  • Nicel Performans Tahmini
  • Her iki makinelerin altkümeleri için de Java
    tabanli simülatörler uygundur. MC68000 and SPARC
    altkümeleri, ARC.
  • PC, Mac OS X, Linux, ve Unix de çalisirlar.

16
Looking Ahead - Chapter 4This keystone chapter
describes processor design at the logic gate level
  • Describes the connection between the instruction
    set and the hardware
  • Develops alternative 1- 2- and 3- bus designs of
    SRC at the gate level
  • RTN provides description of structure and
    function at low and high levels
  • Shows how to design the control unit that makes
    it all run
  • Describes two additional machine features
  • implementation of exceptions (interrupts)
  • machine reset capability

17
Bölüm 4 Islemci tasariminin logic gate düzeyinde
tanimlanmasi
  • Komut kümesi ve donanim arasindaki baglantinin
    tanimlanmasi
  • SRC nin Alternatif 1- 2- ve 3- veri yolu
    dizayninin gate level de gelistirilmesi
  • RTN düsük ve yüksek düzeyde yapi ve fonksiyon
    açiklamasi saglar.
  • Her seyi çalistiracak bir kontrol birimi (control
    unit) tasariminin gösterilmesi
  • Iki ilave makine özelliginin tanimlanmasi
  • implementation of exceptions (interrupts)
  • machine reset yetenegi

18
Looking Ahead - Chapter 5Important advanced
topics in CPU design
  • General discussion of pipelininghaving more than
    one instruction executing simultaneously
  • requirements on the instruction set
  • how instruction classes influence design
  • pipeline hazards detection management
  • Design of a pipelined version of SRC
  • Instruction-level parallelismissuing more than
    one instruction simultaneously
  • Superscalar and VLIW designs
  • Design a VLIW version of SRC
  • Microcoding as a way to implement control

19
Bölüm 5CPU dizayninda önemli ileri düzey konulari
  • Pipelining Birden fazla komutun es zamanli
    isletilmesi
  • Komut kümesinde ki gereklilikler
  • Komut siniflarinin dizayn üzerindeki etkileri
  • pipeline riskleri tespit edilmesi yönetilmesi
  • SRC nin pipeline versiyonunun tasarimi
  • Komut düzeyinde paralellik - Birden fazla komutun
    es zamanli isletilmesi
  • Superscalar ve VLIW dizaynlari
  • SRC nin VLIW versiyonunun dizayni
  • Mikro programlama kontrol olusturmada kullanilan
    bir yoldur

20
Looking Ahead - Chapter 6The arithmetic and
logic unit ALU
  • Impact of the ALU on system performance
  • Digital number systems and arithmetic in an
    arbitrary radix
  • number systems and radix conversion
  • integer add, subtract, multiply, and divide
  • Time/space trade-offs fast parallel arithmetic
  • Floating point representations and operations
  • Branching and the ALU
  • Logic operations
  • ALU hardware design

21
Bölüm 6Arithmetic and logic unit ALU
  • ALU nun sistem performansi üzerindeki etkileri
  • Digital number systems and arithmetic in an
    arbitrary radix
  • number systems and radix conversion
  • integer add, subtract, multiply, and divide
  • Time/space trade-offs fast parallel arithmetic
  • Floating point representations and operations
  • Branching and the ALU
  • Logic islemleri
  • ALU donanim dizayni

22
Looking Ahead - Chapter 7The memory subsystem of
the computer
  • Structure of 1-bit RAM and ROM cells
  • RAM chips, boards, and modules
  • SDRAM and DDR RAM
  • Concept of a memory hierarchy
  • The nature and functioning of different levels
  • The interaction of adjacent levels
  • Virtual memory
  • Temporal and spatial locality are what makes it
    work
  • Cache design matching cache main memory
  • Memory as a complete system

23
Bölüm 7Bilgisayarin Bellek Sistemleri
  • 1-bit RAM ve ROM hücrelerinin yapisi
  • RAM chips, boards, ve modules
  • SDRAM ve DDR RAM
  • Hafiza (bellek) hiyerarsisi
  • Farkli düzeydeki hafizalarin yapisi ve
    fonksiyonlari
  • Birlesik düzeydeki hafizalarin etkilesimi
  • Sanal Bellek (Virtual memory)
  • Temporal and spatial locality are what makes it
    work
  • Cache dizayni cache eslesme main memory
  • Bütün Sistem olarak Bellek

24
Looking Ahead - Chapter 8Computer input and
output I/O
  • Kinds of system buses, signals and timing
  • Serial and parallel interfaces
  • Interrupts and the I/O system
  • Direct memory access - DMA
  • DMA, interrupts, and the I/O system
  • The hardware/software interface device drivers
  • Encoding signals with error detection and
    correction capabilities

25
Bölüm 8Computer input and output I/O
  • Sistem veri yollari, sinyalleri ve zamanlama
    çesitleri
  • Seri ve paralel ara yüzler (interfaces)
  • Interrupt ve I/O sistemi
  • Direct memory access - DMA
  • DMA, interrupts, ve I/O sistemi
  • Donanim/Yazilim ara yüzleri (interfaces) araç
    sürücüleri
  • Hata tespiti ve düzeltme için sinyal sifreleme

26
Looking Ahead - Chapter 9Structure, function and
performance of peripheral devices
  • Disk drives
  • Organization
  • Static and dynamic properties
  • Disk system reliabilitySMART disk systems
  • RAID disk arrays
  • Video display terminals
  • Memory mapped video
  • Printers
  • Mouse and keyboard
  • Interfacing to the analog world

27
Bölüm 9Çevre Birimlerinin Yapisi, Fonksiyonu ve
Performansi
  • Disk Sürücüler
  • Organizasyon
  • Static ve dynamic özellikleri
  • Disk sistem güvenilirligiSMART disk sistem
  • RAID disk arrays
  • Video görüntü terminalleri
  • Memory mapped video
  • Yazicilar
  • Fare ve Klavye
  • Çevreyle iletisim için kullanilan ara yüzler

28
Looking Ahead - Chapter 10Computer
communications, networking, and the Internet
  • Communications protocols layered networks
  • The OSI layer model
  • Point to point communication RS-232 ASCII
  • Local area networks - LANs
  • Example Ethernet, including Gigabit Ethernet
  • Modern serial buses USB and FireWire
  • Internetworking and the Internet
  • TCP/IP protocol stack
  • Packet routing and routers
  • IP addresses assignment and use
  • Nets and subnets subnet masks
  • Reducing wasted IP address space CIDR, NAT, and
    DHCP
  • Internet applications and futures

29
Bölüm 10Bilgisayar Haberlesmesi, Aglar ve
Internet
  • Haberlesme Protokolleri Katmanli Ag(Network)
  • OSI katmanli model
  • Point to point haberlesme RS-232 ASCII
  • Local area networks - LANs
  • Example Ethernet, including Gigabit Ethernet
  • Modern seri veri yollari USB ve FireWire
  • Internetworking and the Internet
  • TCP/IP protocol yigini
  • Packet routing ve routers
  • IP adresleri görevleri ve kullanimlari
  • Nets and subnets subnet masks
  • Reducing wasted IP address space CIDR, NAT, and
    DHCP
  • Internet uygulamalari ve gelecegi

30
Appendices
  • Appendix A Digital logic circuits
  • Appendix B Complete SRC documentation
  • Appendix C Assembly and assemblers
  • Appendix D Selected problems and solutions

31
Problem Solving
  • There are four steps to problem solving
  • 1. UNDERSTAND THE PROBLEM!
  • 2. Have an idea about how to go about solving it
    (pondering)
  • 3. Show that your idea works
  • 4. Then and only then work on the solution

32
Problem Çözümü
  • Problem çözümü 4 asamada gerçeklestirilir
  • 1. PROBLEMI ANLA!
  • 2. Çözümün nasil olacagi konusunda fikir elde et
    (düsünüp tasinmak)
  • 3. Çözüm fikrinin dogrulugunu göster
  • 4. Çözüm üzerinde çalis

33
Chapter 1 - A Perspective
  • Alan Turing showed that an abstract computer, a
    Turing machine, can compute any function that is
    computable by any means
  • A general purpose computer with enough memory is
    equivalent to a Turing machine
  • Over 50 years, computers have evolved
  • from memory size of 1 kiloword (1024 words) and
    clock periods of 1 millisecond (0.001 s.)
  • to memory size of a terabyte (240 bytes) and
    clock periods of 100 ps. (10-12 s.) and shorter
  • More speed and capacity is needed for many
    applications, such as real-time 3D animation,
    various simulations

34
Bölüm 1 Bakis Açisi
  • Alan Turing e göre Turing makinesi
    hesaplanabilecek herhangi bir fonksiyonu
    hesaplayabilen soyut bir makinedir.
  • Yeteri bellege sahip bir genel amaçli bilgisayar,
    bir Turing makinesine estir.
  • 50 yildan fazla sürede, bilgisayarlar
  • 1 kiloword (1024 words) bellek boyutu ve 1
    milisaniye (0.001 s) clock period dan
  • Terabyte (240 bytes) bellek boyutlari ile 100 ps
    (10-12 s) clock period dan daha az clock
    periodlarina
  • gelistirilmistir.
  • Bazi uygulamalar için daha fazla hiz ve
    kapasiteye ihtiyaç duyulabilir. Örnegin
    gerçek-zamanli 3D animasyonlar, vs

35
Scales, Units, and Conventions
Powers of 2 are used to describe memory sizes.
Note the differences between usages. You should
commit the powers of 2 and 10 to memory.
36
Ölçü, Birim, ve Kurallar
Bellek boyutu 2nin kuvvetleri kullanilarak
tanimlanir.
Kullanimlar arasindaki farka dikkat edin. Bellek
2 ve 10 un kuvvetleri seklinde de ifade
edilebilir.
37
Views of Computer
  • There are various vies of computer, such as
  • User
  • Machine language programmer
  • Computer architect
  • Computer logic designer

38
Bilgisayara Bakis
  • Bilgisayara pek çok bakis açisi vardir, örnegin
  • Kullanici
  • Makine Dili Programcisi
  • Bilgisayar Mimari
  • Bilgisayar logic tasarimcisi

39
Fig 1.1 The Users View of a Computer
The user sees software, speed, storage
capacity, and peripheral device functionality.
40
Fig 1.1 Kullanici Gözüyle Bilgisayara Bakis
Kullanici yazilimi, hizi, depo kapasitesini ve
çevre birim aygitlarinin fonksiyonlarini görür.
41
Machine/assembly Language Programmers View
  • Machine language
  • Set of fundamental instructions the machine can
    execute
  • Expressed as a pattern of 1s and 0s
  • Assembly language
  • Alphanumeric equivalent of machine language
  • Mnemonics more human oriented than 1s and 0s
  • Assembler
  • Computer program that transliterates (one-to-one
    mapping) assembly to machine language
  • Computers native language is assembly/machine
    language
  • Programmer, as used in this course, means
    assembly/machine language programmer

42
Makine/assembly Dili Programcisi Gözüyle
Bilgisayara Bakis
  • Makine Dili
  • Makinenin isleyebilecegi temel komut kümesi
  • 1ler ve 0lar ile ifade edilirler
  • Assembly Dili
  • Makine dilinin alfanümerik karsiligidir
  • 1 ve 0 lara göre insanlar tarafindan daha
    anlasilirdir.
  • Assembler
  • Assembly dilini Makine diline çeviren bilgisayar
    programi. (birebir esleme)
  • Bilgisayarin dogal dili assembly/makine dilidir
  • Bu ders için programci denildigi zaman
    assembly/machine dili programcisi anlasilmalidir.

43
Machine and Assembly Language
  • The assembler converts assembly language to
    machine language. You must also know how to do
    this.

Op code
Data reg. 5
Data reg. 4
MC68000 Assembly Language
Machine Language
0011 101 000 000 100
MOVE.W D4, D5
ADDI.W 9, D2
00000001 10 111 100
0000 0000 0000 1001
Table 1.2 Two Motorola MC68000 instructions
44
Makine ve Assembly Dili
  • Assembler assembly dilini, makine diline çevirir.
    Bunun nasil yapildigini bilmek gerekir.

Op code
Data reg. 5
Data reg. 4
MC68000 Assembly Dili
Makine Dili
0011 101 000 000 100
MOVE.W D4, D5
ADDI.W 9, D2
00000001 10 111 100
0000 0000 0000 1001
Table 1.2 Iki Motorola MC68000 komutu
45
The Stored Program Concept
  • The stored program concept says that the program
  • is stored with data in the computers memory. The
  • computer is able to manipulate it as data
  • for example, to load it from disk, move it in
    memory, and store it back on disk.
  • It is the basic operating principle for every
    computer.
  • It is so common that it is taken for granted.
  • Without it, every instruction would have to be
    initiated manually.

46
Depolanmis Program Içerigi
  • Program, verileri ile birlikte bilgisayarin
    bellegine depolanir . Bilgisayar programlari veri
    olarak isleme yetenegine sahiptir.
  • örnegin, programi diskden yükleme, programi
    bellege tasima, ve tekrar diske yükleme
  • Bu, her bilgisayar için temel isletim
    prensibidir.
  • It is so common that it is taken for granted.
  • Bu olmadan, her komut manual olarak bastan
    baslatilmalidir.

47
Fig 1.2 The Fetch-Execute Cycle
48
Fig 1.2 Fetch-Execute Döngüsü
49
Programmers ModelInstruction Set Architecture
(ISA)
  • Instruction set the collection of all machine
    operations.
  • Programmer sees set of instructions, along with
    the machine resources manipulated by them.
  • ISA includes
  • instruction set,
  • memory, and
  • programmer accessible registers of the system.
  • There may be temporary or scratch-pad memory used
    to implement some function is not part of ISA.
  • Non Programmer Accessible.

50
Programcinin ModeliKomut Kümesi
Mimarisi(Instruction Set Architecture (ISA))
  • Komut Kümesi makine islemlerinin tümü
  • Programci komutlarin kümesini görür, along with
    the machine resources manipulated by them.
  • ISA includes
  • Komut kümesi (instruction set),
  • Bellek ve
  • Programcinin ulasabilecegi sistem register lari
  • Geçici veya scratch-pad memory ISAnin bir
    parçasi olmayan bazi fonksiyonlarin implement
    edilmesinde kullanilabilir.
  • Programcinin ulasamayacagi

51
Generations of Microprocessors
  • There are various generations of microprocessors
  • In Fig 1.3 (next page) a comparison between some
    of them is given
  • Points to consider when analyzing Microprocessors
  • Programmers manual
  • Machine instruction classes
  • Machine, processor, and memory states
  • Procedure calls and machine interrupts
  • Procedure calls
  • Machine interrupts
  • Exceptions

52
Mikroislemcilerin Gelisimi
  • There are various generations of microprocessors
  • In Fig 1.3 (sonraki sayfa) bazi mikroislemcilerin
    karsilastirilmasi verilmistir
  • Mikroislemcilerin analiz edilmesinde düsünülecek
    noktalar
  • Programcinin sundugu kullanma kilavuzu
  • Makine komut siniflari
  • Makine, islemci ve bellek durumlari
  • Procedure çagirma ve makine interrupt lari
  • Procedure çagirma
  • Makine interrupt lari
  • Exception lar

53
Fig 1.3 Programmers Models of 4 commercial
machines
54
Machine, Processor, and Memory State
  • The Machine State
  • contents of all registers in system, accessible
    to programmer or not
  • The Processor State
  • registers internal to the CPU
  • The Memory State
  • contents of registers in the memory system
  • State is used in the formal finite state
    machine sense
  • Maintaining or restoring the machine and
    processor state is important to many operations,
    especially procedure calls and interrupts

55
Makine, Islemci, ve Bellek Durumu
  • Makine Durumu
  • sistemdeki bütün register larin içerikleri,
    ulasilabilir olup olmadiklari bilgileri
  • Islemci Durumu
  • CPUya dahili register lar
  • Bellek Durumu
  • bellek sistemindeki register larin içerigi
  • State is used in the formal finite state
    machine sense
  • Makine ve islemci durumlarinin saglanmasi ve
    yenilenmesi pek çok islem açisindan önemlidir,
    özellikle procedure çagirma ve interrupt

56
Data Type HLL Versus Machine Language
  • High level language (HLL) provide type checking
  • Verifies proper use of variables at compile time
  • Allows compiler to determine memory requirements
  • Helps detect bad programming practices
  • Most machines have no type checking
  • The machine sees only strings of bits
  • Instructions interpret the strings as a type
  • usually limited to signed or unsigned integers
    and FP
  • ASCII, EBCDIC, etc
  • Interpretation of bits
  • A given 32 bit word might be an instruction, an
    integer, a FP , or four ASCII characters

57
Veri Tipi Yüksek Seviyeli Diller ile Makine
Dilleri
  • Yüksek Seviyeli Diller (HLL) type checking (tip
    kontrolü) saglar
  • Degiskenlerin özellikleri derleme süresinde
    dogrulanir
  • Derleyicinin bellek gereksinimlerine karar
    vermesine izin verilir
  • Programlama hatalarinin tespit edilmesinde
    yardimci
  • Pek çok makine dilinde type checking yoktur
  • Makine sadece 0 ve 1 dizilerini tanir.
  • Komutlar bu dizileri tip olarak yorumlar
  • usually limited to signed or unsigned integers
    and FP
  • ASCII, EBCDIC, etc
  • Bit lerin yorumlanmasi
  • Verilen 32 bitlik bir word, herhangi bir komut,
    tamsayi, kesirli sayi veya 4 ASCII karakteri
    olabilir.

58
Tbl 1.3 Examples of HLL to Assembly Language
Mapping
  • This compiler
  • Maps C integers to 32 bit VAX integers
  • Maps C assign, , and to VAX MOV, MPY, and ADD
  • Maps C goto to VAX BR instruction
  • The compiler writer must develop this mapping for
    each language-machine pair

59
Tbl 1.3 HLL den Assembly Diline Örnekler
  • Bu derleyici
  • C deki tamsayilari 32 bitlik VAX tamsayisina
    karsilik geliyor
  • C de esitlik, , ve Vax da MOV,MPY ve ADD e
    karsilik geliyor
  • C de goto VAX da BR komutuna karsilik geliyor
  • Derleyiciyi programlayan bu karsilastirmalari
    her dil çifti için gelistirmelidir.

60
Tools of the Assembly Language Programmer
  • The assembler
  • The linker
  • The debugger or monitor
  • The development system

61
Assembly Dili Programcisinin Araçlari
  • Assembler
  • Linker
  • Debugger veya monitor
  • Gelistirme sistemi

62
Who Uses Assembly Language?
  • The machine designer
  • must implement and trade-off instruction
    functionality
  • The compiler writer
  • must generate machine language from a HLL
  • The writer of time or space critical code
  • Performance goals may force program specific
    optimizations of the assembly language
  • Special purpose or imbedded processor programmers
  • Special (additional) functions and heavy
    dependence on unique I/O devices in embedded
    systems can make HLLs useless

63
Assembly Dilini Kimler Kullanir?
  • Makine Tasarimcisi
  • Komut fonksiyonlarini olusturmalidir
  • Derleyici yi Yazan
  • HLL den makine dili gelistirilmelidir
  • Zaman veya depolama ile ilgili kritik kodlari
    yazan programcilar
  • Performance goals may force program specific
    optimizations of the assembly language
  • Özel amaçli veya imbedded islemci programcilari
  • Embeded sistemlerde özel (Ek) fonksiyonlar ve I/O
    birimlerindeki yüksek derecedeki bagimliliklar
    HLL kullanissiz kilabiliyor.

64
Key Concepts in Assembly Language Programming
  • Instruction set
  • Programmers model of machine
  • Instruction set architecture (ISA)
  • Manipulation of machines data types
  • Available data types in machines
  • Mapping between HLL and the ISA

65
Assembly Programlama Dillerinde Önemli Kavramlar
  • Komut Kümesi
  • Programcinin makine modeli
  • Komut Kümesi Mimarisi (ISA)
  • Makinelerin data tiplerinin kullanilmasi,
    islenmesi
  • Makinede ki uygun data tipleri
  • HLL ile ISA arasindaki esleme

66
The Computer Architects View
  • Architect is concerned with design performance
  • Designs the ISA for optimum programming utility
    and optimum performance of implementation
  • Designs the hardware for best implementation of
    the instructions
  • Uses performance measurement tools, such as
    benchmark programs, to see that goals are met
  • Balances performance of building blocks such as
    CPU, memory, I/O devices, and interconnections
  • Meets performance goals at lowest cost

67
Bilgisayar Mimarinin Bakis Açisi
  • Mimar, dizayn ve performans ile alakalidir
  • optimum programlama faydasi ve optimum performans
    implementasyonu için ISA dizayni
  • en iyi komut implementasyonlu donanimin dizayn
    edilmesi
  • performans hesaplama araçlarinin kullanilmasi,
    mesela benchmark programlari
  • CPU, bellek, I/O birimleri ve baglantilari
    arasindaki performansin dengelenmesi
  • Performans amaçlarina en az maliyetle ulasilmasi

68
Constraints
  • Constraints on optimization
  • Cost
  • System size
  • Thermal/mechanical durability
  • Timely availability of components
  • Immunity to static charge
  • Constrained imposed by
  • Internal
  • External (corporate marketing, department of
    defense, etc)
  • Constraints may be conflicting

69
Kisitlamalar
  • Optimizasyonda ki kisitlamalar
  • Maliyet
  • Sistem boyutu
  • Termal/Mekanik dayaniklilik (süreklilik)
  • Zamana bagli unsurlar
  • Static charge a bagisiklilik
  • Maruz kalinan kisitlamalar
  • Iç
  • Dis (corporate marketing, department of defense,
    etc)
  • Karmasadan(conflicting) dogan kisitlamalar

70
The Big Picture
  • ISA as a bridge
  • CPU and memory
  • Buses
  • Examples

71
The Big Picture
  • ISA i bir köprü niteliginde düsünebiliriz
  • CPU ve Bellek
  • Veri Yollari
  • Örnekler

72
Buses as Multiplexers
  • Interconnections are very important to computer
  • Most connections are shared
  • A bus is a time-shared connection or multiplexer
  • A bus provides a data path and control
  • Buses may be serial, parallel, or a combination
  • Serial buses transmit one bit at a time
  • Parallel buses transmit many bits simultaneously
    on many wires

73
Çoklayici niteliginde Veri Yollari
  • Dahili baglantilar bilgisayar için çok önemlidir
  • Pek çok baglanti paylasilir
  • Bir veri yolu zaman-paylasimi baglantisi veya
    çoklayicidir.
  • Bir veri yolu veri akisi için yol ve kontrol
    saglar.
  • Veri yollari seri, paralel veya kombinasyonlu
    sekillerde olabilir
  • Seri veri yollari birim zamanda 1 bit transfer
    eder.
  • Paralel veri yollari pek çok biti es zamanli pek
    çok kablo üzerinden transfer ederler

74
Fig 1.4 One and Two Bus Architecture Examples
75
Fig 1.4 Bir ve Iki Veri Yollu Mimari Örnekleri
76
Fig 1.5 Getting SpecificThe Apple PowerMac G4
Bus (simplified)
77
Fig 1.5 Getting SpecificThe Apple PowerMac G4
Veri Yolu (sadelestirilmis)
78
Fig 1.6 The Memory Hierarchy
  • Modern computers have a hierarchy of memories
  • Allows tradeoffs of speed/cost/volatility/size,
    etc.
  • CPU sees common view of levels of the hierarchy.

79
Fig 1.6 Bellek Hiyerarsisi
  • Modern Bilgisayarlar bellek hiyerarsisine
    sahiptirler.
  • Allows tradeoffs of speed/cost/volatility/size,
    etc.
  • CPU genel hiyerarsi düzeylerini görür.

80
Tools of the Architects Trade
  • Software models, simulators and emulators
  • Performance benchmark programs
  • Specialized measurement programs
  • Data flow and bottleneck analysis
  • Subsystem balance analysis
  • Parts, manufacturing, and testing cost analysis

81
Mimarin Araçlari
  • Yazilim modelleri, simülatörler ve emülatörler
  • Karsilastirmali performans programlari
  • Özellestirilmis ölçüm programlari
  • Veri akis ve bottleneck analizi
  • Alt sistem denge analizi
  • Parça, üretim ve test etme maliyet analizi

82
Key Concepts Architects View
  • Architect responsible for the overall system
    design and performance
  • Performance must be measured against quantifiable
    specifications
  • Architect uses various performance measurement
    tools
  • Architect is likely to become involved in
    low-level details
  • Architect often uses formal description languages
    to convey details
  • Architect strives for harmony and balance in
    system design

83
Mimarin Bakis Açisindan Önemli Noktalar
  • Mimar bütün sistem dizayni ve performansindan
    sorumludur
  • Performans ölçülebilir özelliklere karsi
    ölçülmelidir
  • Mimar farkli performans araçlari kullanir
  • Mimar düsük-düzeyde detaylar ile mesgul olur
  • Mimar çogu kez detaylari ifade etmek için formal
    tanimlamali diller kullanir
  • Mimar harmonik ve dengeli bir sistem dizayni için
    çabalar

84
Computer System Logic Designers
ViewImplementation Domain
  • What is implementation domain?
  • Designs the machine at the logic gate level
  • The design determines whether the architect meets
    cost and performance goals
  • Architect and logic designer may be a single
    person or team

85
Logic Tasarimcisinin Bakis AçisindanImplementati
on Domain
  • Implementation domain nedir?
  • Makinenin logic gate düzeyinde tasarimi
  • Tasarim, mimarin maliyet ve performans
    amaçlariyla uyusup uyusmayacagina karar verir
  • Mimar ve Logic tasarimci tek bir kisi veya bir
    takim olabilir

86
Implementation Domains
An implementation domain is the collection
of devices, logic levels, etc. which the designer
uses.
Possible implementation domains
  • VLSI on silicon
  • TTL or ECL chips
  • Gallium Arsenide chips
  • PLAs or sea-of-gates arrays
  • Fluidic logic or optical switches

87
Implementation Domains
Implementation domain tasarimcinin kullandigi
araçlar ve logic birimlerinin hepsidir.
Muhtemel implementation domains
  • VLSI on silicon
  • TTL or ECL chips
  • Gallium Arsenide chips
  • PLAs or sea-of-gates arrays
  • Fluidic logic or optical switches

88
Fig 1.7 Three Different Implementation Domains
  • 2-to-1 multiplexer in three different
    implementation domains
  • generic logic gates (abstract domain)
  • National Semiconductor FAST Advanced Schottky TTL
    (VLSI on Si)
  • Fiber optic directional coupler switch (optical
    signals in LiNbO3)

89
Fig 1.7 Üç Farkli Implementation Domain
  • 2-to-1 çoklayici(multiplexer) üç farkli
    implementation domain içinde
  • generic logic gates (abstract domain)
  • National Semiconductor FAST Advanced Schottky TTL
    (VLSI on Si)
  • Fiber optic directional coupler switch (optical
    signals in LiNbO3)

90
The Distinction between Classical Logic Design
and Computer Logic Design
  • The entire computer is too complex for
    traditional FSM design techniques
  • FSM techniques can be used in the small
  • There is a natural separation between data and
    control
  • Data path storage cells, arithmetic, and their
    connections
  • Control path logic that manages data path
    information flow
  • Well defined logic blocks are used repeatedly
  • Multiplexers, decoders, adders, etc.

91
Klasik Logic Dizayn ile Bilgisayar Logic Dizayn
Arasindaki Farklar
  • Bilgisayarin bütünü, geleneksel FSM tasarim
    teknikleri için çok fazla karmasiktir
  • FSM teknikleri küçük boyutlarda kullanilir
  • Veri ve kontrol arasinda dogal bir fark vardir
  • Veri Yolu storage cells, arithmetic, ve
    baglantilar
  • Kontrol Yolu veri yolundan bilgi akisini kontrol
    eder
  • Iyi tanimlanmis logic bloklar defalarca
    kullanilir
  • Çoklayicilar(Multiplexers), dekoderler
    (decoders), toplayicilar (adders), etc.

92
Two Views of the CPU PC Register
93
CPU PC Registerin Iki Farkli Sekli
94
Tools of the Logic Designers Trade
  • Computer aided design tools
  • Logic design and simulation packages
  • Printed circuit layout tools
  • IC (integrated circuit) design and layout tools
  • Logic analyzers and oscilloscopes
  • Hardware development system

95
Logic Tasarimcinin Araçlari
  • Bilgisayar yardimli tasarim araçlari
  • Logic tasarim ve simülasyon paketleri
  • Printed circuit layout tools
  • IC (integrated circuit) design and layout tools
  • Logic analizci ve osiloskop
  • Donanim gelistirme sistemi

96
Key Concepts The Logic Designer
  • Logic designer works in both the domain of
    abstract Boolean logic and the selected
    implementation domain
  • At the abstract logic level, the logic designer
    is concerned with the correctness of the design
  • At the selected implementation domain level, the
    logic designer is concerned with fan-in and
    fan-out constraints, logic minimization
    techniques, power required, heat dissipation,
    propagation delay, number of components, and so
    on
  • Logic designer must bounce between the abstract
    logic level and the implementation level to get
    an optimum design
  • Logic designer works with logic design and
    minimization tools, board layout tools, IC design
    tools, and hardware design tools (such as logic
    analyzers, oscilloscopes, and development sys)

97
Logic Tasarimci Açisindan Önemli Noktalar
  • Logic tasarimcisi hem domain of abstract Boolean
    logic hem de seçilen implementasyon alaninda
    çalisir
  • abstract logic düzeyinde, tasarimci tasarimin
    dogrulugu ile ilgilenir
  • seçilen implementation alan düzeyinde, tasarimci
    fan-in and fan-out kisitlamalari, logic
    minimization teknikleri, güç gereksinimleri, heat
    dissipation, propagation delay, number of
    components ile ilgilenir
  • Logic tasarimci optimum tasarimi elde etmek için,
    abstract logic level ve implementation level
    arasinda çalisir
  • Logic tasarimci logic tasarim araçlari,
    minimization tools, board layout araçlari, IC
    tasarim araçlari, and donanim tasarim araçlari
    (such as logic analyzers, oscilloscopes, and
    development sys) ile çalisir

98
Historical Generations
  • Early work
  • Charles Babbage
  • George Boole
  • Claude Shannon
  • Relay Computer 1930s
  • George Stibitz
  • S.B. Williams
  • G. K. Zuse
  • etc
  • Generations

99
Historical Generations
  • 1st Generation
  • 1946-59 vacuum tubes, relays, mercury delay lines
  • 2nd generation
  • 1959-64 discrete transistors and magnetic cores
  • 3rd generation
  • 1964-75 small and medium scale integrated
    circuits
  • 4th generation
  • 1975-present, single chip microcomputer
  • Integration scale components per chip
  • Small scale 10-100
  • Medium scale 100-1,000
  • Large scale 1000-10,000
  • Very large greater than 10,000

100
Tarihsel Gelismeler
  • 1st Nesil
  • 1946-59 vacuum tubes, relays, mercury delay lines
  • 2nd Nesil
  • 1959-64 discrete transistors and magnetic cores
  • 3rd Nesil
  • 1964-75 small and medium scale integrated
    circuits
  • 4th Nesil
  • 1975-present, single chip microcomputer
  • Entegrasyon Ölçegi components per chip
  • Small scale 10-100
  • Medium scale 100-1,000
  • Large scale 1000-10,000
  • Very large greater than 10,000

101
Summary
  • Three different views of machine structure and
    function
  • Machine/assembly language view registers, memory
    cells, instructions.
  • PC, IR,
  • Fetch-execute cycle
  • Programs can be manipulated as data
  • No, or almost no data typing at machine level
  • Architect views the entire system
  • Concerned with price/performance, system balance
  • Logic designer sees system as collection of
    functional logic blocks.
  • Must consider implementation domain
  • Tradeoffs speed, power, gate fanin, fanout

102
ÖZET
  • Makine yapisi ve fonksiyonlarina 3 bakis açisi
    vardir
  • Makine/assembly Dil Bakis Açisi registers,
    memory cells (bellek hücreleri),
    komutlar(instructions).
  • PC, IR,
  • Fetch-execute döngüsü
  • Programlar veri olarak islenir
  • Makine düzeyinde veri tipi yoktur
  • Mimarin bütün siteme bakisi
  • Fiyat/performans, sistem dengesi ile ilgilidir
  • Logic tasarimci sistemi fonksiyonel logic
    bloklari seklinde görür
  • implementation domaini düsünmek zorundadirlar
  • Tradeoffs hiz, güç, power, gate fan-in, fan-out
Write a Comment
User Comments (0)
About PowerShow.com