Bilgisayar Sistemlerine Genel Bakış

Similar documents
Chris Riesbeck, Fall Introduction to Computer Systems

Introduction to Computer Systems

Introduction to Computer Systems

Introduction to Computer Systems

A software view. Computer Systems. The Compilation system. How it works. 1. Preprocesser. 1. Preprocessor (cpp)

ENCE Computer Organization and Architecture. Chapter 1. Software Perspective

CSCI2467: Systems Programming Concepts

Computer Systems Organization

A Tour of Computer Systems

Introduction Presentation A

Chapter 1 A Tour of Computer Systems

Welcome To The New Foundations of Computer Systems (Fall 2017)

High Performance Computing Lecture 1. Matthew Jacob Indian Institute of Science

Read-only memory (ROM): programmed during production Programmable ROM (PROM): can be programmed once SRAM (Static RAM)

Cache Memories. From Bryant and O Hallaron, Computer Systems. A Programmer s Perspective. Chapter 6.

The Memory Hierarchy 10/25/16

Computer Organization - Overview

F28HS Hardware-Software Interface: Systems Programming

M2 Instruction Set Architecture

Introduction to Computer Systems

Introduction to Computer Systems

CS 201 The Memory Hierarchy. Gerson Robboy Portland State University

Virtual Memory Nov 9, 2009"

Cache Memory and Performance

Cache Memory and Performance

CSC180: Lecture 2. Wael Aboulsaadat.

Advanced Memory Organizations

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

198:231 Intro to Computer Organization. 198:231 Introduction to Computer Organization Lecture 14

Memory hierarchies: caches and their impact on the running time

What s next. Computer Systems A Programmer s Perspective

LC-3 Assembly Language

Week 1 / Lecture 2 8 March 2017 NWEN 241 C Fundamentals. Alvin Valera. School of Engineering and Computer Science Victoria University of Wellington

COS 318: Operating Systems

@2010 Badri Computer Architecture Assembly II. Virtual Memory. Topics (Chapter 9) Motivations for VM Address translation

CS 31: Intro to Systems Storage and Memory. Kevin Webb Swarthmore College March 17, 2015

(Extract from the slides by Terrance E. Boult

Draft. Chapter 1 Program Structure. 1.1 Introduction. 1.2 The 0s and the 1s. 1.3 Bits and Bytes. 1.4 Representation of Numbers in Memory

Raspberry Pi / ARM Assembly. OrgArch / Fall 2018

Part I Overview Chapter 1: Introduction

Locality. CS429: Computer Organization and Architecture. Locality Example 2. Locality Example

Memory Hierarchy. Computer Systems Organization (Spring 2017) CSCI-UA 201, Section 3. Instructor: Joanna Klukowska

Memory Hierarchy. Cache Memory Organization and Access. General Cache Concept. Example Memory Hierarchy Smaller, faster,

A Fast Review of C Essentials Part I

Computer Organization: A Programmer's Perspective

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Lectures 5-6: Introduction to C

13-2 EE 4770 Lecture Transparency. Formatted 8:18, 13 March 1998 from lsli

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University

Introduction to Operating Systems Part I

18-447: Computer Architecture Lecture 16: Virtual Memory

Agenda Cache memory organization and operation Chapter 6 Performance impact of caches Cache Memories

Compilation, Disassembly, and Profiling (in Linux)

Large and Fast: Exploiting Memory Hierarchy

virtual memory Page 1 CSE 361S Disk Disk

Today. Cache Memories. General Cache Concept. General Cache Organization (S, E, B) Cache Memories. Example Memory Hierarchy Smaller, faster,

Random-Access Memory (RAM) CISC 360. The Memory Hierarchy Nov 24, Conventional DRAM Organization. SRAM vs DRAM Summary.

CSCI 192 Engineering Programming 2. Subject Overview

Definition: An operating system is the software that manages resources

+ Random-Access Memory (RAM)

Memory Management. Kevin Webb Swarthmore College February 27, 2018

Microprocessor Systems

esi-risc Development Suite Getting Started Guide

Cache memories are small, fast SRAM-based memories managed automatically in hardware. Hold frequently accessed blocks of main memory

Random-Access Memory (RAM) Systemprogrammering 2007 Föreläsning 4 Virtual Memory. Locality. The CPU-Memory Gap. Topics

Giving credit where credit is due

Chapter 1 Introduction to Computers and Programming

Random-Access Memory (RAM) Systemprogrammering 2009 Föreläsning 4 Virtual Memory. Locality. The CPU-Memory Gap. Topics! The memory hierarchy

Storage Technologies and the Memory Hierarchy

Chapter 1: Introduction to Computers and Programming

Caches II CSE 351 Spring #include <yoda.h> int is_try(int do_flag) { return!(do_flag!do_flag); }

Carnegie Mellon. 16 th Lecture, Mar. 20, Instructors: Todd C. Mowry & Anthony Rowe

Processes and Virtual Memory Concepts

Virtual Memory. Motivations for VM Address translation Accelerating translation with TLBs

Computer Programming

Course Information and Introduction

Compila(on, Disassembly, and Profiling

Giving credit where credit is due

Foundations of Computer Systems

Computer Organization

Computer Systems A Programmer s Perspective 1 (Beta Draft)

Advanced Operating Systems (CS 202)

Introduction to C CMSC 104 Spring 2014, Section 02, Lecture 6 Jason Tang

Handling of Interrupts & Exceptions

COS 318: Operating Systems. Overview. Prof. Margaret Martonosi Computer Science Department Princeton University

Carnegie Mellon. Cache Memories

Introduction to Operating Systems Part I

Virtual Memory Oct. 29, 2002

CS 3330 Introduction 1

Giving credit where credit is due

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

Programs. Function main. C Refresher. CSCI 4061 Introduction to Operating Systems

CSCI2467: Systems Programming Concepts

Introduction. Arizona State University 1

Caches. Hiding Memory Access Times

COS 318: Operating Systems. Overview. Jaswinder Pal Singh Computer Science Department Princeton University

CSE 153 Design of Operating Systems Fall 2018

virtual memory. March 23, Levels in Memory Hierarchy. DRAM vs. SRAM as a Cache. Page 1. Motivation #1: DRAM a Cache for Disk

Carnegie Mellon. Bryant and O Hallaron, Computer Systems: A Programmer s Perspective, Third Edition

Computer Organization and Programming

Transcription:

Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides of the textbook: http://csapp.cs.cmu.edu/ Adapted from the slides of Bryant and O Hallaron, Computer Systems: A Programmer s Perspective book by Asst. Prof. Dr. Fatih Gökçe 1

Hello! #include <stdio.h> int main() { printf("hello, World!"); return 0; }

ASCII Table

printf.o hello.c Source program (text) Preprocessor (cpp) hello.i Modified source program (text) Compiler (cc1) hello.s Assembly program (text) Assembler (as) hello.o Relocatable object programs (binary) Linker (ld) hello Executable object program (binary)

CPU Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory USB Graphics adapter I/O bus Expansion slots for other devices such as network adapters Mouse Keyboard Display hello executable stored on disk

CPU Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory "hello" USB Graphics adapter I/O bus Expansion slots for other devices such as network adapters Mouse Keyboard Display User types "hello"

CPU Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory "hello,world\n" hello code USB Graphics adapter I/O bus Expansion slots for other devices such as network adapters Mouse Keyboard Display hello executable stored on disk

CPU Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory "hello,world\n" hello code USB Graphics adapter I/O bus Expansion slots for other devices such as network adapters Mouse Keyboard Display "hello,world\n" hello executable stored on disk

Ön Bellek CPU chip Register file Cache memories ALU System bus Memory bus Bus interface I/O bridge Main memory

Smaller, faster, and costlier (per byte) storage devices Larger, slower, and cheaper (per byte) storage devices Hafıza Hiyerarşisi L6: L5: L4: L3: L2: L1: L0: Regs L1 cache (SRAM) L2 cache (SRAM) L3 cache (SRAM) Main memory (DRAM) Local secondary storage (local disks) Remote secondary storage (distributed file systems, Web servers) CPU registers hold words retrieved from cache memory. L1 cache holds cache lines retrieved from the L2 cache. L2 cache holds cache lines retrieved from L3 cache L3 cache holds cache lines retrieved from memory. Main memory holds disk blocks retrieved from local disks. Local disks hold files retrieved from disks on remote network servers.

Donanım İşletim Sistemi Tarafından Yönetilir Application programs Operating system Processor Main memory I/O devices Software Hardware

Abstraction-Soyutlama Processes Virtual memory Files Processor Main memory I/O devices

Context Switch Process A Process B Time read User code Kernel code Context switch interrupt Return from read User code Kernel code User code Context switch Thread?

Process Virtual adress space Kernel virtual memory User stack (created at runtime) Memory invisible to user code Memory mapped region for shared libraries printf function Run-time heap (created by malloc) Program start 0 Read/write data Read-only code and data Loaded from the hello executable file

CPU chip Register file PC ALU System bus Memory bus Bus interface I/O bridge Main memory Expansion slots I/O bus USB Graphics adapter Network adapter Mouse Keyboard Monitor Network

1. User types "hello" at the keyboard 5. Client prints "hello, world\n" string on display Local telnet client 2. Client sends "hello" string to telnet server 4. Telnet server sends "hello, world\n" string to client Remote telnet server 3. Server sends "hello" string to the shell, which runs the hello program, and passes the output to the telnet server

Tek çekirdek-çok çekirdek All processors Multiprocessors Uniprocessors Multicore Hyperthreaded

Processor package Core 0 Regs Core 3 Regs L1 d-cache L1 i-cache L1 d-cache L1 i-cache L2 unified cache L2 unified cache L3 unified cache (shared by all cores) Main memory

Virtual machine Processes Instruction set architecture Virtual memory Files Operating system Processor Main memory I/O devices