반응형
I/O device의 정의
- 작동: input, output, storage
- 상호작용: 사람 / 컴퓨터
- 데이터 속도: bytes/sec, transfers/sec
I/O bus connection
CPU와 I/O Devices는 Memory-I/O Interconnect로 연결되어 있다. 디바이스는 CPU에 interrupt를 걸어 요청을 처리한다.
Interconnection Components
- 데이터 통신을 위해서는 CPU, memory, I/O controller를 서로 연결해야 한다
- Bus: shared communication channel
- parallel set of wires for data and synchronization of data transfer
- bus clock이 존재한다
- 보통 CPU clock보다 훨씬 느림 => bottleneck이 될 수 있다
- bus 길이가 길어질수록 bandwidth가 줄어든다
- 연결 기기 수에 한계가 있다
- High-Speed Serial Connections with Switches
Bus Types
- processor-memory bus
- 선 길이가 짧고 빠름
- 메모리의 구조에 따라 디자인이 맞춰져 있음
- I/O bus
- 선 길이가 길고, 더 많은 수의 연결을 지원
- 다양한 종류의 기기와 연결하기 위해 표준 규격이 있다
- 브릿지를 통해 processor-memory bus와 연결된다
Bus Signals and Synchronization
- Data Lines
- address와 데이터를 전달
- multiplex를 이용하거나 개개별 선이 존재한다
- Control Lines
- data type, synchronize transaction을 결정한다
- Synchronous
- bus clock 이용
- Asynchronous
- request/acknowledge control line을 이용하여 핸드쉐이크
I/O Management
- I/O는 OS에 의해 관리되는 경우
- 여러 프로그램이 I/O 자원을 공유
- Protection과 Scheduling 작업이 필요함
- I/O는 비동기 interrupt 유발, interrupt는 kernel routine을 불러 작업을 처리
- exception과 같은 매커니즘
- OS를 사용하여 I/O를 처리하는 이유
- I/O 프로그래밍은 성가시다
- OS가 프로그램에 추상화 인터페이스를 제공한다
- 여러 프로그램이 I/O 자원을 공유
- I/O가 OS에 의해 관리되지 않는 경우
- 소규모 interrupt handling routine
- 프로그램이 I/O 작업을 직접 제어해야 함
- 대신 I/O 작업 현황을 예측할 수 있음
반응형
'대학 수업' 카테고리의 다른 글
Storage Devices, Flash Memory, SSD - 임베디드 컴퓨터 구조 (0) | 2020.12.15 |
---|---|
I/O Commands, ARM Interrupt - 임베디드 컴퓨터 구조 (0) | 2020.12.14 |
Scratchpad Memory, Cache Locking - 임베디드 컴퓨터 구조 (0) | 2020.12.13 |
Virtual Memory, TLB, Cache Interacton - 임베디드 컴퓨터 구조 (1) | 2020.12.13 |
DRAM 구조와 Cache Performance 측정 - 임베디드 컴퓨터 구조 (0) | 2020.12.13 |