Computer System Overview

Slides:



Advertisements
Similar presentations
Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
Advertisements

운영체제 Chapter 1 Computer System Overview 1. Contents 1.1 Basic Elements 1.2 마이크로프로세서의 진화 1.3 Instruction Executions 1.4 Interrupts 1.5 The Memory Hierarchy.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
Embedded System Hardware와 software가 조합되어 특정한 목적을 수행하는 시스템
Understanding of Ubiquitous & Computers Plus
컴퓨터와 인터넷.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
6주차:『GPU(CUDA) Programming』
Mar OSEK/VDK Woo Dong Kyun.
Chapter 7 ARP and RARP.
인터럽트 종류 인터럽트 요구시 I/O장치 인식 방법
AMBA BUS Protocol의 이해 (AMBA 2.0 Specification)
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
제 2장 컴퓨터 구조.
기본 컴퓨터 프로그래밍 Lecture #6.
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
강좌 개요 2009년 1학기 컴퓨터의 개념 및 실습.
Operating Systems Overview
과목 홈페이지  전산학개론 이메일 숙제를 제출할 경우, 메일 제목은 반드시 ‘[전산학개론]’으로 시작.
7장 : 캐시와 메모리.
임베디드 하드웨어 Lecture #6.
Uniprocessor Scheduling
컴퓨터 구조학 정보보호학과.
DSP와 TMS320F28x의 이해.
Chapter 2 OSI 모델과 TCP/IP 프로토콜.
출처: IT CookBook, 컴퓨터 구조와 원리 2.0 제 12장
컴퓨터 구조.
Chapter 02 시스템 구조(System Structure)
1 컴퓨터 시스템 소개.
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
직업 형태 변화 과정 일자리의 변화 ERP (Enterprise Resource Planning) 구분 18~19 세기
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
운영체제 (OS: Operating System)
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
Chapter 10. Interrupt.
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
Chapter 7. Pentium Processor
Chapter 02 시스템 구조(System Structure)
6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
Lecture #3 프로세스(Process).
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
Xen and the Art of Virtualization
Chapter 10. 파일 시스템 인터페이스(File System Interface)
Computer System Architecture
Chapter 4 The Von Neumann Model.
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
운영체제(Operating System)
운영체제 (Operating Systems) (Memory Management Strategies)
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
Computer System Overview
Computer System Overview
13장 CTC and DMA Slide 1 (of 10).
Chapter 12 Memory Organization
ARM Development Suite v1.2
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture #6 제5장 기억장치 (1).
9장. 중앙처리 장치의 조직과 기능 다루는 내용 컴퓨터 본체에서 CPU의 위치 살펴보기 CPU의 성능, 기능, 조직
제 3 장 운영체제와 입출력 방식 Section 1 입출력 기능 Section 2 입출력 방식 Section 3 입출력 버퍼링
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
I/O Management and Disk Scheduling
임베디드 하드웨어 Lecture #6.
Machine architecture Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Chapter 2.
Lecture 7 7-Segment LED controller using u-controller
Chapter 7: Deadlocks.
가상 기억장치 (Virtual Memory)
Presentation transcript:

Computer System Overview Lecture #1 Computer System Overview

강의 개요 운영체제는 컴퓨터 시스템의 하드웨어를 제어하여 사용자에게 프로그램을 실행할 수 있는 환경을 제공한다 운영체제에 있어 중요한 컴퓨터 하드웨어 측면을 살펴본다 Operating System

컴퓨터 시스템의 구성 컴퓨터 시스템의 계층적 구성 하드웨어(Hardware) 소프트웨어(Software) 시스템 소프트웨어(System Software) 운영체제(Operating System) 유틸리티(Utility) 응용 프로그램(Application Program) cf) 미들웨어(Middleware) Operating System

컴퓨터 시스템의 계층적 구조 End User Programmer Application Programs Middleware Operating- System Designer Computer Hardware Operating-System Utilities Application Programs Middleware 컴퓨터 시스템의 계층적 구조 Operating System

Basic Hardware Components Processor (CPU) Main Memory 현재 실행중인 프로그램과 데이터를 저장 I/O modules (I/O controllers, I/O processors...) 주변 장치와 CPU 사이에 데이터를 전송하는 하드웨어 secondary memory devices (e.g: hard disks) keyboard, display... communications equipment System interconnection (e.g: Buses) communication among processors, memory, and I/O modules Operating System

Components of a simple personal computer Monitor Bus Components of a simple personal computer Operating System

Computer Hardware Architecture Operating System

CPU와 주기억장치 Operating System

CPU Registers (fast memory on cpu) Control & Status Registers Generally not available to user programs some used by CPU to control its operation some used by OS to control program execution User-Visible Registers available to system (OS) and user programs holds data, addresses, and some condition codes 현재 실행중인 프로그램의 모든 상태 정보를 저장한다 Operating System

Examples of Control & Status Registers Program Counter (PC) 다음에 수행한 명령어의 주소를 저장 Instruction Register (IR) 지금 수행중인 명령어를 저장 Program Status Word (PSW) 다음의 내용을 포함하는 레지스터 그룹: condition codes and status info bits Interrupt enable/disable bit Supervisor(OS)/user mode bit Operating System

User-Visible Registers Data Registers 연산하기 위한 데이터나 중간 계산 결과를 저장하는 레지스터 Address Registers 데이터와 명령어의 메모리 주소를 저장 인덱스 또는 오프셋 주소 등과 같이 절대 주소를 계산하기 위한 정보를 저장 Operating System

The Basic Instruction Cycle CPU는 다음에 수행한 명령어와 데이터를 가져온다(Fetch Cycle) CPU는 가져온 명령어를 수행한다(Execution Cycle) Program counter (PC) 는 다음에 수행할 명령어의 주소를 저장하고 있다 PC 레지스터 값은 fetch cycle에서 자동적으로 증가한다 Operating System

Instruction Register Fetched instruction is placed in the instruction register Categories Processor-memory Transfer data between processor and memory Processor-I/O Data transferred to or from a peripheral device Data processing Arithmetic or logic operation on data Control Alter sequence of execution Operating System

Characteristics of a Hypothetical Machine Operating System

Example of Program Execution Operating System

CPU must wait for I/O to complete! WRITE 명령어에 의해 제어권이 I/O 프로그램으로 넘어간다 I/O 프로그램은 입출력을 위해 I/O Module을 준비한다(4) CPU 는 I/O 명령이 수행 완료될 때까지 기다린다(Idle Wait) I/O 프로그램은 I/O 명령의 수행 결과를 알려준다 CPU는 중단된 사용자 프로그램을 수행한다 Operating System

Interrupts I/O modules은 event(입출력 동작의 완료 여부 등)를 INTERRUPT을 통하여 CPU에 알린다 CPU은 Interrupt Handler Routine (normally part of the OS)을 실행하여 Interrupt를 서비스한다 Interrupt Processing Routine / Interrupt Vector Table Operating System

Instruction Cycle with Interrupts! CPU 는 현재 실행중인 명령어를 완료하고 interrupt를 검사한다 만약 pending된 interrupts가 없으면, 현재 프로그램의 다음 명령어를 실행한다 Pending된 interrupt가 있으면, 현재의 프로그램 실행을 중단하고 interrupt handle를 실행한다 Operating System

Interrupt Handler (1) Interrupt의 특성을 결정하고 필요한 처리 동작을 수행하는 프로그램 Interrupt가 발생하면 소프트웨어 방식 또는 하드웨어 방식으로 현재 수행중인 프로그램은 중단되고 interrupt handler가 실행된다 Interrupt handler 수행이 완료되면 중단된 프로그램을 수행한다(resume) 따라서, interrupt handler를 수행하기 전에 현재 수행중인 프로그램의 상태 정보를 저장하여야 한다(content of PC + PSW + registers + ...) Operating System

Interrupt Handler (2) Interrupts suspend the normal sequence of execution Operating System

Simple Interrupt Processing Operating System

Interrupts improve CPU usage I/O 프로그램은 I/O Module을 준비하고 I/O 명령을 전송한 후에 사용자 프로그램으로 되돌아 온다 사용자 프로그램은 I/O 동작이 일어나는 동안 실행을 계속한다(e.g: printing)- no waiting I/O 동작이 종료되면 사용자 프로그램은 인터럽트되며, interrupt handler가 실행되어 interrupt를 서비스한다 사용자 프로그램 실행을 재개한다 Operating System

Classes of Interrupts I/O Program Exception Timer signals normal completion of operation or error Program Exception overflows try to execute illegal instruction reference outside user’s memory space Timer preempts a program to perform another task Hardware failure (e.g: memory parity error) Operating System

Multiple interrupts: sequential order Disable interrupts during an interrupt Interrupts remain pending until the processor enables interrupts After interrupt handler routine completes, the processor checks for additional interrupts Operating System

Multiple Interrupts: priorities Higher priority interrupts cause lower-priority interrupts to wait Causes a lower-priority interrupt handler to be interrupted Example: when input arrives from communication line, it needs to be absorbed quickly to make room for more input Operating System

Multiprogramming 프로그램은 I/O 장치를 통하여 입출력하는 동안 I/O 동작이 완료될 때까지 기다려야 한다 하나의 프로그램이 입출력을 기다리는 동안 CPU는 다른 프로그램을 실행할 수 있다 Interrupts are mostly effective when a single CPU is shared among several concurrently active processes Operating System

향상된 CPU 내부 구조 (a) A three-stage pipeline (b) A superscalar CPU Operating System

CPU Mode CPU 동작 모드 커널 모드(Kernel Mode or Supervisor Mode) 하드웨어의 각 특성을 이용할 수 있음 운영체제는 하드웨어를 완벽하게 접근할 수 있도록 커널 모드에서 동작 사용자 모드(User Mode) CPU의 일부 명령어만을 실행할 수 있음 하드웨어의 일부 특성 만을 접근할 수 있음 사용자 프로그램은 사용자 모드에서 실행 PSW의 모드 비트 설정에 의해 CPU 모드 전환 Trap 등의 명령어에 의해 PSW의 모드 비트를 수정 Operating System

Memory Hierarchy (1) Capacity, Cost per bit, Access time Frequency of access Capacity, Access time Registers Main Memory Magnetic Disk (Secondary Memory) Magnetic Tape Optical Disk Operating System (Tertiary Memory)

Memory Hierarchy (2) Capacity, Cost per bit, Access time Frequency of access Capacity, Access time Registers Cache Main Memory Disk Cache Magnetic Disk Magnetic Tape Optical Disk Operating System

Memory Hierarchy (3) Operating System

Cache Memory Small cache of expensive but very fast memory interacting with slower but much larger memory Invisible to OS and user programs but interact with other memory management hardware Processor first checks if word referenced to is in cache If not found in cache, a block of memory containing the word is moved to the cache Operating System

The Hit Ratio Hit ratio = fraction of access where data is in cache T1 = access time for fast memory T2 = access time for slow memory T2 >> T1 When hit ratio is close to 1 the average access time is close to T1 Operating System

Locality of Reference Memory reference for both instruction and data tend to cluster over a long period of time Example: once a loop is entered, there is frequent access to a small set of instructions Hence: once a word gets referenced, it is likely that nearby words will get referenced often in the near future Thus, the hit ratio will be close to 1 even for a small cache Operating System

Structure of a disk drive Hard Disk Driver 구조 Structure of a disk drive Operating System

Disk Cache A portion of main memory used as a buffer to temporarily to hold data for the disk Locality of reference also applies here: once a record gets referenced, it is likely that nearby records will get referenced often in the near future If a record referenced is not in the disk cache, the sector containing the record is moved into the disk cache Read-ahead policy Operating System

MMU(Memory Management Unit) (1) Multiprogramming 환경에서 메모리에 두 개 이상의 프로그램을 유지하기 위해서는 다음의 두 가지 문제점에 대한 선결을 요구 프로그램간, 그리고 커널과 프로그램간의 보호 메모리 재할당 처리  MMU 를 통하여 해결 MMU(Memory Management Unit) 프로그램 상의 가상 주소(virtual address)을 실제 메모리에 매핑하여 사용하는 물리 주소(physical address)로 변환하는 장치 대개의 경우 CPU 내부에 구현 Multitasking & virtual memory 기능을 제공하기 위해서는 필수적으로 요구 Operating System

MMU(Memory Management Unit) (2) One base-limit pair and two base-limit pairs Operating System

I/O Module Structure Data to/from system bus are buffered in data register(s) Status/Control register(s) holds current status information current control information from I/O logic interacts with CPU via control bus Contains logic specific to the interface of each device Operating System

I/O communication techniques 3 techniques are possible for I/O operation Programmed I/O Does not use interrupts: CPU has to wait for completion of each I/O operation Interrupt-driven I/O CPU can execute code during I/O operation: it gets interrupted when I/O operation is done. Direct Memory Access(DMA) A block of data is transferred directly from/to memory without going through CPU Operating System

Programmed I/O I/O module performs the action on behalf of the processor But the I/O module does not interrupt the CPU when I/O is done Processor is kept busy checking status of I/O module(polling) Operating System

Interrupt-Driven I/O Processor is interrupted when I/O module ready to exchange data Processor is free to do other work No needless waiting Consumes a lot of processor time because every word read or written passes through the processor Operating System

Interrupt-Driven I/O (a) (b) (a) Steps in starting an I/O device and getting interrupt (b) How the CPU is interrupted Operating System

Direct Memory Access(DMA) CPU issues request to a DMA module (separate module or incorporated into I/O module) DMA module transfers a block of data directly to or from memory (without going through CPU) An interrupt is sent when the task is complete The CPU is only involved at the beginning and end of the transfer The CPU is free to perform other tasks during data transfer Operating System

Structure of a large Pentium system System Bus Operating System Structure of a large Pentium system