CS (Computer Science)

[CS] 컴퓨터와 자료

송기동 2024. 9. 5. 18:59
728x90

컴퓨터란?

- 프로그램이 가능한 데이터 처리기 (programmable data processor)

- 특수 목적의 한 종류의 작업을 처리하는 기계가 아니라, 다양한 형태의 작업을 수행할 수 있는 범용의 기계

프로그램

- 컴퓨터가 데이터를 어떻게 처리(조작)할지를 알려주는 일련의 명령어의 집합

- 컴퓨터에서 처리 가능한 작업의 유형과 연산의 집합을 결정  

- 프로그래밍 과정의 결과물(알고리즘, 코딩)

컴퓨터 장점(특징)

- 신속한 처리

- 정확성

- 자동(프로그램의 지시에 따라 자동으로 처리)

- 대용량(대용량의 데이터 저장 및 처리)


컴퓨터과학이란?

- 데이터의 획득, 표현, 처리, 저장, 통신, 접근을 위한 방법들의 실행 가능성, 구조화, 표현, 기계화에 관련된 내용을 다루는 학문 분야

- 컴퓨터, 데이터, 프로그램, 알고리즘 분야의 연구를 통해 효율적인 자료 처리를 위한 제반 기술과 방법들을 제공하기 위한 학문

- 알고리즘과 관련된 이슈를 다루는 학문

- 컴퓨터를 활용한 문제 해결에 대한 학문

컴퓨터과학의 특성

- 비교적 짧은 역사, 빠른 변화와 사회 전반에 대한 엄청난 영향력

- 다른 분야와의 밀접한 연관/융합 → 폭 넓은 연구/응용 범위

컴퓨터공학 vs 컴퓨터과학

- 컴퓨터공학 : 가격 대비 성능 특성이 가장 좋은 컴퓨터 엔진을 만들기 위해 하드웨어와 소프트웨어 요소를 조립하는 방법에 중점

- 컴퓨터과학 : 현재의 기술에 덜 의존적인 방식으로 주어진 문제에 대한 해결책이 효율적이고 실현 가능성에 보다 초점


컴퓨터 시스템

- 컴퓨터 시스템의 4가지 구성요소 : 하드웨어, 소프트웨어, 데이터, 사용자

하드웨어

- 기계를 구성하고 있는 모든 물리적인 기계장치 및 전자장치

- 핵심 장치 : 폰 노이만 모델에서 제시한 4개의 서브시스템(중앙처리장치, 기억장치, 입력장치, 출력장치)

하드웨어의 구성

- 기억장치 (주기억장치, 보조기억장치) : 처리할 입력 데이터, 처리를 담당하는 프로그램, 중간 결과, 출력할 데이터

- 산술논리연산장치 : 산술 연산과 논리 연산의 수행을 통해 직접적인 데이터 처리가 이루어지는 장치

- 제어장치 : 컴퓨터의 기억장치, 산술논리연산장치, 입출력장치의 동작을 제어하는 장치

- 입력장치 : 키보드, 마우스, 마이크, 카메라 등

- 출력장치 : 모니터, 프린터, 스피커 등

소프트웨어

- 모든 종류의 프로그램을 총체적으로 표현하는 언어

소프트웨어 분류

- 시스템 소프트웨어 : 컴퓨터 자체의 작업 관리와 특정 기능의 수행을 통해 컴퓨터 전체적인 운영을 담당하는 프로그램

  → (ex 운영체제, 컴파일러 등)

- 응용 소프트웨어 : 사용자가 요구하는 작업을 직접적으로 수행하는 프로그램

  → (ex 워드프로세서, 그래픽 프로그램, 웹브라우저 등)

데이터

- 모든 데이터는 유형에 관계 없이 비트 패턴 형태로 표현

※ 비트 패턴 : 이진 상태를 나타내는 비트인 0과 1이 나열된 형태

- 폰 노이만 모델에서는 데이터의 표현과 저장 형태에 대해서 정의하지 않음

- 데이터의 입출력을 위해서는 적절한 형태로의 변환 필요

사용자, 오퍼레이터

- 컴퓨터의 설계부터 효율적인 이용에 이르기까지 전반적인 데이터 처리과정에서 유능하고 지식이 풍부한 사람이 필요


폰 노이만 모델

 

하드웨어 요소 간의 통신

폰 노이만 모델의 주요 개념

내장 프로그램 (stored program)

  • "실행될 프로그램은 메모리에 저장되어야 한다."
    • 초기 컴퓨터에서는 데이터만 메모리에 저장되고, 프로그램은 컴퓨터 외부에 표현되는 방식
  • "프로그램과 데이터가 동일한 형식으로 메모리에 표현된다."는 의미
    • 동일한 형식 → "비트 패턴"

"프로그램은 유한 개의 명령어의 나열이다."

→ 미리 정의된 기본 명령어의 유한 개의 조합으로 구성됨

  • 제어장치가 메모리에서 한 번에 하나씩 명령어를 가져와서(fetch) 해석하고(decode) 산술논리연산장치가 실행함(excute)
  • 명령어의 재사용으로 인해 프로그래밍 작업이 간단해짐

 

 

728x90