[컴퓨터 구조] RAID의 구조와 종류
·
CS/컴퓨터 구조
프로세서의 속도와 디스크의 속도 간에는 매우 큰 불균형이 존재하고 있습니다.현재 디스크의 속도는 주기억장치 속도의 십만분의 1정도이며 그 차이는 점차 더 커질것입니다.오늘은 이러한 디스크의 성능문제를 개선하기 위한 방법인 RAID에 대해 알아보겠습니다.1. RAID1) 디스크 배열하나의 대형 디스크를 사용하는 것 보다 크기가 작은 여러 개의 디스크들을 서로 연결하여 하나의 큰 용량을 가진 디스크 유니트로 사용하는 것이 보다 저렴한 가격으로 디스크 서브 시스템을 구성할 수 있습니다.용량을 늘리기 위하여 배열 구조로 연결한 다수의 작은 디스크들에 데이터를 분산 저장하게 되면 동시 액세스(concurrent access)가 가능해집니다. 또한 디스크마다 별도의 전송 채널을 가지므로 병렬 전송이 가능해져서 데이..
[컴퓨터 구조] 하드디스크
·
CS/컴퓨터 구조
오늘은 외부기억장치에 해당하는 보조저장장치 중 오래전부터 널리 사용되어온 하드디스크에 대해서 알아보겠습니다.1. 하드디스크1) 하드디스크 개요하드디스크의 원래 명칭은 자기적 하드디스크로 디스크라고 부르기도 합니다.디스크는 자회될 수 있는 물질로 코팅된 플라스틱이나 금속을 이용한 원형 평판(circular platter)로 만들어지는데, 그 평판 위에 헤드(head)라고 불리는 전도성 코일을 통하여 표면을 자화시킴으로써 데이터를 저장합니다. 디스크 표면에는 위와 같이 여러개의 동심원이 존재합니다. 이 원들을 트랙(track)이라고 합니다.데이터들은 트랙 위에 저장되며, 헤드가 그 트랙을 지나가는 동안에 데이터가 저장되거나 인출됩니다.트랙(track): 디스크 평판 위의 동심원들로서, 데이터가 실제 저장되..
[컴퓨터 구조] DDR SDRAM
·
CS/컴퓨터 구조
CPU는 기술의 발달과 내부 구조 개선을 통해 속도가 높아지고 있지만, 기억장치의 속도는 그 상승률을 따라가지 못하고 있습니다.수십년 전부터 사용한 DRAM은 직접도가 높아져 용량은 증가하고 있지만, 액세스 속도는 CPU에 비해 현저히 떨어지고 있습니다.대규모 데이터가 연속적으로 CPU와 주기억장치 사이에 전송되어야 하는 최근의 환경 속에서, 주기억장치 속도로 인한 성능 병목(performance bottleneck)은 반드시 해결되어야 할 문제 입니다.이러한 문제점을 극복하고자 출현한 제품이 CPU와의 데이터 전송방식을 변경한 SDRAM입니다. 오늘은 SDRAM에 대해 알아보고, 더욱 보강된 기술로서 최근 널리 사용되는 DDR(Double data rate) 기법들에 대해 알아보겠습니다.1. SDRAM..
[컴퓨터 구조] 캐시 메모리 - 교체 알고리즘, 쓰기정책과 다중캐시
·
CS/컴퓨터 구조
1. 캐시 교체 알고리즘캐시 미스가 발생하여 새로운 블록이 캐시로 올라왔을때, 라인들이 모두 적재되어 있다면 적절한 알고리즘으로 교체가 이루어져야 합니다.직접 사상에서는 새로운 블록이 적재될 수 있는 라인이 하나뿐이기 때문에 선택의 여지가 없습니다.하지만 완전-연관 사상과 세트-연관 사상에서는 적절한 교체 알고리즘이 필요합니다.3가지의 교체 알고리즘에 대해 알아보겠습니다. LRU(Least Recently Used), 최소 최근 사용최근의 사용 빈도가 가장 낮은 블록을 선택하여 교체각 라인이 USE비트를 가지고 있도록 함으로써 구현 FIFO(First-In-First-Out)캐시에 적재된 지 가장 오래된 블록을 교체하는 방식LFU(Least Frequently Used), 최소 사용 빈도캐시에 적재된 이..
[컴퓨터 구조] 캐시 메모리 - 캐시의 특징과 사상(mapping)방식
·
CS/컴퓨터 구조
1. 캐시 메모리1) 캐시의 특징캐시는 CPU와 주기억장치의 속도차이를 보완하는 기억장치입니다. CPU 칩과 인접한 곳에 위치하며, CPU 칩 내부에 포함되기도 합니다. 캐시는 명령어와 데이터를 별도의 캐시에 분리하여 저장하며, 여러 레벨의 계층적 캐시로 구성하는 방법도 널리 사용되고 있습니다.캐시의 액세스 시간은 주 기억장치의 액세스 시간보다 상당히 더 짧지만, 칩의 가격이 그만큼 높아지고 설치할 수 있는 공간도 제한되기 때문에, 캐시의 용량은 일반적으로 주기억장치의 용량에 비해 훨씬 더 적습니다.캐시 메모리(cache memory): CPU와 주기억장치의 속도 차이를 보완하기 위하여 그 사이에 설치하는 반도체 기억장치 CPU가 기억장치로부터 어떤 데이터를 읽으려고 할 때는 먼저 그 데이터가 캐시에 있..
[컴퓨터 구조] 기억장치 모듈의 설계, 병렬 접속과 직렬 접속
·
CS/컴퓨터 구조
오늘은 기억장치 모듈의 설계를 위한 병렬 접속과 직렬 접속에 대해 알아보겠습니다.1. 설계 이유주기억장치의 용량이 커질수록 더 많은 프로그램과 데이터를 적재할 수 있기 때문에, 디스크 액세스 횟수가 줄어들어 컴퓨터시스템의 성능이 높아집니다. 그러나 ROM과 RAM은 각 칩당 저장할 수 있는 용량에 한계가 있습니다. 따라서 원하는 만큼의 용량을 가지도록 여러 개의 칩들을 사용해야 합니다.칩의 각 기억장소에 저장되는 비트 수가 일반적으로 컴퓨터의 단어 길이(word length)보다 적기 때문에 한 번에 한 단어씩 액세스할 수 있도록 하기 위해 여러개의 칩들을 병렬로 접속해야 합니다.단어(word): CPU에 의해 한번에 처리될 수 있는 비트들의 그룹 2. 병렬 접속컴퓨터의 단어 길이가 N비트이고 기억장치 ..
[컴퓨터 구조] 제어유니트(Control Unit)와 마이크로프로그램
·
CS/컴퓨터 구조
오늘은 CPU의 구성요소 중 하나인 제어유니트와 마이크로프로그램에 대해서 알아보겠습니다.1. 제어유니트1) 제어 유니트의 기능CPU가 실행하는 기계명령어들을 인출하여 해독하고 실행하는 과정이 순차적으로 발생되기 위해서는, 적절한 제어 신호들이 생성되어 해당 하드웨어 모듈로 보내져야 합니다. CPU의 구성요소인 제어 유니트가 이러한 역할을 담당하고 있습니다.제어 유니트가 수행하는 주요 기능들은 다음과 같습니다.명령어 코드의 해독명령어 실행에 필요한 제어 신호들의 발생제어 유니트는 컴퓨터 프로그램을 구성하고 있는 명령어들을 해독(decode)하고 그 결과에 따라 명령어 실행에 필요한 동작들을 수행시키기 위한 제어 신호를 발생하는 장치입니다. 다시말해 명령어 사이클이 적절히 수행되도록 모든 동작을 제어하는 장..
[컴퓨터 구조] 산술논리연산장치(ALU)의 구성요소와 정수의 표현
·
CS/컴퓨터 구조
오늘은 산술논리연산장치의 구성요소를 간략하게 알아보고 연산에 사용되는 정수들이 어떤식으로 표현되는지를 알아보겠습니다.1. 산술논리연산장치(ALU)1) 산술논리연산장치(ALU) 개요산술논리연산장치는 산술적 계산과 논리 데이터에 대한 연산을 수행합니다. 산술적 계산은 일반적으로 정수(integer)와 부동소수점 수(floating-point number)라는 두 가지 형태의 수들에 대하여 수행되며, 논리 연산은 0과 1의 배열로 표현되는 2진데이터(binary data)에 대하여 이루어집니다.컴퓨터 시스템의 다른 요소들인 제어 유니트, 레지스터, 기억장치 및 I/O장치는 사실상 ALU에 의해 처리될 데이터를 가져오거나 그 결과를 저장하고 출력시키는 역할을 할 뿐입니다. 산술논리연산장치(ALU): CPU 내부..