시스템 버스(System bus)
- 컴퓨터의 구성요소를 서로 연결하고 데이터 전달을 위한 경로
- 주소 버스, 데이터 버스, 제어 버스로 구성
1) 주소 버스(Address Bus)
- 메모리의 주소나 I/O Unit의 포트 번호를 전달
- CPU와 Memory는 단방향으로 데이터 전달이 가능한 버스를 이용함으로써 주소 전달은 CPU에서 메모리로만 가능
- CPU, Memory는 I/O Unit과 양방향으로 데이터 전달이 가능한 버스를 사용
2) 데이터 버스(Data Bus)
- 데이터 전달
- 각 구성요소(CPU, Memory, I/O Unit)는 양방향으로 데이터 전달이 가능한 버스를 사용
3) 제어 버스(Control Bus)
- 제어 신호 전달
- Read와 Write신호가 전달
- 각 구성요소(CPU, Memory, I/O Unit)는 양방향으로 데이터 전달이 가능한 버스를 사용
컴퓨터 구성 요소간 통신
1) CPU <----> 메모리
- 적재(Load)와 저장(Store) 명령에 의해 수행
(1) 적재(Load)
- 주소 버스 : 메모리에서 불러올 데이터가 저장된 주소값이 전달(CPU -> Memory)
- 신호 버스 : Memory Read 신호 전달(CPU -> Memory)
- 데이터 버스 : 지정한 메모리에 저장된 값 전달(Memory -> CPU)
(2) 저장(Store)
- 주소 버스 : 메모리에서 해당 데이터를 저장할 주소값 전달(CPU -> Memory)
- 신호 버스 : Memory Write 신호 전달(CPU -> Memory)
- 데이터 버스 : 저장할 데이터 전달(CPU -> Memory)
2) CPU <----> I/O Unit
- 입력(Input)과 출력(Output)명령에 의해 수행
(1) 입력(Input)
- 주소 버스 : 해당 입출력 장치의 포트 번호 전달(CPU -> I/O Unit)
- 신호 버스 : I/O Read(input) 신호 전달(CPU -> I/O Unit)
- 데이터 버스 : 해당 입출력 장치는 데이터 전달(I/O Unit -> CPU)
(2) 출력(Output)
- 주소 버스 : 해당 입출력 장치의 포트 번호 전달(CPU -> I/O Unit)
- 신호 버스 : I/O Write(output) 신호 전달(CPU -> I/O Unit)
- 데이터 버스 : 입출력 장치에 데이터 전달(CPU -> I/O Unit)
(3) 인터럽트(Inputerrupt)
- 입출력장치는 제어신호를 통해 인터럽트 요청을 보내 CPU에 입출력작업을 요청할 수 있음
- 인터럽트 요청 : 입출력 준비를 마친 I/O Unit이 CPU에 입출력작업의 시작 요청
- 인터럽트 확인 : CPU가 입추력 동작을 수행할 것을 입출력장치에 통보
3) 메모리 <----> I/O Unit
- 입출력장치와 메모리의 통신은 CPU를 이용하지 않고 직접 기억장치 액세스 방식(DMA, Direct Memory Access)으로 통신
- DMA 제어기는 CPU를 대신해 주소 버스와 제어버스에 신호를 전달
- DMA 제어기는 통신 시작 전 CPU에 버스 사용해 대한 허가를 받아야함
'CS > Computer Architecture' 카테고리의 다른 글
[컴퓨터구조] 인터럽트(Interrupt) (0) | 2020.07.14 |
---|---|
[컴퓨터구조] 레지스터(Register) (0) | 2020.07.14 |
[컴퓨터구조] 명령어(Instruction) (0) | 2020.07.13 |
[컴퓨터구조] 컴퓨터의 구성 요소 (2) | 2020.07.13 |
[컴퓨터구조] 어셈블리어와 고급언어 (0) | 2020.07.12 |
댓글