컴퓨터학 개론

컴퓨터의 개요

  • 사람을 대신하여 복잡한 연산을 수행하는 전자계산기
  • 대용량의 데이터를 보존 관리할 수 있다.

컴퓨터의 특징

  • 신속성: 대량의 데이터를 연산처리 할 수 있다. 최근 컴퓨터는 초당 수십억번의 산술연산작업을 수앵한다.
  • 신뢰성: 컴퓨터는 많은 데이터 처리와 함게 오류 없는 신뢰성을 보장해 주고 있다. 이는 컴퓨터가 사람의 업무를 대신하는데 없어서는 안 될 요소이다.
  • 정확성: 반도체 기술의 비약적인 발전으로 컴퓨터의 정확성은 날로 높아져 가고 있다.
  • 데이터의 보존: 각종 데이터를 보존하기 위해 기억장치들의 개발로 상단한 분량의 데이터를 작은 공간에 축적 보존할 수 있다.
  • 경제성: 대용량 데이터를 빠르게 처리함으로서 사람이 하는 것에 비하여 시간과 비용을 절감을 가져온다.

PC(Personal Computer, 개인용 컴퓨터)

초기 컴퓨터는 개인의 독자적인 사용을 전제하지 않고 공동의 이익을 위한 목적으로 개발되었으며 이에 따라 중앙처리부와 기억장치를 가진 중앙 컴퓨터와 사용 자를 위한 단말기로 구분되었다. PC는 개인의 독자적인 사용을 전재로 하여 개발된 컴퓨터로서 컴퓨터 갖춰야할 중앙처리부, 기억장치, 입출력장치를 하나의 단일화 된 제품으로 제작된 것이다

하드웨어와 소프트웨어

하드웨어

하드웨어는 물리적인 장치를 의미한다. 컴퓨터에는 CPU, 메모리, 디스크드라이브, 입출력장치 등 각종 하드웨어들이 존 재하고 있으며 이들은 소프트웨어의 명령을 받아 동작한다.

소프트웨어

소프트웨어는 컴퓨터에서 동작시키고 업무를 수행하는 프로그램들을 의미한다. 운영체제, 게임, 그래픽 프로그램, 교육용 프로그램, 업무용 프로그램 등이 이에 속한다.

기본 용어

bit(비트)와 Byte(바이트)

컴퓨터는 모든 자료를 0과 1로 표현하는 디지털 형식의 전기신호를 사용한다. 디지털이란 전기가 흐르는 상태 “1"과 흐르지 않는 상태 “0” 이라는 두 가지 전기 적인 상태만으로 데이터를 표현하는 것이다. 바로 이것이 컴퓨터에서 이야기하는 데이터 표현의 최소단위인 bit이다. 즉, 1bit로 표현 가능한 데이터는 1과 0이라는 두 가지뿐이다. 그러나 이것만으로 사람이 사용하는 문자를 컴퓨터의 데이터화시 키기는 역부족이다. 그래서 2개의 전기신호를 조합하면 00, 01, 10, 11이라는 4가 지의 자료를 표현할 수 있다. 그러나 이 역시 사람의 문자를 표현할 수 없다. 그래서 8bit를 조합하게 되는데 8bit를 조합하는 경우 모두 256가지의 데이터 표현 이 가능해진다. 이것을 1Byte라 한다. 결국 이것이 우리가 사용하는 문자(영문자) 하나를 표현하는 데이터 량이 되는 것이다. 1Byte는 8bit로 구성된다.

버스

컴퓨터에서 버스란 데이터를 전달하기 위한 전송통로를 의미한다. 이 통로의 구성 형태에 따라 컴퓨터의 종류를 구분하고 한다.CPU와 주변기기 사이에 한 번에 주고 받을 수 있는 데이터 폭을 의미한다. 8bit 를 기본으로 하며 16bit => 32bit => 64bit로 발전한다.

컴퓨터의 역사

최초의 컴퓨터 에니악

1944년 하버드 대학 교수인 에이컨 이 IBM 사의 후원을 얻어 우리가 최초의 컴퓨터라 부르는 ““MARK-1"을 제작하였다. “MARK-1"은 진정한 컴퓨터라 할 수 없었고 1946년 미국의 펜실베니아 대학에서 머클리와 에커트가 탄도표나 일기 예보, 원자 에너지 계산, 우주 광선 연구 등에 쓰이는 군사용 컴퓨터를 개발하였는데, 이것이 10진수 체계를 사용한 에니악(ENIAC) 이었다.

에니악은 진공관을 사용하여 계산할 수 있게 만든 것인데, 무려 18,000개의 진공 관과 6,000개의 스위치가 달려 있어 크기도 크지만 조작하기도 무척 힘든 컴퓨터 였다. 게다가 프로그램의 호환성이 없어 프로그램을 바꿀 때마다 그 많은 스위치의 연결을 처음부터 다시 해야 했다.

프로그램 내장방식의 에드삭

1949년 모리스 윌크스는 최초의 프로그램을 내장한 에드삭(EDSAC)을 완성하였, 1951년에는 노이만에 의해서 다시 2진수 체계를 사용한 에드박(EDVAC)이 라는 컴퓨터가 개발되었다. 또한 IBM사는 보조 기억장치로 자기테이프를 사용하는 UNVAC 1을 개발하여 미국의 인구 통계국에 설치하였다.

컴퓨터의 세대 구분

세대구분 년대 중앙처리장치 주기억장치 프로그래밍언어
1세대 1946~1957 진공관 자기드럼어셈블러램
2세대 1958~1964 트랜지스터 자기코어 포트란, 코볼램
3세대 1965~1974 IC 자기디스크 파스칼, 베이직램
4세대 1975년대 이후 LSI 반도체 현재의 각종 프로그램램
5세대 현재 VLSI 반도체 현재의 각종 프로그램

PC의 구조

중앙처리장치(CPU)

  • 컴퓨터의 각 장치들을 동작시키고 정상적인 동작을 위한 제어 역할을 수행하는 제어장치를 내장하고 있다.
  • 각종 연산 데이터를 처리하는 연상장치를 내장하고 있다.
  • 일시적인 자료의 저장을 위한 레지스터를 내장하고 있다.
  • 컴퓨터의 성능을 좌우하고 기종을 결정짓는 요소이다.

입력장치

  • 사용자로부터의 명령과 데이터를 입력받는 장치 키보드, 마우스 등이 이에 속한다.

출력장치

  • 컴퓨터가 처리한 결과를 사용자에게 전달하는 역할을 수행한다. 모니터, 프린터 등이 이에 속한다.

기억장치

  • 운영체제와 각종 프로그램이 설치되어 있으며 사용자들에 의하여 작성되는 데이터를 보존하는 장치이다.
  • 하드디스크, CD-ROM, CD-RW등이 이에 속한다.

주변기기

  • 컴퓨터의 기본적인 동작과 운영에는 필요하지 않으나 필요성에 의하여 추가로 설 치되는 장치를 주변기기이라고 한다.
  • 사용자의 편리성을 향상시킬 수 있다.
  • 랜카드, 사운드카드, 마우스, 프린터, 조이스틱 등이 이에 속한다.

제어기

  • 각 장치 간에 원활한 데이터의 흐름을 관장하고 에러를 검출한다.
  • 주변기기의 접속형식을 결정짓는 요소이다.
  • 하드웨어적인 형태로 존재하는 경우는 “컨트롤러“라는 용어를 사용한다.
  • 소프트웨어의 형식으로 존재하면 하드웨어를 동작시키기 위하여 설치하는 프로그램을 “드라이버”이라고 한다.

중앙처리장치(CPU)

  • 중앙처리장치 (Central Processing Unit)컴퓨터의 각 장치를 운영하는 명령을 내리며 동작을 감시하는 제어기능을 내장하 고 있다.
  • 산술 논리 연산장치를 내장하여 연산기능을 수행한다.
  • 컴퓨터의 기종을 결정짓는다.
  • 컴퓨터의 성능을 결정짓는다.

실행 유닛(Eu: Execution Unit)
실행 유닛은 마이크로프로세서의 각 명령어를 수행하는 유닛이다. 실행 유닛에는 ALU(Arithmetic Logic Unit)와 제어 유닛(CU:Control Unit), 레지스터로 구성된다. ALU에서는 덧셈이나 비교 연산과 같은 산술 연산, 논리연산을 수행한 후 중간 결과를 레지스터에 보관한다.

명령어 유닛(Instruction Unit)
명령어 유닛(Instruction Unit)은 메모리에서 가져온 명령어를 실행유닛에서 정확 히 수행할 수 있도록 제어하는 유닛이다. 이때 제어 유닛은 ALU나 레지스터들이 잘 동작되도록 한다.

어드레싱 유닛(Addressing Unit)
어드레싱 유닛은 CPU가 메모리나 입출력 장치에서 데이터를 읽거나 쓸 때, 메모리나 입출력 어드레스를 만들어 주는 유닛이다.

버스 인터페이스 유닛(Bus Interface Unit)
버스 인터페이스 유닛은 어드레스, 데이터, 컨트롤 버스를 통해서 마이크로프로세 서 외부와 연결시켜 주는 유닛이다.

Cache 메모리에 대한 이해

캐시란 속도가 다른 두 장치 사이에 위치하는 임시 기억장치로서 장치간의 데이 터 액세스 속도를 향상시키는 구실을 한다.반복적인 액세스에서 처리 속도를 향상시킨다.

캐시가 적용되지 않은 경우

  1. TEST.EXE라는 프로그램을 실행한다.
  2. (1) 보조기억장치(하드디스크)로부터 (3) 주기억장치로 TEST.EXE라는 프로그램을 불러들인다.
  3. 프로그램을 종료하면 (3)에 로드된 프로그램은 사라진다.
  4. 다시 같은 프로그램을 실행한다.
  5. 그러면 또 다시 (1)에서 (3)으로 프로그램을 불러들인다. 이 경우 사용자는 매번 실행 할 때마다 (1)로 부터 프로그램이 읽어지는 시간동 안 기다려야한다.

캐시가 적용된 경우

  1. TEST.EXE를 실행한다.
  2. (1)에서 (3)으로 프로그램을 불러들이면서 동시에 (2)에도 기록된다.
  3. 프로그램을 종료하면 (3)에 로드된 프로그램은 사라진다. 그러나 (2)에 저장된것은 지워지지 않는다.
  4. 다시 같은 프로그램을 실행한다.
  5. 이번에는 (1)로 부터 프로그램을 불러들이는 것이 아니라 (2)로부터 프로그램을 불러들인다. (3)의 입장에서 같은 프로그램을 불러들이는 것이지만 처음에는 속도 가 느린 보조기억장치로부터 불러들인 것이다. 두 번째부터 반복해서 불러들이 는 경우는 속도가 빠른 캐시 메모리로부터 불러들이는 것임으로 속도 개선의 효과를 준다.

Clock (클럭)과 FSB

클럭이란 CPU 및 기타 장치들을 동작시키기 위하여 메인보드의 클럭 발생 장치 로부터 만들어지는 일정한 주기로 진동하는 전기적인 리듬이다. MHz(메가헤르쯔)로 표시한다.

1Hz란 1초에 1주기를 진동하는 클럭이며 CPU는 기본적으로 1번의 클럭에 1개 명령 처리를 하고 있다.

CPU 및 시스템의 속도를 표시하는 단위로 사용된다.

FSB(Front Side Bus)는 메인보드의 클럭 발생장치에서 만들어져서 각 장치로 공급되는 클럭을 부르는 또 다른 이름이며 외부 클럭이라고도 한다. CPU 및 컴퓨터 내의 장치들은 클럭 발생 장치로부터 공급되는 클럭 속도에 따라 동작을 한다. 그러나 CPU는 이렇게 공급된 클럭을 그대로 이용하지 않고 “클럭 더블링”을 이용하여 여러 배로 그 속도를 증가시켜 사용한다.

데이터 처리용량에 따른 CPU의 종류

  • 동시 처리 가능한 데이터의 처리 용량에 따른 분류
  • 데이터를 전달하는 통로인 버스의 폭
  • 8bit는 컴퓨터가 처리하는 데이터 최소단위
  • 8088(8bit) => 80286(16bit) => 80386(32bit) => Pentium(64bit)로 발전

주기억 장치(Memory)

ROM/ROM BIOS 개요

ROM(Read Only Memory)는 읽기 전용의 기억소자로서 컴퓨터에서는 BIOS를 담기 위한 용도로 사용된다.
Basic Input/Output System로 컴퓨터 운영을 위한 기초 프로그램이다.
컴퓨터의 각 장치에 대한 기본 정보를 가지고 있으며 각 장치를 진단한다.
전원이 켜지면 컴퓨터를 기동시키고 자기 자신을 진단한다. BIOS는 절대 지워져서는 안 되며 그런 이유로 바이오스는 비휘발성 메모리인 ROM에 담아둔다.

RAM

RAM(Random Access Memory)은 RWM(Read Write Memory)라고도 하며 컴퓨터의 전원이 꺼지면 내부에 저장되어 있던 정보가 모두 사라지기 때문에 휘발성(Volatile) 메모리라고 한다. 램은 데이터를 읽고 쓰는 것이 자유로운 기억장치이며, 휘발성을 가지기 때문에 전원 공급이 끊어지면 메모리의 모든 내용은 지워진다.

DRAM의 데이터 저장 원리
DRAM(Dynamic RAM)의 데이터 저장 원리는 콘덴서가 전기를 저장하는 원리를 이용한다. 컴퓨터에서 데이터라고 하는 것은 실제로는 전기적인 신호의 흐름이다. 컴퓨터의 데이터는 1과 0으로 표현되고 이들은 각각 전기와 흐르는 상태와 흐르 지 않는 상태를 의미한다. 이런 전기적인 상태를 유지할 수 있다면 그것이 곧 저 장이다. 전기를 저장하는 매체 중 가장 흔한 것은 콘덴서 또는 배터리라고 불리 는 전자부품이다.
예를 들어 10101010이란 데이터를 저장하기 위해서 8개의 콘덴서를 준비하고 데 이터에 따라 1은 충전, 0은 충전안함, 형태로 저장을 한다면 이는 곧 10101010이 란 데이터의 저장한 것이다. 바로 이런 콘덴서의 원리를 이용하여 데이터를 저장 하는 장치가 DRAM이다.
그런데 콘덴서(배터리)에 한번 저장된 전기는 영원한 것이 아니라 사용하지 않아 도 자연 방전이 일어나고 이로 인해 일정시간이 흐르면 데이터를 상실하게 된다. 그래서 램은 데이터가 손실되기 전에 현재의 상태를 유지하기 위한 리플래시(재충전)작업을 하게 된다. 컴퓨터를 끄면 램이 이런 리플래시를 할 수 없기 때문에 데이터를 상실하는 덕이다. 즉, 휘발성의 성질을 가지는 것이다.DRAM은 원리가 단순하고 제조가 쉬워서 오래 전부터 컴퓨터의 주기억장치용 소자로 사용되어 왔으나 리플래시로 인한 대기시간의 증가로 현재는 새로운 형태 로 개량되고 있다.

램의 종류

구분 DRAM SRAM
리플래시 필요 불필요
액세스 속도 느리다 빠르다
회로구조 단순 복잡
집적도 높다 낮다
가격 싸다 비싸다
용도 주메모리용 캐시메모리용
DRAM과 SRAM의 비교

DRAM의 종류

SDRAM
SDRAM은 클럭 속도가 마이크로프로세서와 동기화되어 있는 DRAM을 의미한다. 클럭속도의 동기화는 주어진 시간 내에 프로세서가 수행할 수 있는 명령어 개수를 증가시키는데 도움을 준다.

DDR SDRAM
DDR(Double Data Rate) 메모리 SDRAM은 이전의 SDRAM에 비해 두 배의 데 이터를 주고받을 수 있는 메모리에 붙여진 이름이다. DDR 메모리는 PC2100과 PC1600 두개의 규격이 있는데 실제로 각각 2100MHz와 1600MHz로 동작하는 것 은 아니고, 100MHz 메모리 버스에서 동작하는 DDR SDRAM의 경우 PC200, 133MHz 버스에서 동작하는 경우 PC266 정도의 속도를 가진다.

DDR2 SDRAM
DDR SDRAM의 동작 속도를 2배 향상 시킨 DRAM

Rambus DRAM
미국 램버스사가 개발한 데이터전송 버스 Rambus 채널로 접속된 DRAM이다. 이 채널은 9비트의 버스를 이용하고 클럭 250MHz에 동기 해 데이터를 전송한다.