캐시 설계 시 고려할 사항 캐시 크기(Cash Size) 전송 블록 크기(Block Size) 교체 알고리즘(Replacement Algorithm) 매핑 프로세스 주기억 장치로부터 캐시 메모리로 데이터를 전송하는 방법을 말하며 직접 매핑, 연관 매핑, 집합 연관 매핑의 3가지가 있음 직접 매핑(Direct Mapping) 용량이 작은 RAM을 캐시 메모리로 사용하며, 주기억 장치의 블록이 특정 라인에만 적재되는 원리를 이용하여 캐시의 적중 여부를 그 블록이 적재될 수 있는 라인만 검사하는 방식 라인이 하나만 있으므로 동일한 라인에 부 블록을 반복적으로 액세스하는 겨우 캐시 실패율이 매우 높아지는 단점이 있음 연관 매핑(Associative Mapping) 주기억 장치의 블록이 캐시의 어느 라인에도 적재..
저장 장치의 개념 컴퓨터가 프로그램을 수행하기 위해서는 주 기억 장치에 있어야 하지만, 주 기억 장치는 모든 프로그램을 영구히 보존하기에는 너무 작고, 휘발성이라는 문제점이 있음 이를 극복하기 위해 캐시와 메모리,그리고 하드 디스크로서 저장 장치를 구성하게 되면 접근 속도는 캐시처럼 빠르게, 저장 공간은 하드 디스크처럼 크게 할 수 있는데, 이를 저장 장치의 계층 구조하 함 제약 조건 컴퓨터의 저장 장치는 용량, 접근 속도, 비용 등 3가지 제약 조건을 고려하여 설계되어야 하며, 이들은 각각 상충 관계(trade-off) 가 있음 접근시간이 짧을수록 비트 당 비용이 높아짐 용량이 클수록 비트 당 비용이 낮아짐 용량이 클수록 접근 시간이 길어짐 용량, 비용, 접근 속도 간의 상충 관계 때문에 단일 저장 장..
캐시 메모리 캐시 메모리는 빠른 속도로 처리되는 프로세서와 상대적으로 느린 속도로 처리되는 메인 메모리 사이에서 데이터를 저장하는 고속 버퍼 저장 장치 시스템에 캐시 메모리를 결합한 캐시 메모리 시스템은 메모리 가격과 성능 사이에서 절충을 위한(즉, 느린 메인 메모리에 의해 나타나는 성능 저하를 감소시키기 위한) 방법 가상 메모리(Virtual Memory) 메인 메모리의 유효 크기를 증가시키기 위해 사용되는 기법으로, 현재 실행 중인 프로그램과 데이터를 물리적인 메인 메모리 영역에 전부 저장되어야 하지만 메인 메모리의 공간 부족으로 저장할 수 없는 경우에 , 자기 디스크와 같은 보조 기억 장치에 메인 메모리에서 실행 중인 부분 이외의 나머지 부분을 저장 실행에 필요한 프로그램과 데이터를 메인 메모리로 ..
병렬 컴퓨터의 개념 병렬처리(Parallel Processing)는 다수의 프로세스들이 여러 개의 프로그램들 또는 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술 병렬 처리기는 다중 프로세스 컴퓨터에 병렬 기법을 적용한 것으로, 많은 수의 프로세서들이 하나의 시스템을 구성할 수 있도록 작고 저렴하면서 고속인 프로세서들의 사용이 가능해야 함 병렬 컴퓨터의 조건은 한 프로그램을 여러 개의 작은 부분들로 분할하는 것이 가능해야 하며, 분할된 부분들은 병렬로 처리한 결과가 전체 프로그램을 순차적으로 처리한 경우와 동일한 결과를 얻을 수 있어야 함 병렬 컴퓨터의 과제 최근 반도체의 기술의 발전과 더불어 VLSI의 집적도가 크게 증가함에 따라, 많은 수의 프로세서들이 하나의 시스템으로 구성이 가능하게 ..
시간적 병렬성(Temporal Parallelism)을 이용한 중첩 병렬성(Overlapped Parallelism)을 구현하여 중첩 계산(Overlapped Computation)을 수행하는 시스템 파이프라인 컴퓨터 배열(Array) 프로세서 여러 개의 동기화된 산술-논리 유닛들을 이용하여 공간적 병렬성을 실현한 시스템 멀티프로세서 시스템 시스템 자원들(기억 장치, 입.출력 장치 등)을 공유하는 프로세서들을 이용하여 비동기적 병렬성(Asynchronous Parallelism)을 실현한 시스템
명령어 처리 명령어당 소요되는 사이클을 줄이면 시스템 성능은 향상 1세대 RISC 프로세서의 목표는 하나의 사이클에 하나의 명령어를 수행하는 것이고, 진보된 프로세스들의 목표는, 하나의 사이클에 여러 개의 명령어를 수행하는 것 명령어 수행 과정 IF(명령어 인출, Instruction Fetch) 명령어 캐시로부터 다음에 수행될 명령어 인출 ID(명령어 해독, Decode/Register Fetch) 수행될 명령어를 해독하고, 레지스터 오퍼랜드를 읽음 EX(명령어 수행, Execution/Effective Address) 명령어를 수행하고 메모리 연산의 유효 주소를 계산 MEM(메모리 참조, Memory Access/Branch completion Cycle) 메모리 참조 및 분기 명령어 수행 WB(Wr..
최근 가장 관심이 집중되는 컴퓨터의 설계 개념은 기존의 대칭적 멀티프로세서(SMP; Symmetric Multiprocessor)의 문제점을 극복할 수 있는 새로운 멀티프로세서의 개발이며, 고성능 및 고가용성을 만족해야 하고, 특히 대형 서버 구성에 적합해야 함 클러스터는 상호 연결되어 함께 작업하는 전체 컴퓨터 그룹으로서, 하나의 컴퓨터라는 착각을 일으킬 수 있는 단일화된 컴퓨팅 환경 클러스터의 원리는 여러 대의 컴퓨터들이 상호 연결되어 협력해 하나의 컴퓨터로 동작하는 통합 컴퓨팅 자원이고, 여기에서 클러스터를 구성하는 각 컴퓨터는 클러스터로부터 분리되면 독립적으로 동작할 수 있는 시스템
절대적 선형 확장성으로 제일 큰 독립형 컴퓨터의 처리 능력을 훨씬 능가하는 큰 클러스터의 구성도 가능함 점진적 선형 확장성이란, 새로운 시스템을 몇 대씩 클러스터에 추가하는 방식으로 클러스터를 구성할 수 있는 것을 의미 각 노드가 독립적인 컴퓨터 이고, 이런 독립적인 컴퓨터의 장애에도 서비스가 계속 가능하므로 높은 가용성을 제공하는데, 상당수의 제품들에 있어 장애 방지는 소프트웨어로 처리됨 상품화되어 있는 소형 컴퓨터들을 사용함으로써, 훨씬 저렴한 가격으로 단일의 큰 시스템과 같거나 더 큰 컴퓨팅 능력을 가진 클러스터를 구축할 수 있음
고성능 클러스터(HPC; High-Performance Clusters) 기상 예측, 핵폭발 시뮬레이션 등의 수치 연산, 3D 애니메이션, 영화 등의 특수효과 등에서 대규모 연산에 활용 구현 형태 기본형 클러스터 : 모든 노드의 하드 디스크에 독립적인 운영체제를 설치하고, 각 노드는 시스템에 필요한 파일 및 라이브러리를 자체적으로 해결할 수 있도록 구성 디스크 없는 클러스터 : 서버 노드 1대에만 하드 디스크가 존재하고, 다른 노드들은 서버 노드의 파일 시스템을 사용 부하 분산 클러스터(LBC; Load-Balancing Clusters) 웹 서버에 접속하는 사용자 수의 증가와 더불어 이미지, 음성, 동영상 등 멀티미디어 형태로, 변화하는 웹서비스 지원으로 웹 서버에서 병목 현상이 발생할 가능성이 있음 ..
디스크가 공유되지 않는 구조 전체 컴퓨터들이 디스크를 공유하지 않는 클러스터 방법으로, 전체 컴퓨터 간의 연결은 LAN 또는 전용 연결망으로 연결됨 전체 컴퓨터들 간의 통신은 고속의 메시지 전달로 이루어짐 디스크가 공유되는 구조 전체 컴퓨터인 서버들이 디스크를 공유하는 클러스터 방법으로, 이때 공유 디스크 시스템으로 RAID를 사용함 RAID 구조는 운영체제에 의해 하나의 논리적인 드라이브로 보여지는 물리적인 디스크 드라이브들의 집합으로, 데이터는 배열을 이루고 있는 디스크 드라이버에 분산 저장되고, 여분의 디스크들은 디스크 오류 발생 시 데이터 복구를 보장하기 위한 패리티 정보를 저장하는 데 사용됨 전체 컴퓨터들끼리는 고속의 메시지로 연결되고, RAID가 전체 컴퓨터 사이에서 공유됨