컴퓨터 구조 16 : 프로세서간 통신과 동기화, 캐시의 일관성 프로세서간 통신 멀티 프로세서의 프로세서들은 공통의 입출력 채널을 통해 서로 통신함. 예로, IOP에 연결된 자기 디스크 저장 장치를 통해 시스템 프로그램을 공유할 수 있음. 공유 메모리 멀티 프로세서 시스템에서는 메모리 일부분을 모든 프로세서가 접근할 수 있도록 할당함. 공유 메모리는 프로세서 사이에서 오가는 메시지의 집중지 역할을 함. 메시지를 보냈다는 신호는 소프트웨어에 의한 프로세서간 인터럽트로 구현함. 송신 프로세서가 수신 프로세서에게 인터럽트를 보내 새로운 메시지를 보냈다고 알림. 멀티 프로세서를 위한 운영체제 구조 1 : 주종 모드(master-slave) 주가 되는 프로세서는 항상 운영체제 기능을 수행 나머지 프로세서에서 운영체..
컴퓨터 구조 14 : 병렬 처리, 멀티 프로세서 Serial Process system 현재의 CPU가 하나뿐인 시스템 컴퓨터 처리가 필요한 전 분야에 걸쳐 더 나은 성능 개선 요구가 계속 제기되고 있음. 기계적, 논리적 프로세싱에 있어서는 가장 효율적임. 병렬 처리 Parallel Process system(병렬 처리 시스템) 동시에 여러 명령, 작업들을 실행할 수 있는 병렬 처리 시스템 병렬 처리 소프트웨어(병렬 운영체제, 병렬 컴파일러, 메모리 공유)가 계속 발전하고 있으므로 병렬 구조 개발 여건을 제공하고 있음. 1 : 다중 장치 구조 다수의 CPU로 동시에 여러 개의 작업을 병렬로 처리할 수 있는 시스템. 특징 : 공간적 병렬성 2 : 파이프 라인 구조 다수의 작업을 각기 다른 실행 단계에서 병..
캐시 메모리, 가상 메모리, 메모리 관리 하드웨어 캐시 메모리 빠른 CPU 처리 속도와 상대적으로 느린 메인 메모리에서의 속도 차이를 극복하는 중간 버퍼 역할을 함. 데이터의 임시 보관소. 속도가 빠른 CPU와 느린 RAM 사이에서 오는 병목 현상을 해소하기 위해 사용됨. 메인 메모리보다 동작 속도가 더 빠르고 컴퓨터 시스템 속도 향상에 중요한 역할을 함. 캐시 메모리 Mapping Function CPU가 메모리 주소를 사용해 메모리로 데이터를 받으려고 한다. 메모리 관리 장치(MMU)는 메모리가 이해할 수 있는 물리 주소로 변환을 해준다. 각 주기억 장치 블록이 어느 캐시 라인에 적재될 것인지 결정해주는 방식을 mapping이라고 한다. 직접 매핑(Direct Mapping : 직접 사상) : 메모리..
인터럽트 컴퓨터 작동 중 예기치 않은 문제가 발생한 경우 문제를 해결하고 나서 원래 수행하던 프로그램을 다시 수행하는 메커니즘, 한 번에 하나의 명령만 수행할 수 있는 CPU의 한계를 보완함. CPU의 program counter(PC)에 의해 명령어를 처리하던 프로그램이 도중에 인터럽트가 발생하면 현재 수행하던 프로그램, 프로세서의 상태를 저장하고 인터럽트 처리기(interrupt handler)로 점프. 인터럽트 처리 동작(Interrupt Service Routine : ISR) 수행을 마치고, 인터럽트 처리기가 다시 원래 수행하던 프로그램으로 Return 하면서 저장했던 프로그램과 프로세서 상태를 가져오고 하던 일을 진행함. 실생활로 보는 인터럽트 인터럽트의 종류 외부 인터럽트 CPU 외부에서 어..
명령어 집합, 주소 지정 모드 명령어 집합 순차적 실행 명령어, 분기 명령어, 부 함수 호출 명령어, 복귀 명령어 명령어 구문 형식 명령 코드(연산 코드) : 함수 연산, 전달, 제어, 입출력 기능 오퍼 랜드 : 연산 수행에 필요한 데이터 혹은 데이터 주소 주소 지정 모드 : 오퍼 랜드가 저장된 위치를 인덱싱 하는 방법 주소 지정 모드 주소 : 주기억 장치에서 데이터가 저장된 위치 주소 지정 방식 : 주소를 지정하는 방식 유효 주소 : 데이터가 저장된 기억 장치의 실제 주소 주소 지정 방식에 따른 자료 접근 속도 즉치 주소 지정 > 레지스터 주소 지정 > 직접 주소 지정 > 레지스터 간접 주소 지정 > 간접 주소 지정 1 : 즉치 주소 지정 방식 명령어 주소 필드에 데이터가 들어가 있으며 상수 정의나 변..
CPU 디자인, 마이크로 연산과 ALU CPU 디자인 CPU 내에서 디바이스들 간의 상호 연결 방법 직접 연결 : 연결 복잡도가 장치 수의 제곱에 비례 버스 연결 : 가장 가성비 높은 연결 방식. 공통된 통신 채널을 통해 다양한 신호를 운반. 오늘날 PC가 널리 사용될 수 있도록 함. 버스를 통한 레지스터 상호 연결 예1 : 멀티 플렉서를 이용 멀티 플렉서는 여러 개의 입력 신호들 중에서 선별하여 버스에 신호를 보낼 수 있다. 버스를 통한 레지스터 상호 연결 예2 : 상태 버스 버퍼 (버퍼는 연산의 중간 결과값을 기억함) 멀티 플렉서처럼 신호를 선택할 수 있고, Enable값을 컨트롤 할 수 있다. 마이크로 연산과 ALU 레지스터에 저장된 데이터에 대해 수행되는 기본적인 연산(일반적인 사칙연산과는 다름)..