1 / 18

Computer Architecture ECE 4801 Berk Sunar Erkay Savas

Computer Architecture ECE 4801 Berk Sunar Erkay Savas. Outline. Brief Overview How is a computer program executed? Computer organization Roadmap for this class. Things You Learn in this Course. How computers work; the basic foundation How to analyze their performance (and how not to)

fallon
Download Presentation

Computer Architecture ECE 4801 Berk Sunar Erkay Savas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Architecture ECE 4801 Berk Sunar Erkay Savas

  2. Outline • Brief Overview • How is a computer program executed? • Computer organization • Roadmap for this class

  3. Things You Learn in this Course • How computers work; the basic foundation • How to analyze their performance (and how not to) • Key technologies determining the performance of modern processors • Datapath Design • Pipelining • Cache Systems • Memory Hierarchy • I/O • Multiprocessors

  4. Instruction Set Architecture • Important abstraction • Interface between hardware and low-level software • Or features available to programmers • instructions set architecture (ISA) • e.g. does the processor have an multiply instruction? • instruction encoding • Data representation • I/O mechanism. • addressing mechanism • Modern instruction set architectures: • 80x86/Pentium/K6, PowerPC, DEC Alpha, MIPS, SPARC, HP, ARM.

  5. Computer Organization • Computer Organization is how features are implemented in hardware • Transparent to programmers • Different implementations are possible for the same architecture (affects performance/price) • Determines how memory, CPU, peripherals, busses are interconnected and how control signals routed. • Has HUGE impact on performance. • Performance of the organization is usually application dependent. (e.g. I/O intensive, computation intensive, memory bound etc.)

  6. How to Program a Computer? • A simple but universal interface • Machine Code (binary images) • Assembly language • Uses mnemonics that map directly to ISA e.g. addw, lb, jmp etc. • More readable than machine languages • Error prone but excellent for low-level optimization • High-level languages • E.g. C/C++, Pascal, Fortran, Java, C# • Much easier to use and program • Promotes code portability • Not as efficient as custom assembly

  7. Assembly language program for MIPS C compiler swap: muli $2, $5, 4add $2, $4, $2lw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2)jr $31 00000000101000010000000000011000000000001000111000011000001000011000110001100010000000000000000010001100111100100000000000000100101011001111001000000000000000001010110001100010000000000000010000000011111000000000000000001000 Binary machine language program for MIPS Assembler Processing a C Program High-level language program (in C) swap (int v[], int k){ int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; }

  8. Functions of a Computer • Data processing , e.g. sort entries of a spreadsheet • Data storage, e.g. personal files, applications, movies, music etc. • Data movement, e.g. play a music file, display a picture • Control, (applies to all examples above)

  9. Computer Five Classic Components Processor Memory Input Datapath Control Output System Interconnection

  10. Bridges

  11. Inside the Processor Chip Instruction Cache Control branch prediction Data Cache Bus integer datapath floating-point datapath

  12. An Actual View 22nm Intel Core CPU Source: Intel Corp. 6 core CPU with L3 caches https://computing.llnl.gov/tutorials/parallel_comp/

  13. Memory • Nonvolatile: • ROM • Hard disk, floppy disk, magnetic tape, CDROM, USB Memory • Flash memory • Volatile • DRAM used usually for main memory • SRAM used mainly for on-chip memory such as register and cache • DRAM is much cheaper than SRAM • SRAM is much faster than DRAM • How about solid state drives?

  14. DRAM and Processor Characteristics

  15. Solutions to Memory Problems • Increase number of bits retrieved at one time • Make DRAM “wider” rather than “deeper” • Change DRAM interface • Cache • Reduce frequency of memory access • More complex cache and cache on chip • Increase interconnection bandwidth • High speed buses • Hierarchy of buses

  16. Computer Networks • Very essential aspect of computer systems • Communication • Resource sharing • Remote access • Ethernet is the most popular LAN • Range is limited to 1 kilometer • 10/100 Mbit/s • Wide Area Networks (WAN) • Cross continents and backbone of the Internet

  17. Roadmap • Performance issues • Instruction set of MIPS • Arithmetic and ALU • Constructing a processor to execute our instructions (datapath design) • Pipelining • Memory hierarchy: caches and virtual memory • I/O

More Related