사망년/컴퓨터구조

Chapter 01 컴퓨터 시스템 개요

stop-zero 2023. 9. 11. 01:07
오전반이 일찍 끝났다는 소식을 들은 나는 차마 열심히 수업에 안참여할 수가 없었다.

컴퓨터의 개념

컴퓨터를 학술적인 표현으로 개념하자면 EDPS라고 부른다. 대량의 데이터를 사용자가 원하는 형태로 연산하고, 논리적인 비교 및 판단을 신속 정확하게 처리할 뿐만 아니라 처리한 데이털르 저장 장치에 기억시켜 주는 시스템이다. 교수님의 뇌피셜로는 엄청나게 많은 자료를 처리하는 기기라고 한다. 데이터를 수집하여 가공 처리하고 이용한 형태로 변형하면서 유용한 과정을 얻게되는데 이를 데이터 처리라고 한다. 

개인이나 단체에서 올바른 의사결정을 하기 위해서는 컴퓨터가 꼭 필요하다. 컴퓨터는 이제 더 이상의 도구가 아닌 하나의 인프라(ex. 초연결, 초지능화)로 자리 잡았다. 컴퓨터의 데이터 처리는 GIGO(Garbage In Garbage Out) : 데이터 입력 > 처리과정 > 가공된 정보 출력 과정을 거친다. 컴퓨터는 인간의 기능과 매우 유사하다. 

입력 장치 = 눈, 귀 / 중앙처리장치 = 뇌 / 기억장치 = 실시간으로 처리하기 힘든 부분 / 출력장치 = 입, 손

더보기

* 데이터 = 비정형

* 정보 = 의미가 있는 데이터

 

컴퓨터 구조의 발전 역사

컴퓨터의 특징

- 신속성 : 컴퓨터의 최대 장점이며 판독, 연산 그리고 저장 나노, 초, 피크 초 단위로 처리한다. 

- 자동성 : 프로그램의순서대로 자동 작업 수행

- 다양성 : 다양한 형태의 데이터 처리, 산술연산뿐만 아니라 논리연산 다능 

- 대용량성 : 기억용량이 거의 무한정, 데이터를 영구적으로 기억 

- 정확성 : 프로그램 지시에 따라 인간이 하기 어려운 일 수행

- 호환성 : 어느 기종에서든 s/w 사용 가능

- 논리 및 판단성 : 단순히 연산을 정확하고 빠르게 할 뿐, 사고력은 없다

- 범용성 : 사물의 형상 표현 가능 

 

컴퓨터의 역사

 컴퓨터의 역산느 부품이 어떻게 발전되었는지와 동일하다. 초기의 컴퓨터들은 기계식 부품을 사용했지만 주요 부품들이 트랜지스터나 반도체 집적 회로(IC) 칩으로 대체되면서 컴퓨터 처리 속도가 계속해서 높아지고 있다. 요즘 컴퓨터는 반도체 기억장치 칩의 밀도가 높아짐에 다라 저장 용량도 크게 증가되고 있다. 최근에는 시스템 성능을 높이기 위해 한 시스템 내에 있는 CPU 수를 증가시키거나 고속화를 위한 연결통로를 개발한다. 

갑자기 뜬금없이 자동계산기가 뿅하고 만들어졌나? 아니다. 

수동식 계산기는 컴퓨터의 대한 최초 발전이다. 그다음으로 나온 기계식 계산기는 1642년 파스칼이 가감산을 자동으로 할 수 있는 톱니바퀴계산기를 고안했다. 이것이 수동계산기의 호시라고 할 수 있다. 자동식 계산기는 1834년 해석기관에 컴퓨터 원리가 내재되어 있지만 이것 또한 기계식이며 전자식은 아니다.

 

1세대 컴퓨터-진공관 시대(1945~1955)

속도가 느리고 신뢰도가 낮았던 단점을 보안한 ENIAC(Electronic Numerical Integrator And Computer)의 등장이다. 기상관측이나 군사적 목적으로 개발된 최초의 전자계산기이다. 10진수 체계로 구성되어 있으며 프로그램을 저장하고 변경한느 것은 불가능하다. 

이런 배경에 의해 1945년 폰 노이만은 IAS(Immediata Access Store)라고 불리는 컴퓨터를 개발하기 시작했다. 1952년 완성하였으며 모든 일반목적용 컴퓨터들의 원형이 되었다. 중앙처리장치, 기억장치, 입력장치, 출력 장치로 구성되어야 한다고 주장하였고 2진수 기반으로 써서 전자식으로 작동해야한다고 지적했다. 프로그램 내장 방식을 제안하고, 현재의 명령어 선인출을 개념을 채택하였으며 그 당시에 이미 사용하고 있다는 점이 놀랍다. 

IAS 컴퓨터 구조

 

2세대 컴퓨터 - 트랜지스터 시대(1955~1964)

트랜지스터는 진공관에 비해 부피도 작고, 전력소모도 적고 속도가 빨라 컴퓨터 성능을 획기적으로 발전시켰다. 고급언어 포트란을 개발해 1세대보다는 프로그램하기 쉬워졌다. 또한 2세대는 접근시간이 짧은 자기 코어를 이용하였으며 기억 용량이 큰 자기 드럼, 자기 디스크, 자기 테이프를 이용하여 보조기억장치를 사용했다. 실시간 온라인 시스템으로 각각의 작업을 중앙 컴퓨터 시스템과 연결하여 작업이 가능했으며 하나의 컴퓨터를 여려 명의 사용자가 공유하면서 작업을 수행하는 시분할 시스템도 가능했다. 그리고 하나의 컴퓨터에서 동시에 두 개 이상의 프로그램을 실행할 수 있는 다중 프로그래밍 등의 개념이 등장했다. 

 

3세대 컴퓨터 - 집적 회로 시대

반도체를 이용한 소형화, 경량화 대용량 추구했다. 동일 기종간에 모두 공통된 소프트웨어를 사용할 수 있는 Man machine 개념이 도입되어 내부에서 시스템을 관리, 제어하는 운영체제가 발달했다. 또한, 하나의 컴퓨터의 두 개 이상의 프로세서를 두어 병렬로 처리하는 다중처리 방식이 보급되었다. 이로 인해 연산속도는 나노 초(ns) 단위로 빨라지고 2세대에 비해 100배, 1세대에 비해 1000배 빨라졌다. 

 

4세대 컴퓨터 - LSI 시대 (1971~1979)

전자공학의 발달로 고밀도 직접회로가 등장하였고 이를 사용한 컴퓨터가 4세대 컴퓨터이다. 개인용 컴퓨터의 대중화가 이루어진 것도 이 시대이다. 하드웨어 면에서는지능형 단말기의 개발 및 가상 메모리를 사용하였다.

 

5세대 컴퓨터  - VLSI 시대(1980~)

초고밀도집적회로를 논리소자로 하는 컴퓨터가 등장하였다. 이로 인해 작고 가벼운 마이크로 컴퓨터의 보급이 일반화되었다. 마이크로컴퓨터는 산업기계 제어에 응용되었다. 

 

컴퓨터와 논리 구조

테이터와 정보

데이터란 현실 세계의 스크린 샷이다. 컴퓨터가 처리할 수 있도록 수치화한 것을 말한다. 통신은 제공하는 자와 제공받는 자간의 이동현상을 말한다. 한편, 정보는 데이터를 가공하거나 변환하여 얻은 결과물이다. 즉, 의미 있는 데이터이다. 

 

컴퓨터 시스템

하드웨어는 마우스, 모니터, 본체와 같이 물리적인 기계 장치이다. 정보가 실제로 일어나게 해주는 물리적인 실체와 정보의 전송 경로를 말한다. 하드웨어는 소프트웨어가 명령한 일을 수행하기에 신뢰성과 효율성이 있도록 제작되어야 한다.

소프트웨어는 컴퓨터를 활용하기 위한 각종 명령어들의 집합이다. 시스템 소프트웨어와 응용 소프트웨어로 나뉜다. 

 

논리 구조

디지털 컴퓨터는 단순한 스위치의 회로이며 기억과 연산회로로 구성되어 있다. 두 가지 상태를 나타내는 스위치의 구성 방법을 응용하여 제조한다. 

직렬 스위치 회로 (AND 회로)

직렬 스위치는 전지 E, 전구 C, 스위치 A, B로 나눠져 있으며 4가지 형태로 나눌 수 있다. 

스위치 A와 B를 동시에 누를 때 비로서 전구에 불이 켜지게 되는 것을 볼 수 있다. 

스위치 A 스위치 B 전구 C
OFF(0) OFF(0) 0
OFF(0) ON(1) 0
ON(1) OFF(0) 0
ON(1) ON(1) 1

 

병렬 스위치 회로 (OR 회로)

스위칭 회로에서는 스위치 A가 ON 또는 스위치 B 가 ON이 되면 불이 켜지는 것을 볼 수 있다 

스위치 A 스위치 B 전구 C
OFF(0) OFF(0) 0
OFF(0) ON(1) 1
ON(1) OFF(0) 1
ON(1) ON(1) 1

 

부정 회로 (NOT 회로)

스위치를 OFF에 두면 불이 켜지고 ON이 되면 꺼진다. 부정회로를 인버터 회로 혹은 보수 회로라고 부르기도 한다.  

스위치 A 전구 C
OFF(0) 1
ON(1) 0

 

컴퓨터의 기본 구조

중앙처리장치(CPU)는 제어장치와 연산장치로 구성되어 있다. 제어장치는 프로그램의 명령과 기능을 지시하고 감독 및 통제하는 장치이다. 연산장치(ex. 레지스터)는 산술동작(ALU)을 수행하며, 결과는 저장을 위해 다시 기억장치로 복구한다. 이처럼 CPU가 실행하고 저장할 정보들은 기억장치에 저장되는데 기억장치는 주기억 장치와 보조기억 장치로 나뉜다. 

주기억 장치는 CPU 가까이에 위치하며 고속 액세스가 가능하다. 그러나 가격이 높고 면적을 많이 차지하기에 저장 용량에 대한 제한이 주어진다. 보조 기억 장치(=휘발성 데이터)는 디스크나 CD-ROM과 같은 영구 저장 능령을 가진 기억장치이다. 비트당 가격은 낮지만 속도가 느리다.

컴퓨터로 데이터를 처리하기 위해서 입력할 데이터와 프로그램 처리 후 결과를 밖으로 내어줄 때는 입출력장치가 사용된다. 

 

시스템 접속 방법

cpu와 기억 장치의 접속

시스템 버스는 cpu와 시스템 내의 다른 요소 간 정보를 교환하는 통로이다. 주로 cpu와 주기억장치 또는 I/O 장치 사이에 정보 교환 통로의 역할을 한다. (=전면 버스, 호스트 버스) 데이터를 주고 받으며 소통하는 통로인 것이다.

I/O 제어기와 입출력장치 사이의 버스는 입출력 버스라고 한다. 이는 시스템 버스에서 갈라져 다양한 입출력장치를 연결한다. 같은 컴퓨터 내에서 I/O 버스만 여러 종류의 버스를 동시에 사용한다. 

시스템 버스는 데이터버스, 주소버스, 제어 버스 등이 있다. 주소버스는 기억장치 또는 I/O 장치들로 전송되는 정보이기에 단방향성이다. 반면 데이터 버스와 제어버스는 읽기와 쓰기를 모두 지원해야하기에 양방향성이다. 

CPU가 기억장치의 데이터를 저장하거나 내용을 읽는 동작을 액세스한다고 한다. CPU가 데이터를 읽고자 할 때 기억장치로 보내주는 것은 읽기신호이고 기억장소에 데이터를 저장하는 경우에는 쓰기 신호를 보내야 한다. 데이터를 쓰는 동작의 시간 흐름도를 보면 CPU는 데이터가 저장되어 있는 기억 장소의 주소를 주소버스를 통해 보내면서 읽기 신호를 야기한다. 일정 시간이 지연된 후에 기억 장치에 읽힌 버스가 데이터 버스에 실리며 CPU는 버스 회로로부터 데이터를 읽게 된다. 여기서 지연시간은 주소를 해독하는 데 소요된 시간과 데이터를 읽는 데 걸리는 시간을 합한 시간이다. 

 

CPU와 I/O 장치와의 접속

I/O 장치 제어기는 CPU로부터 I/O 명령을 받아 해당 I/O장치를 제어하고 데이터를 이동함으로써 명령을 수행하는 전자회로 장치이다. 키보드 제어기, 프린트 제어기 등이 있고 제어기 내에 있는 상태 , 데이터 레지스터를 기억장치로 간주하고 주소를 배정한다. 

상태 레지스터는 I/O 장치의 현재 상태를 비트로 저장한 레지스터이다. CPU는 데이터를 프린트로 보내기 전에 먼저 프린트 제어기 내의 상태 레지스터를 읽어서 데이터 출력 준비 비트를 검사한다.  

데이터 레지스터는 이동되는 데이터를 일시적으로 저장한다. CPU와 입출력장치 사이에서 임시 저장소 역할을 하기에 데이터 버퍼라고 부르기도 한다. 

 

컴퓨터의 활용분야

- 사무처리분야 : 사무 자동화, 경영 정보 시스템

- 과학 응용 분야

- 교육 분야 : e-learning, U-learning(웹 기반 외에 무선 단말기 활용)

 

'사망년 > 컴퓨터구조' 카테고리의 다른 글

버스 중재 방식  (1) 2023.12.05
CPU의 기본 구조  (2) 2023.12.03
캐시 사상방식  (0) 2023.12.03
chapter 03 산술과 논리연산  (0) 2023.09.24
chapter 02 자료 표현  (0) 2023.09.19