[CA]컴퓨터 구조 개요
📚컴퓨터 구조 개요
오늘날의 컴퓨터는 데이터 처리 도구로 사용되고 있으며 보다 정확하게 표현한다면 전자식 데이터 처리 시스템이라고 할 수 있다. 여기서 시스템이란 부여된 목적을 달성하기 위해 상호작용하는 구성요소들의 집합으로 정의된다.
우리는 컴퓨터에도 시스템이라는 용어를 붙여서 부르기도 한다. 따라서 컴퓨터를 제대로 이해하기 위해 시스템 측면에서 컴퓨터는 무엇으로 구성되어 있는가 생각해봐야 한다.
컴퓨터 시스템의 원리는 인체와 유사하다.
- 입력장치: 외부로부터 데이터를 받아 컴퓨터가 이해할 수 있는 형태로 변환하여 변환된 데이터를 기억장치에 전달해 주는 것으로 사람의 감각기관에 해당된다.
- 기억장치: 데이터를 저장해 두는 것으로 사람의 뇌에 해당한다.
- 중앙처리장치: 입력장치로부터 변환된 데이터를 처리하는 것으로 사람의 신경망에 해당한다.
- 출력장치: 처리된 결과를 사람이 알아볼 수 있는 형태로 변형시켜 외부로 전달해 주는 것으로 사람의 손발과 같이 움직일 수 있는 부분에 해당한다.
📚컴퓨터 시스템의 발전과정
📄제1세대 컴퓨터
1세대 컴퓨터는 기계식 컴퓨터의 취약점을 보완하기 위해 진공관을 이용한 전자식 컴퓨터를 말한다. 기계어와 어셈블리 언어가 사용되었다.
- ENIAC
최초의 범용 전자식 컴퓨터라고 알려져있다. 모클리와 에커트가 미국 국방부의 지원으로 진공관식 컴퓨터를 완성시켰다. 이 기계는 손으로 스위치를 조작하여 케이블들을 플러그에 끼우거나 빼면서 프로그램을 해야 했기 때문에 융통성이 매우 낮다는 단점이 있었다.
- EDVAC
존 폰 노이만이 ENIAC의 문제점들을 해결하기 위해 프로그램과 데이터를 기억장소에 저장하여 실행하는 프로그램 내장방식을 제안하였다. ENIAC을 만들었던 에커트와 모클리가 ENIAC을 개량하여 EDVAC 컴퓨터를 만들었다.
- UNIVAC
이전의 컴퓨터들은 군사과학적인 용도로 특수 제작되었지만 UNIVAC-1은 기업이나 통계국 등에서 데이터 처리를 위해 개발되어 판매된 최초의 일반 업무용 컴퓨터이다.
📄제2세대 컴퓨터
1세대 컴퓨터에서 사용된 진공관의 단점을 해결하기 위해 트랜지스터가 개발되었다. 트랜지스터는 2세대 컴퓨터의 핵심 기술이 되었다. 그리고 어셈블리 언어의 단점을 해결하고자 고급 프로그래밍 언어인 ALGOL, FORTRAN, COBOL을 사용하였다.
- TX-0
가장 초기의 트랜지스터 컴퓨터이다.
- IBM 704/709
IBM 704는 인덱스 레지스터와 부동 소수점 하드웨어를 가지고 있었다. IBM 709는 입출력 연산을 전용으로 제어하는 입출력 처리장치와 데이터 동기화 처리장치, 채널을 가지게 되었다.
- IBM 7094
IBM 7094는 IBM 709의 진공관을 트랜지스터로 대체한 컴퓨터이고 상업적으로 성공한 대표적인 2세대 컴퓨터이다.
📄제3세대 컴퓨터
트랜지스터를 집적하여 하나의 패키지로 만드는 기술이 개발되면서 집적회로가 컴퓨터의 핵심 기술이 되었다. 2세대 컴퓨터의 전자 장비는 저항, 트랜지스터 등 각종 부품을 하나씩 회로 보드에 납땜하여 만들고 이것을 컴퓨터 및 다른 전자장치들의 부속품으로 장착하였다. 따라서 제조과정 비용이 많이 들고 제작하는데 어렵다는 단점이 있었다.
집적회로는 트랜지스터의 단점을 해결하기 위해 저항, 트랜지스터 등의 부품을 하나의 칩에 집적시켜 만들었고 초기에는 적은 수의 게이트나 기억소자를 집적시킨 소규모 집적회로(SSI)를 사용하였다. 그리고 칩들을 인쇄회로 기판 위에서 서로 연결시켜 더 크고 복잡한 시스템을 구현하는데 사용되었다. 집적회로는 트랜지스터에 비해 크기와 가격 면에서 매우 혁신적이었다.
- IBM 360
IBM 360은 직접회로를 사용한 컴퓨터라는 것 이외에 최초로 컴퓨터 계열 개념을 도입하였다는 특징이 있다. 이 개념은 컴퓨터 구조와 구현의 분리라는 의미에서 컴퓨터 구조론 역사상 매우 중요한 의미를 갖는다.
여기서 컴퓨터 구조란 사용자가 컴퓨터를 이용하기 위해 알아야할 추상적인 컴퓨터 구성을 말한다. 이런 추상적인 컴퓨터 구조를 공통적으로 갖는 실제 컴퓨터들의 집합을 컴퓨터 계열이라고 한다. 동일한 계열의 컴퓨터들은 동일한 명령어 집합을 갖고 같은 어셈블리어를 사용하지만 실제 성능과 하드웨어 구성은 서로 다를 수 있는 것이다.
📄제4세대 컴퓨터
4세대 컴퓨터 시대는 IBM 370 컴퓨터가 발표되면서 시작되었다. IBM 370은 여러 개의 집적회로를 하나의 패키지에 집적한 대규모 집적회로(LSI)를 사용하였다. 4세대 컴퓨터의 기억장치는 단일 칩으로 된 반도체 기억소자를 사용하였다. 이후 반도체 기술의 발달로 초대규모 집적회로(VLSI)가 개발되어 현재 컴퓨터에 사용되고 있다.
마이크로프로세서가 개발되어 널리 사용되었고 저렴한 마이크로프로세서의 등장으로 개인용 컴퓨터가 개발되어 보급되었다. 마이크로프로세서는 LSI와 VLSI 기술을 이용하여 컴퓨터의 주요 구성요소를 하나의 반도체 칩에 모두 집적시킨 것을 말한다.
마이크로프로세서의 등장은 미니컴퓨터급의 성능을 가진 고성능 개인용 컴퓨터의 개발에도 영향을 미치게 되었다.
📄차세대 컴퓨터
- 대규모 병렬처리 컴퓨터
하드웨어 부품의 발달로 가격이 저렴해지게 되면서 컴퓨터 시스템 내에 동일한 부품을 중복되게 구성하게 되었다. 중복된 하드웨어를 효율적으로 활용하기 위해 병렬처리라는 처리방법이 고안되었다. 수천에서 수만 개의 처리장치를 가진 대규모 병렬처리 컴퓨터는 처리장치 사이에 있는 복잡한 상호연결망을 통해 상호 협동적인 작업을 수행한다.
- 광 컴퓨터
빛의 속도가 전자의 속도보다 빠르다는 관점에서 착안된 컴퓨터이다.
- 신경망 컴퓨터
명령어들을 순차적으로 수행하는 폰 노이만 구조는 미래형 병렬처리 컴퓨터 구조로 적합하지 않다. 이런 문제를 해결하기 위해 인간의 감각정보처리를 모방한 신경망 컴퓨터 구조에 대한 연구가 진행 중이다.
📚컴퓨터 시스템의 구성
-
하드웨어: 컴퓨터의 기계적인 장치를 의미한다.
-
소프트웨어: 하드웨어를 제어하여 원하는 결과를 얻을 수 있도록 하는 모든 종류의 프로그램을 의미한다. 컴퓨터에서 사용할 수 있는 명령어들의 조합으로 구현된다.
- 시스템 소프트웨어: 컴퓨터 시스템의 운영을 제어하고 지원하는 프로그램(컴파일러, 어셈블러, 로더, 운영체제 등)
- 응용 소프트웨어: 컴퓨터 제조회사나 소프트웨어 전문 업체에서 사용자 편의를 위해 만든 프로그램
여기서는 컴퓨터 내부구조를 알아보기 위해 하드웨어 측면에서 살펴보도록 한다.
📄입력장치
입력장치는 사용자가 입력하는 데이터와 명령어를 받아들여 컴퓨터가 알 수 있는 형태로 변환하여 기억장치나 중앙처리장치에 전달해 주는 장치를 말한다.
- 천공카드
- 천공테이프
- 키보드, 마우스
- 스캐너
- 마이크
📄출력장치
출력장치는 생성된 결과를 사람이 알아볼 수 있는 형태로 변환해주는 장치를 말한다.
- 프린터
- 모니터
📄기억장치
데이터를 저장하는 역할을 하는 기억장치는 특성과 역할에 따라 캐시, 주기억장치, 보조기억 장치로 나뉜다.
- 주기억장치
주기억장치는 컴퓨터에서 중앙처리장치가 처리할 데이터와 명령어들을 저장하며, RAM과 ROM이 여기에 해당한다.
- RAM: 전원 공급되면 데이터를 게쏙 기억하고 전원이 끊기면 기억된 내용이 사라지는 휘발성 기억장치
- SRAM: 정보가 저장되면 전원이 유지되는 한 데이터를 상실하지 않음
- DRAM: 전원이 공급되는 동안에도 일정 주기로 충전해줘야 데이터를 상실하지 않음
- ROM: 전원 공급이 끊겨도 정보가 계속 기억되는 비휘발성 기억장치
- RAM: 전원 공급되면 데이터를 게쏙 기억하고 전원이 끊기면 기억된 내용이 사라지는 휘발성 기억장치
- 캐시
주기억 장치의 단점을 해결하기 위해 데이터가 중앙처리장치에 신속하게 전달될 수 있도록 주기억장치와 중앙처리장치 사이에 위치한 기억장치를 캐시라고 한다. 캐시는 SRAM으로 구성된다.
- 보조기억장치
캐시나 주기억장치는 전원 공급이 끊기면 저장한 내용을 잃어버린다. 하지만 보조기억장치는 전원이 꺼져도 사용자가 현재 기억장치에 저장한 내용을 다음에 사용할 수 있도록 해준다. 일반적으로 보조기억장치는 대량의 데이터를 저장하기 위해 사용된다.
- 자기디스크
- 자기테이프
- SSD
- USB 메모리
- 광학디스크
📄중앙처리장치
중앙처리장치는 컴퓨터의 두뇌에 해당하는 부분이다.
- 산술/논리 연산장치
산술/논리 연산장치는 중앙처리장치의 가장 중요한 요로로서 산술연산과 참과 거짓을 판별하는 논리연산을 수행한다.
- 제어장치
제어장치는 중앙처리장치 내부에서 일어나는 모든 동작을 제어하고 관리한다. 이 장치는 기억장치로부터 명령을 읽고 해석된 결과에 따라 명령을 수행하기 위한 제어신호를 만든다.
- 레지스터
레지스터는 중앙처리장치 내부에 있는 기억장치로서 연산처리를 위한 데이터나 결과 등을 일시적으로 보관해 두는 장치이다. 속도가 매우 빠르지만 가격이 비싸 레지스터의 수는 제한적이다.
- 시스템버스
버스는 두 개 이상의 장치를 연결해주는 통신선로를 의미한다. 이것은 여러 장치가 동시에 데이터를 전송하고자 할 때 한 번에 하나의 장치만 데이터를 전송할 수 있다는 특징이 있다.
컴퓨터 시스템은 다양한 구성요소들 간에 통신을 가능하게 하는 많은 종류의 버스를 포함하고 있다. 그 중 컴퓨터의 주요 구성요소(입출력 장치, 기억장치, 중앙처리장치)를 연결해주는 버스를 시스템버스라고 한다.
📚컴퓨터 시스템의 분류
📄처리 성능과 규모에 따른 분류
- 마이크로 컴퓨터
가장 널리 사용되고 있는 컴퓨터 시스템이다. 마이크로프로세서를 중앙처리장치로 채택한 컴퓨터로서 단일 칩 마이크로 컴퓨터라고도 한다. PC와 워크스테이션이 여기에 속한다.
- 미니컴퓨터
마이크로 컴퓨터 보다는 조금 크고 메인프레임에 비해 작으며 소규모 조직에서 사용할 수 있는 소규모 컴퓨터이다. 마이크로 컴퓨터 보다 기억장치 용량이 크고 실행 속도가 빠르고 다수의 사용자가 동시에 하나의 컴퓨터를 사용할 수 있다.
- 메인프레임 컴퓨터
메인프레임 컴퓨터는 고속의 입출력 처리 능력을 가지고 있고 대용량의 저장장치를 보유한 컴퓨터이다. 대규모 데이터베이스 저장 및 관리용으로 사용된다.
- 슈퍼컴퓨터
슈퍼컴퓨터는 병렬처리가 가능한 복잡한 구조로 되어 있고 복잡한 계산을 빠른 속도로 처리하기 위한 컴퓨터이다. 우주, 항공, 환경 등에 응용된다.
📄구조에 따른 분류
- 파이프라인 슈퍼컴퓨터
파이프라인 슈퍼컴퓨터는 1 개의 중앙처리장치 안에 여러 개의 연산장치를 갖고 있는 컴퓨터이다. 각 연산장치는 파이프라이닝 구조를 이용하여 고속의 벡터 계산이 가능하다.
- 대규모 병렬처리 컴퓨터
대규모 병렬처리 컴퓨터는 하나의 시스템에 수백 혹은 수천 개의 처리장치들이 연결되어 있어서 하나의 큰 작업을 나눠서 병렬로 처리하는 구조이다.
Leave a comment