컴퓨터 구조 15 : 프로세서와 프로세스, 프로세서간 중재
프로세서(Processor)
하드웨어적 측면 : 컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛.
중앙처리장치(Central Processing Unit)를 뜻하며 폰 노이만 아키텍처에 의해 만들어졌다면 적어도 하나 이상의 ALU(Arithmetic Logic Unit)와 처리 레지스터(Register)를 내장하고 있어야 한다.
소프트웨어적 측면 : 데이터 포맷을 변환하는 역할을 수행하는 데이터 프로세싱 시스템(데이터 처리 시스템)
출력 가능한 인쇄물을 생성하는 워드프로세서도 프로세서라 부른다.(컴파일러, 워드프로세서, 어셈블리 등)
프로세스(Process)
메모리에 적재되어 프로세서에 의해 실행중인 프로그램.
대략적 실행 과정
1 : 사용자가 단축 아이콘 혹은 명령행에서 프로그램을 실행.
2 : 파일로 저장되어 있던 프로그램은 로더(Loader)에 의해 메모리(RAM)에 적재(load)되고 처음으로 실행해야 할 기계어 코드가 저장된 메모리의 주소를 CPU의 명령 주소(IP : Instruction Pointer) 레지스터에 저장함.
3 : 프로세서(CPU)는 IP 레지스터가 가리키는 메모리의 주소에서 (처음으로) 실행할 명령어를 인출(메모리에서 CPU로 가져옴)하여 명령 레지스터(IR : Instruction Register)에 저장한다.
4 : IR에 저장된 명령을 실행하고 IP에 다음번에 실행할 명령어가 있는 주소를 저장한다.
5 : 3~4를 프로그램 끝까지 반복한다.
프로세서간 중재
컴퓨터 시스템에는 각 요소들 사이의 정보 전송을 위한 다양한 단계의 여러 버스가 존재하며 CPU내에서도 레지스터와 ALU사이의 정보 전송을 위한 여러 내부 버스가 존재한다.
시스템 버스 : CPU, IOP(I/O Processor), Memory와 같은 주요 요소들을 연결하는 연결체계
로컬 버스 : 메모리 버스(데이터, 주소, 읽기/쓰기 정보 전송), I/O버스(입출력 장치로 정보 전송), 통신 전용버스(특정 포트 정보, 해당 프로토콜 정보 등을 송/수신)
공유 메모리 멀티프로세서 시스템에서 프로세서는 시스템 버스를 통해 공유 자원에 대한 접근을 요구한다. 이때 다른 프로세서가 동시에 시스템 버스를 요구하면 공유 자원에 대한 충돌을 해결하기 위해 중재 동작이 수행되어야 한다.
1 : 직렬 중재 절차(Serial Arbitration Procedure)
로컬 버스와 시스템 공통 버스 사이에 놓인 시스템 버스 제어기에는 중재를 위한 논리 회로가 설계되어 있다. 이러한 중재는 버스 중재자의 데이지 체인 연결로, 우선순위를 바탕으로 이루어진다.
각 프로세서는 자신의 버스 조정 논리 회로를 갖고 있으며, 가장 우선순위가 높은 중재자가 먼저 할당받는다. 그리고 bus busy line을 통해 버스가 사용되고 있음을 알린다.
2 : 병렬 중재 논리(Parallel Arbitration Logic)
버스 중재자들이 우선순위 인코더와 디코더에 연결되어 중재되는 기법이다. 버스의 요청 라인을 통해 인코더에 입력을 넣고, 우선순위에 따라 버스 승낙 입력을 통해 버스를 할당받는다.
Ack : 버스 승낙 입력 라인
Req : 버스 요청 출력 라인
buy busy line 활용법은 이전과 동일하게 데이지 체인 형태로 이루어진다.
'CS 공부 > 컴퓨터 구조' 카테고리의 다른 글
컴퓨터 구조 16 : 프로세서간 통신과 동기화, 캐시의 일관성 (0) | 2022.03.24 |
---|---|
컴퓨터 구조 14 : 병렬 처리, 멀티 프로세서 (0) | 2022.02.23 |
컴퓨터 구조 13 : 시스템 BUS, I/O 장치 제어 (0) | 2022.02.06 |
컴퓨터 구조 12 : 캐시 메모리, 가상 메모리, 메모리 관리 하드웨어 (0) | 2022.01.29 |
컴퓨터 구조 11 : 메모리 계층 구조 (0) | 2022.01.28 |