Computer Science/컴퓨터 구조

RAID란? 데이터의 안전성 혹은 높은 성능을 위해 여러 개의 하드 디스크나 SSD를 마치 하나의 장치처럼 사용하는 기술을 의미합니다. RAID 종류 1. RAID 0 여러 개의 보조기억장치에 데이터를 단순히 나누어 저장하는 구성 방식. 데이터를 분산하여 저장하는 것을 스트라이핑이라고 합니다. 단점: 저장된 데이터가 안전하지 않습니다. 여러 드라이브 중 하나에 문제가 생기면, 다른 모든 드라이브의 정보를 읽는데 문제가 발생합니다. 2. RAID 1 복사본을 만드는 방식. 동일한 데이터가 두 개 이상의 디스크에 동시에 저장되고, 하나의 디스크에 오류가 발생해도 다른 디스크의 데이터를 사용합니다. 이를 Mirroring 방식이라고 합니다. 단점: 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어지는 단점..
낮은 전송률과 장치 컨트롤러 전송률이란 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표입니다. 전송률이 낮은 입출력 장치는 같은 시간동안 전송률이 높은 CPU, 메모리에 비해 적은 양의 데이터를 주고 받을 수 있어서 서로 간의 통신이 수월하지가 않겠죠. 이와 같은 이유로 입출력 장치는 컴퓨터에 직접 연결되지 않고 장치 컨트롤러(입출력 제어기, 입출력 모듈)라는 하드웨어를 통해 연결되어 컴퓨터 내부와 통신합니다. (장치 컨트롤러는 하나 이상의 입출력 장치와 연결) 1. 장치 컨트롤러의 역할 ① CPU와 입출력 장치 간 통신 중개 ② 오류 검출 ③ 데이터 버퍼링 : 버퍼라는 임시 저장 공간에 데이터를 조금씩 모았다가 한번에 전송 혹은 한번에 많이 받아 놓았다가 조금씩 전송하는 방법. 이를 통해 CPU..
명령어 사이클 프로그램은 수많은 명령어로 이루어져 있으며, CPU는 이 많은 명령어를 하나씩 처리합니다. 이때 프로그램 속 명령어들은 일정한 주기가 반복되며 실행되는데, 이 주기를 명령어 사이클이라고 합니다. 크게 인출 사이클과 실행 사이클로 구분합니다. ① 인출 사이클 메모리에 있는 명령어를 CPU로 가지고 오는 단계 ② 실행 사이클 인출한 명령어를 실행하는 단계 인출한 명령어를 바로 실행이 가능한 경우가 있지만 메모리 접근이 더 필요한 경우 간접 사이클이 포함될 수 있습니다. 인터럽트 인터럽트란 CPU의 작업을 방해하는 신호입니다. 어떤 상황에서 인터럽트가 발생하느냐에 따라 동기 인터럽트와 비동기 인터럽트로 나뉩니다. 통상적으로 인터럽트는 비동기 인터럽트를 의미합니다. 1. 동기 인터럽트 CPU가 실..
앞선 포스팅에서 CPU는 메모리에 저장된 명령어를 읽고, 해석하고, 실행하는 장치라 했습니다. 그리고 CPU 내부에는 계산기인 ALU, 명령어를 읽고 해석하는 제어장치, 작은 임시 저장 장치인 레지스터라는 구성 요소가 있습니다. 이번 장에서는 각 구성요소와 CPU 작동 원리를 학습합니다. ALU ALU는 계산기입니다. 1 + 2라는 계산을 위해서는 1, 2라는 피연산자와 +라는 수행 연산이 필요합니다. 그래서 ALU는 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들입니다. 그렇다면 ALU가 반환하는 정보는 무엇일까요? ① 수행 결과 수행 결과는 특정 숫자나, 문자, 메모리 주소가 될 수 있습니다. 그리고 이 결괏값은 바로 메모리에 저장되지 않고 일시적으로 ..
정보의 표현 컴퓨터가 받아들이고 처리하는 정보의 종류로는 프로그램 코드(program code)와 데이터(data)가 있습니다. 컴퓨터에서 그러한 정보들은 모두 2진수(binary)를 나타내는 비트(bit)들의 조합으로 표현됩니다. ※ 2진수로 음수 표현하는 방법 → "2의 보수"를 이용 양수를 음수로 표현할 때 2진수의 모든 비트를 뒤집고(1→0, 0→1), 1을 더하는 방법. 11 = 01101(2) -11 = 10010 + 1 = 10011(2) ※ 2진수로 문자 표현하는 방법 → "인코딩, 디코딩"을 이용 대표적인 인코딩 방법: UTF-8(모든 나라의 언어를 1~4 바이트로 표현하는 방법) 컴퓨터 프로그램은 C, Python 등과 같은 고급 언어를 이용해서 작성되며, 이를 컴파일러(Compiler..
컴퓨터는 프로그램 코드들을 정해진 순서대로 실행(execute)하는데, 그 과정에서 필요한 데이터를 읽어서(read), 처리(processing)하고, 결과를 저장(store)합니다. 메모리 메모리는 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품입니다. 프로그램이 실행되면 해당 프로그램을 구성하는 명령어와 데이터가 메모리에 올라오는 것이죠. 메모리에는 저장된 명령어, 데이터의 위치는 주소를 통해 알 수 있습니다. CPU CPU는 프로세서(processor)라고 불리기도 하며, 메모리에 저장된 명령어를 읽어 들이고, 읽어들인 명령어를 해석하고, 실행하는 부품입니다. '프로그램의 실행'과 '데이터 처리'라는 중추적인 기능의 수행을 담당합니다. CPU의 역할과 작동 원리를 이해하기 위해서는 CPU ..
Younngjun
'Computer Science/컴퓨터 구조' 카테고리의 글 목록