데이터과학 삼학년

컴퓨터의 구성요소 및 역할 본문

Computer Science/Computer Architecture

컴퓨터의 구성요소 및 역할

Dan-k 2020. 12. 7. 11:46
반응형

컴퓨터란

  • 컴퓨터의 정의

    • 전자회로를 이용하여 데이터를 처리하는 장치

    • 방대한 데이터를 저장하고 계산

    • 입력,제어,기억,연산,출력 기능

  • 컴퓨터가 하는 일

    • 복잡한 계산(미적분, 통계 등)

    • 초정밀 그래픽구현 (배그같은)

    • 네트워크 통신

  • 컴퓨터의 역사 - 고대

    • 계산 도구로서 처음은 주판

    • 기원전 약 3000년전 고대 메소포타미아에서 사용 → 17세기에도 주판 이용

  • 컴퓨터의 역사 - 중세

    • 1642년 프랑스 수학자 파스칼이 톱니바퀴를 이용한 계산기 발명

    • 최초의 기계식 계산기

    • 덧셈, 뺄셈 가능

    • 1671년 독일의 라이프니츠가 이를 개량해 곱셈, 나눗셈도 가능한 것 발명(2진법)

  • 컴퓨터의 역사 - 근현대

    • 19세기 중반 영국의 찰스 배비지가 차분엔진 발명

    • 현태 컴퓨터의 개념을 제시 → 차분엔진

    • 프로그램과 데이터로 구성된 입력은 천공카드 사용

    • 1930년 앨런 튜링, 알론조 처치 등이 계산 가능성 및 불가능성에 대한 연구 → 튜링 머신 탄생

    • 튜링 머신은 긴 테이프에 부호 기록해 프로그램처럼 사용

    • 정지문제 

      • 프로그램과 입력값이 있을 때 컴퓨터가 정지시킬 수 있는가(기계가 판단 가능? )

      • check(check)를 넣은 recursive를 할 때 이 함수는 어떻게 동작? → 귀류법사용

    • 1941년 독일의 콘라드 추제가 z3 발명 → 5~10hz

    • 1945년 폰 노이만이 stored-program architecture를 제안 → 전선 재배치가 아닌 SW로 컴퓨터 제어

    • 1946년 미국의 ENIAC 제작 → 30T 가 넘는 무게, 전력 소모량이 큼

  • 컴퓨터의 역사 -현대

    • 1960년대 : 초기의 다목적 컴퓨터 IBM시스템/360개발

    • 1970년대 : Thompson과 Ritchie가 Unix와 C개발(벨연구소)

    • 1970년대 : Intel 8008 프로세서 개발(모든 CPU의 아버지)

    • 1980년대 : Intel 프로세서와 ms-dos 사용하는 IBM PC 등장

    • 1980년대 : GUI마우스를 사용하는 애플 매킨토시 등장

    • 1990년대 : Linus Torvalds가 Linux 개발

    • 1990년대 : Microsoft의 Windows가 등장

    • 1990년대 : 인터넷 포탈 등장

    • 2000년대 : 컴퓨터를 활용하여 인간 DNA 30억 염기서열을 밝히는 Genom Project

    • 2000년대 : 애플의 iPhone을 필두로 스마트폰 

    • 2000년대 : web의 사용 증가로 데이터 량이 증가, 빅데이터와 인공지능의 시대



1강 추가강의 - 정지문제

  • 정지문제 : 기계적인 방식으로 모든 수학적인 증명이 가능한가? -결정문제

    • David hilbert가 만든 현식체계안에서 증명 가능하다고 증명함

  • 튜링머신 

    • tape를 저장 매체로 활용 → 일정 크기로 cell을 나눠놓고 기호들이 있음

      • 이론상으로는 tape의 길이가 무한대래...

    • head로 tape를 찍음

      • 종이 tape의 특정한 한 cell을 읽는 역할

    • 상태 기록기

    • 행동표 - 특정한 상태에서 특정 기호를 읽었을 때 해야할 행동을 정의해놓음

      • head를 이동할지 말지등

    • 제약조건

      • 테이프에 기록될 수 있는 기호 및 상태, 행동표의 개수는 유한하고 구분되어야함

    • 행동표 예시 “현재 상태가 1인데 기호A를 읽었다면 C를 기억하고 정지”

  • 이처럼 이런 튜링머신이 유한한 시간안에 모든 문제를 푸는 방법이 없다는 것을 찾고 David hilbert 버튼의 이론을 반박함

 

컴퓨터 분야의 위대한 8가지 아이디어

  • 무어(Moore)의 법칙을 고려한 설계

    • 인텔의 창립자 중 한명인 고든 무어의 예측에서 유래

    • 18~24개월마다 칩에 집적되는 소자의 수가 2배가 된다는 법칙

      • 컴퓨터를 설계하는데 수년이 걸리기 때문에 집적되는 소자의 수가 2배 내지 4배가 증가함

  • 설계를 단순화하는 추상화

    • 생산성을 높이기 위해 추상화 개념을 사용

    • 하위 수준의 상세한 사항을 안보이게 함으로 써 상위 수준 모델 단순화 → OS에서 배웠지(Input이 들어가면 Output)

      • 추상화의 대표 예 : 고급 언어(C,Python) → 기계어를 인간이 알아볼수 있게한 예

  • Common case fast

    • 자주 발생하는 일을 빠르게 처리하여 성능 향상 도모

    • common case가 무엇인지 알고 있다는 가정하에 적용

  • 병렬성을 통한 성능 개선

    • 병렬성이란 한작업을 여러대의 작업자가 처리하는 방식

      • 예 : 쓰레드

  • 파이프라이닝을 통한 성능 개선

    • 병렬성의 특별한 형태로 처음 단계의 출력이 다음단계 입력으로 이어지는 구조

  • 예측을 통한 성능 개선

    • 수요가 예상되는 부분을 예측

    • 복구비용이 낮고 성공확률이 높을수록 효과적

    • 정확한 예측을 위한 지표가 필요함

  • 메모리 계층 구조

    • 메모리 계층구조를 통한 문제 해결

    • 최상위 - 비싸고 제일 빠른 메모리(최근 접근했던 데이터)

    • 최하위 - 느리고 값이 싼 메모리

  • 여유분을 이용한 신용도 개선

    • 시스템을 믿을 수 있는 정도

    • 장애대처를 위한 여유분 준비

    • 데이터 손실 예방을 위한 백업과 비슷한 개념

 

컴퓨터의 구성요소 및 역할

  • 컴퓨터의 구성요소

    • 입력, 출력, 메모리, 데이터패스,제어유닛

    • CPU = Processor, I/O = 마우스, 키보드 등..

    • 프로세서

      • 메모리로부터 명령과 데이터를 얻음

      • 제어 유닛은 프로그램 명령에 따라서 데이터패스, 메모리, 입출력 동작을 결정함

    • 메모리

      • 실질적으로 데이터 저장되는 공간

    • 입력

      • 데이터를 메모리에 씀

    • 출력

      • 메모리로부터 데이터를 읽음

  • 프로세서의 역할 : CPU

    • 메모리로부터 명령어를 받아와 제어신호를 생성

    • 컴퓨터 명령어(기계어)를 해석하고 연산함

    • 컴퓨터 기술을 이끄는 원동력

    • 인간의 두뇌와 같은 역할

  • 프로세서의 역할 : GPU

    • 픽셀로 이루어진 영상을 처리하는 용도로 탄생

    • 싱글코어는 CPU보다 저성능이지만 병렬적인 수천개 코어가 연결되어 있어 병렬처리에 용이

    • 인공지능 기술발전의 선도주자

  • 프로세서의 동작과정

    • 제어유닛(Control Unit,CU), 레지스터(Register), 산술/논리 연산장치(Arithmetic/Logic Unit, ALU)

    • 메모리로부터 명렬된 내용을 CU가 받고 이것을 제어신호로 만들어 ALU에게 전달 → ALU가 연산실행하고 CU에 다시 전달 → CU가 주변장치에게 전달

    • Register는 고속기억장치로 연산을 위해 임시로 저장하는 공간

      • 범용 레지스터 : 연산에 필요한 데이터나 연산결과를 임시 저장

      • 특수목적 레지스터

  • 메모리의 역할

    • 명령어(프로세스) 및 데이터 적재

    • CPU내부에는 register라는 기억장치가 있는데 왜 메모리가 따로 있어야 할까? → register가 빠르지만 저장할 수 있는 용량이 적음

    • 휘발성 데이터 저장 (RAM), 비휘발성(ROM), 최신데이터(캐시)

  • 입력장치의 역할

    • 데이터를 입력하기 위한 컴퓨터의 외부장치

    • 키보드,마우스,스캐너 등

  • 출력장치의 역할

    • 컴퓨터에서 처리된 결과를 출력해주는 외부장치

    • 모니터, 프린터, 스피커 등

 

728x90
반응형
LIST
Comments