컴퓨터 구조 15 : 프로세서와 프로세스, 프로세서간 중재

728x90

컴퓨터 구조 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 활용법은 이전과 동일하게 데이지 체인 형태로 이루어진다.

 

728x90