IT기술노트 1. 컴퓨터의 시작 - 1.1 컴퓨터를 구성하는 요소
1. 컴퓨터의 시작
컴퓨터를 둘러싸고 있는데, 지식들에 대해서 조금 쉽게 정리를 해보려고 합니다. 컴퓨터는 누가 만들었을까요? 제 2차 세계대전에 미국 펜실베이나 대학 교수인 존 모클리와 그 …
wikidocs.net
CS의 기초적인 배경 지식을 갖추기 위해 앞으로 몇 개의 포스팅에 거쳐 해당 내용을 정리해보도록 할 것이다. 유튜브에 짧게 강의도 올라와져 있으니 참고할 것
운영체제란, 컴퓨터라는 하드웨어를 돌아가게 하는 엔진이다.
즉, 프로그램과 데이터가 저장되어 있는 디스크를 운영해주는 시스템이다.
1.1 컴퓨터를 구성하는 요소
각각의 요소를 자세히 다룰 예정이지만, 지금은 그냥 가볍게 얘기만 하고 넘어가겠다.
컴퓨터는 크게 CPU, 메모리, 디스크, IO로 구성된다고 할 수 있다.
CPU는 연산장치, 컴퓨터의 뇌를 뜻한다. 내부적으로는 BUS와 연결되어 있지만, 크게 봤을 때는 메모리와 연결되어 있다고 볼 수 있다. 메모리에는 지금 당장 실행 해야 하는 명령이 담겨져 있다. CPU가 일을 하고 있다면 해당 일거리를 잠깐 저장해두는 것이다.
메모리와 디스크와의 차이점은, REAL 잠깐이라는 것이다. 없어질 수도 있고, 다음 명령어가 저장될 수도 있어 반영구적으로 유지되는 디스크와 큰 차이가 있다.
디스크에는 파일들이 저장되어 있다. 파일은 사용자가 삭제하거나, 디스크에 문제가 있지 않은 이상은 반영구적으로 저장된다.
<CPU>
CPU(중앙처리 장치)는 각종 연산을 수행하고 기억장치에 기억되어 있는 명령어들을 수행하는 컴퓨터 시스템을 이루는 핵심 부품이다.
CPU의 내부 구성은 크게 산술/논리 연산 장치(ALU), 제어장치, 레지스터로 구성되어 있다.
여기서 레지스터는 CPU 내부의 메모리이다.
캐시나 메모리로부터 읽어 온 데이터는 레지스터라는 CPU 전용의 기억장소에 저장되며, ALU는 이 레지스터에 저장된 데이터를 이용하여 덧셈, 곱셈 등과 같은 산술 연산을 수행
제어장치는 CPU가 자신 및 주변기기들을 컨트롤하는 장치로, 프로그램의 수행 순서를 제어하는 프로그램 계수기, 현재 수행 중인 명령어의 내용을 임시 기억하는 명령 레지스터, 명령 레지스터에 수록된 명령을 해독하여 수행될 장치에 제어 신호를 보내는 명령해독기로 구성된다.
CPU의 내부 구성 레지스터는 범용 레지스터(주로 산술 연산 논리 장치)와 전용 레지스터(PC등의 특수 목적에 사용되는 레지스터)로 구분될 수 있다.
레지스터의 종류는 IR, PC, AC가 있다.
각각 CPU의 내부 메모리로 다음과 같이 사용된다.
IR - 현재 수행 중에 있는 명령어 부호를 저장하고 있는 레지스터
PC - 명령이 저장된 메모리의 주소를 가리키는 레지스터
AC - 산술 및 논리 연산의 결과를 임시로 기억하는 레지스터
CPU가 명령어를 어떻게 처리하는지 알아보자.
명령어 = 동작코드 + 오퍼랜드 로 이루어져 있다.
여기서 오퍼랜드란, 명령어의 실행에 필요한 자료나 실제 자료의 저장 위치이다.
명령어 수행과정: 읽기 - 해석 - 실행 - 기록의 순서로 수행된다.
명령어를 수행하기 위해서는 명령어를 가져오는데, 이를 Fetch라고 한다.
PC는 Fetch할 다음의 명령어 주소를 가지고 있다. 프로세스는 PC가 가리키는 주소 위치에서 명령어를 가져오면서 PC를 증가시키고 명령문은 IR에 로드된다. 로드된 명령어는 수행 과정이 진행되는데, 명령어를 수행하는 Execute Cycle Fetch과정에서 가져온 명령어를 실제 ALU(가산기)에서 처리하게 된다.
명령어 처리 방식에는 RISC와 CISC가 있다.
RISC - 컴퓨터 내부적으로 사용하는 명령어 세트를 단순화 시켜서 처리하는 형태의 구조
단순한 명령을 조합해서 하나의 기능을 수행하게 된다.
CISC - 하나의 기능에 해당하는 하나의 명령이 있는 개념
가능한 적은 수의 명령으로 작업을 수행하는 것이 목적이다.
RISC와 CISC를 비교해보기 위한 각각의 주요 특성은 다음과 같다.
RISC: 하나의 사이클로 명령어 수행, 메모리 Load/Store 명령만 처리, 파이프라이닝, 슈퍼스칼라 가능
CISC: 여러 사이클로 명령어 처리, 많은 명령어가 메모리 참조, 복잡한 마이크로 프로그램
EPIC은 32Bit CISC 및 RISC 마이크로프로세서 아키텍쳐의 32비트 레지스터, 분기 예측, 메모리 지연, 암시적 병렬 처리 등의 문제를 해결하기 위한 설계 방식으로 최대 128개의 일반 및 부동 소수점 단위 레지스터를 제공하고, 계산 작업을 수행하기 위하여 명시적인 병렬 처리를 제공