• 검색 결과가 없습니다.

SNU 046.016 컴퓨터과학이 여는 세계(Computational Civilization)

N/A
N/A
Protected

Academic year: 2022

Share "SNU 046.016 컴퓨터과학이 여는 세계(Computational Civilization)"

Copied!
45
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

SNU 046.016 컴퓨터과학이 여는 세계(Computational Civilization)

Part II

Prof. Kwangkeun Yi

Department of Computer Science & Engineering

(2)

차례

1 400년의 축적

2 그 도구의 실현

3 SW, 지혜로 짓는 세계

4 응용: 인간 지능/본능/현실의 확장

(3)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

이전

1 400년의 축적

2 그 도구의 실현

3 SW, 지혜로 짓는 세계

4 응용: 인간 지능/본능/현실의 확장

(4)
(5)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

(6)

다음

1 400년의 축적

2 그 도구의 실현

3 SW, 지혜로 짓는 세계

4 응용: 인간 지능/본능/현실의 확장

(7)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

또다른 100여년의 선분

1854 – 1937 – 1947

Boole, Shannon, von Neumann, Turing, electrical engineers

(사진출처: Google)

(8)

컴퓨터 구현의 풍경

I

간단했던 “기계적인 계산”의 실체(튜링기계)

I

그 실현또한: 간단한 것들로 차곡차곡 쌓아올려짐

I

모든 부품을 디지털 논리회로로 구현가능

I

모든 디지털 논리회로는 AND, OR, NOT으로 구성됨

I

AND, OR, NOT은 스위치들로 구현가능

I

모든 스위치는 직렬, 병렬, 뒤집기로 구성됨

I

스위치는 어떤 흐름을 제어하고

I

흐르는 실체는 전기/물/빛/힘등이며, 0 혹은 1을

뜻하는 신호를 전달

(9)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

컴퓨터 구현의 풍경

I

간단했던 “기계적인 계산”의 실체(튜링기계)

I

그 실현또한: 간단한 것들로 차곡차곡 쌓아올려짐

I

모든 부품을 디지털 논리회로로 구현가능

I

모든 디지털 논리회로는 AND, OR, NOT으로 구성됨

I

AND, OR, NOT은 스위치들로 구현가능

I

모든 스위치는 직렬, 병렬, 뒤집기로 구성됨

I

스위치는 어떤 흐름을 제어하고

I

흐르는 실체는 전기/물/빛/힘등이며, 0 혹은 1을

뜻하는 신호를 전달

(10)

컴퓨터 구현의 풍경

I

간단했던 “기계적인 계산”의 실체(튜링기계)

I

그 실현또한: 간단한 것들로 차곡차곡 쌓아올려짐

I

모든 부품을 디지털 논리회로로 구현가능

I

모든 디지털 논리회로는 AND, OR, NOT으로 구성됨

I

AND, OR, NOT은 스위치들로 구현가능

I

모든 스위치는 직렬, 병렬, 뒤집기로 구성됨

I

스위치는 어떤 흐름을 제어하고

I

흐르는 실체는 전기/물/빛/힘등이며, 0 혹은 1을

뜻하는 신호를 전달

(11)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

컴퓨터 구현의 풍경

I

간단했던 “기계적인 계산”의 실체(튜링기계)

I

그 실현또한: 간단한 것들로 차곡차곡 쌓아올려짐

I

모든 부품을 디지털 논리회로로 구현가능

I

모든 디지털 논리회로는 AND, OR, NOT으로 구성됨

I

AND, OR, NOT은 스위치들로 구현가능

I

모든 스위치는 직렬, 병렬, 뒤집기로 구성됨

I

스위치는 어떤 흐름을 제어하고

I

흐르는 실체는 전기/물/빛/힘등이며, 0 혹은 1을

뜻하는 신호를 전달

(12)

컴퓨터 구현의 풍경

I

간단했던 “기계적인 계산”의 실체(튜링기계)

I

그 실현또한: 간단한 것들로 차곡차곡 쌓아올려짐

I

모든 부품을 디지털 논리회로로 구현가능

I

모든 디지털 논리회로는 AND, OR, NOT으로 구성됨

I

AND, OR, NOT은 스위치들로 구현가능

I

모든 스위치는 직렬, 병렬, 뒤집기로 구성됨

I

스위치는 어떤 흐름을 제어하고

I

흐르는 실체는 전기/물/빛/힘등이며, 0 혹은 1을

뜻하는 신호를 전달

(13)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

컴퓨터 구현의 풍경

I

간단했던 “기계적인 계산”의 실체(튜링기계)

I

그 실현또한: 간단한 것들로 차곡차곡 쌓아올려짐

I

모든 부품을 디지털 논리회로로 구현가능

I

모든 디지털 논리회로는 AND, OR, NOT으로 구성됨

I

AND, OR, NOT은 스위치들로 구현가능

I

모든 스위치는 직렬, 병렬, 뒤집기로 구성됨

I

스위치는 어떤 흐름을 제어하고

I

흐르는 실체는 전기/물/빛/힘등이며, 0 혹은 1을

뜻하는 신호를 전달

(14)

부 울(George Boole)

생각의 법칙에 대한 탐구 “Boolean Logic” “Boolean Algebra”

An Investigation of the Laws of Thought, 1854

I 생각은 조립식

I 세가지 조립방법: 그리고(and), 또는(or), 아닌(not)

(사진출처: Google)

(15)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

부 울대수/부울논리(Boolean Algebra/Boolean Logic)

참(1)과 거짓(0)에 대한 “대수”

A + (B + C) = (A + B) + C A(BC) = (AB)C

A + B = B + A AB = BA

A(B + C) = (AB) + (AC) A + (BC) = (A + B)(A + C)

A1 = A A + 0 = A

AA = A A + A = A

A(A + B) = A A + (AB) = A

A0 = 0 A + 1 = 1

A(−A) = 0 A + (−A) = 1

(−A) + (−B) = −(AB) (−A)(−B) = −(A + B)

−(−A) = A

(16)

한편, 스위치 회로

0과 1을 가지고 노는 회로

여러 자연현상으로 구현가능:

I 전기와 전기줄, 물과 수도관, 힘과 막대 등등

(17)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

한편, 스위치 회로

0과 1을 가지고 노는 회로

여러 자연현상으로 구현가능:

I 전기와 전기줄, 물과 수도관, 힘과 막대 등등

(18)

스위치 회로 = 부울 논리(Boolean logic)

Claude Shannon(1916 – 2001)

IA Symbolic Analysis of Relay and Switching Circuits, 1937, MIT 석사 논문

I발견: 스위치 회로 = 부울 논리(Boolean logic)

I디지털 논리(digital logic)회로

I“역사상 가장 영향력있는 석사논문”

IInformation Theory 창시자

I “A Mathematical Theory of Communication”, Bell System Technical Journal 27(3):379-423, 1948, Bell Labs

I “Margna Carta of information age”

(사진출처: Google)

(19)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

스위치 회로 = 부울 논리(Boolean logic)

Claude Shannon(1916 – 2001)

IA Symbolic Analysis of Relay and Switching Circuits, 1937, MIT 석사 논문

I발견: 스위치 회로 = 부울 논리(Boolean logic)

I디지털 논리(digital logic)회로

I“역사상 가장 영향력있는 석사논문”

IInformation Theory 창시자

I“A Mathematical Theory of Communication”, Bell System Technical Journal 27(3):379-423, 1948, Bell Labs

I“Margna Carta of information age”

(사진출처: Google)

(20)

디지털 논리회로도 C

I 텍스트로

I

문법: C := x | C | C + C | CC | (C)

I

예: x + (yz + z)

I 그림으로

I

문법:

I

예:

(21)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

디지털 논리회로 만들기: 제어(control)

I 두개가 같은지 다른지 판단하기

I 가위바위보 누가이겼나 판단하기

I 둘중하나결정하기 (“multiplexer”)

I 번호부르면 응답하기 (“decoder”)

모두 스위치 회로로 구현가능

(22)

디지털 논리회로 만들기: 제어(control)

I 두개가 같은지 다른지 판단하기

I 가위바위보 누가이겼나 판단하기

I 둘중하나결정하기 (“multiplexer”)

I 번호부르면 응답하기 (“decoder”)

모두 스위치 회로로 구현가능

(23)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

디지털 논리회로 만들기: 제어(control)

I 두개가 같은지 다른지 판단하기

I 가위바위보 누가이겼나 판단하기

I 둘중하나결정하기 (“multiplexer”)

I 번호부르면 응답하기 (“decoder”)

모두 스위치 회로로 구현가능

(24)

디지털 논리회로 만들기: 제어(control)

I 두개가 같은지 다른지 판단하기

I 가위바위보 누가이겼나 판단하기

I 둘중하나결정하기 (“multiplexer”)

I 번호부르면 응답하기 (“decoder”)

모두 스위치 회로로 구현가능

(25)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

디지털 논리회로 만들기: 제어(control)

I 두개가 같은지 다른지 판단하기

I 가위바위보 누가이겼나 판단하기

I 둘중하나결정하기 (“multiplexer”)

I 번호부르면 응답하기 (“decoder”) 모두 스위치 회로로 구현가능

(26)

디지털 논리회로 만들기: 메모리(memory)

I 기억하고 있기 (“flip-flop”)

I

스위치회로 발명: 1918, William Eccles and Frank Jordan

I

R=0, S=1 이면 Q=1 (1 쓰기)

I

R=0, S=0 이면 Q=1 (기억하고있기)

I

R=1, S=0 이면 Q=0 (0 쓰기)

I

R=0, S=0 이면 Q=0 (기억하고있기)

(27)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

디지털 논리회로 만들기: 유한상태기계(1/2)

“Finite State Machine”: 유한개의 상태 + 입/출력.

예)

I

매번, 입력받고 출력내놓기

I

입력 = (현재 상태, 입력값)

I

출력 = (다음 상태, 출력값)

I

현재 상태 = 지난번의 다음 상태. 기억필요

(28)

디지털 논리회로 만들기: 유한상태기계(2/2)

입력 출력

A 0 0 B A 1 1 D B 0 1 B B 1 0 C C 0 0 A C 1 1 C D 0 1 D D 1 1 C

I

인코딩: A(00), B(01), C(10), D(11)

I

“state block”: 두개의

flip-flop으로 기억

(29)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

디지털 논리회로 만들기: 유한상태기계(2/2)

입력 출력

A 0 0 B A 1 1 D B 0 1 B B 1 0 C C 0 0 A C 1 1 C D 0 1 D D 1 1 C

I

인코딩: A(00), B(01), C(10), D(11)

I

“state block”: 두개의

flip-flop으로 기억

(30)

디지털 논리회로 만들기: 유한상태기계(2/2)

입력 출력

A 0 0 B A 1 1 D B 0 1 B B 1 0 C C 0 0 A C 1 1 C D 0 1 D D 1 1 C

I

인코딩: A(00), B(01), C(10), D(11)

I

“state block”: 두개의

flip-flop으로 기억

(31)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

컴퓨터 구현의 원리

속내용을 감추며 차곡차곡 쌓기

abstraction hierarchy

I 속내용 감추기

abstraction

I

감추기: 어떻게 만든것인지는

I

알리기: 어떻게 사용하는지만

I

부품의 속내용 감추기

I 차곡차곡 쌓기

hierarchy

I

속내용 감추기가 모든 계층에서 준비됨

I

각 단계에서 바로 아래 단계의 물건들만 사용

I

최종적인 목표물이 제일 윗 단계에서 만들어짐

복잡한 물건을 쉽고 짜임새있게 차곡차곡 만드는 지혜

(32)

컴퓨터 구현의 원리

속내용을 감추며 차곡차곡 쌓기

abstraction hierarchy

I 속내용 감추기

abstraction

I

감추기: 어떻게 만든것인지는

I

알리기: 어떻게 사용하는지만

I

부품의 속내용 감추기

I 차곡차곡 쌓기

hierarchy

I

속내용 감추기가 모든 계층에서 준비됨

I

각 단계에서 바로 아래 단계의 물건들만 사용

I

최종적인 목표물이 제일 윗 단계에서 만들어짐

복잡한 물건을 쉽고 짜임새있게 차곡차곡 만드는 지혜

(33)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

컴퓨터 구현의 원리

속내용을 감추며 차곡차곡 쌓기

abstraction hierarchy

I 속내용 감추기

abstraction

I

감추기: 어떻게 만든것인지는

I

알리기: 어떻게 사용하는지만

I

부품의 속내용 감추기

I 차곡차곡 쌓기

hierarchy

I

속내용 감추기가 모든 계층에서 준비됨

I

각 단계에서 바로 아래 단계의 물건들만 사용

I

최종적인 목표물이 제일 윗 단계에서 만들어짐

복잡한 물건을 쉽고 짜임새있게 차곡차곡 만드는 지혜

(34)

규 칙표 장치 만들기: 유한상태기계 + 메모리

A 2 : > B B 2 ) > A

I모든 심볼을 0과 1로 표현:

심볼 상태 움직임

2 −→ 11 A −→ 0 > −→ 01 : −→ 00 B −→ 1 < −→ 10

) −→ 01 || −→ 00

I규칙표 장치가 하는 일: 입력에 대한 출력

입력 출력

현상태 읽은심볼 쓸심볼 다음칸 다음상태 S I0 I1 O0 O1 D0 D1 S’

0 1 1 0 0 0 1 1

1 1 1 0 1 0 1 0

I“규칙표 논리회로” 구성 = 유한상태기계 + 메모리

(35)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

규 칙표 장치 만들기: 유한상태기계 + 메모리

A 2 : > B B 2 ) > A

I모든 심볼을 0과 1로 표현:

심볼 상태 움직임

2 −→ 11 A −→ 0 > −→ 01 : −→ 00 B −→ 1 < −→ 10

) −→ 01 || −→ 00

I규칙표 장치가 하는 일: 입력에 대한 출력

입력 출력

현상태 읽은심볼 쓸심볼 다음칸 다음상태 S I0 I1 O0 O1 D0 D1 S’

0 1 1 0 0 0 1 1

1 1 1 0 1 0 1 0

I“규칙표 논리회로” 구성 = 유한상태기계 + 메모리

(36)

규 칙표 장치 만들기: 유한상태기계 + 메모리

A 2 : > B B 2 ) > A

I모든 심볼을 0과 1로 표현:

심볼 상태 움직임

2 −→ 11 A −→ 0 > −→ 01 : −→ 00 B −→ 1 < −→ 10

) −→ 01 || −→ 00

I규칙표 장치가 하는 일: 입력에 대한 출력

입력 출력

현상태 읽은심볼 쓸심볼 다음칸 다음상태 S I0 I1 O0 O1 D0 D1 S’

0 1 1 0 0 0 1 1

1 1 1 0 1 0 1 0

I“규칙표 논리회로” 구성 = 유한상태기계 + 메모리

(37)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

규 칙표 장치 만들기: 유한상태기계 + 메모리

A 2 : > B B 2 ) > A

I모든 심볼을 0과 1로 표현:

심볼 상태 움직임

2 −→ 11 A −→ 0 > −→ 01 : −→ 00 B −→ 1 < −→ 10

) −→ 01 || −→ 00

I규칙표 장치가 하는 일: 입력에 대한 출력

입력 출력

현상태 읽은심볼 쓸심볼 다음칸 다음상태 S I0 I1 O0 O1 D0 D1 S’

0 1 1 0 0 0 1 1

1 1 1 0 1 0 1 0

I“규칙표 논리회로” 구성 = 유한상태기계 + 메모리

(38)

메모리 장치 만들기

I 장치 구성

I 읽기회로와 쓰기회로

(39)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

메모리 장치 만들기

I 장치 구성

I 읽기회로와 쓰기회로

(40)

보편만능의 기계: von Neumann의 설계

John von Neumann(1903–1957)

I

First Draft of a Report on the EDVAC, John von Neumann, 1945

I

메모리는 주소로 직접접근

I

메모리에 싣는 프로그램: load, store, arithematic operators, jump 등 명령문들의 일렬

튜링도 설계: ACE, 1946

(사진출처: Google)

(41)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

폰노이만 기계 = 튜링의 보편만능의기계

엄격한 증명은 없지만, 명백히

I 폰노이만 기계의 작동은 튜링 기계로 표현가능

I 튜링기계의 작동은 폰노이만 기계로 표현가능 (무한한 메모리만 있다면)

(42)

지 금(2010년대)의 제품

I 흐르는 실체: 전기

I 스위치 속도와 집적도

I

k × 10

9

번/초 (∼5.2GHz)

I

n × 10

9

개/손톱면적

I 재료: 모래와 금속

I 효율: 방문열고닫기를 말 한마리가 필요(!)

미래: 더좋은 실체(빛, DNA, 화합물, 양자), 더좋은 효율

(사진출처: Google)

(43)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

(44)

다음

1 400년의 축적

2 그 도구의 실현

3 SW, 지혜로 짓는 세계

4 응용: 인간 지능/본능/현실의 확장

(45)

SNU 046.016 c 이광근(컴퓨터과학이 여는 세계,인사이트, 2015)

다음

1 400년의 축적

2 그 도구의 실현

3 SW, 지혜로 짓는 세계

4 응용: 인간 지능/본능/현실의 확장

참조

관련 문서

아이에게 책을 읽어줄 때는 아이가 원하는 책을 꺼내오도록 하는 것도 효과적입니다.. 조금씩 읽어주는 분량을 늘 리면서

저작권법에 따른 이용자의 권리는 위의 내용에 의하여 영향을 받지 않습니다.. 이것은 이용허락규약 (Legal Code) 을 이해하기

생각열기 표에서, 만나는 세 수의 계산에 따른 패턴 알아보기.. 생각펼치기 나눗셈 나머지에서

식품의 품질을 높이기 위하여 전혀 다 른 유전자를 넣거나 바꾸는데 이렇게 만든 식품을 유전자조작식품 또는

식품의 품질을 높이기 위하여 전혀 다 른 유전자를 넣거나 바꾸는데 이렇게 만든 식품을 유전자조작식품 또는

규칙에 의한 패턴은 단순 반복에 의한 패턴과 두 종류 이상의 요소를 교대로 통 일감 있게 변화를 주는 교차 반복에 의한 패턴, 단계의 수에 따라 속도가 달라 수축

백범 김구는 백범일지에서 ‘인천감옥에서 수형생활을 하는 동안, 인천 개항장을 통해 유입된 신문물을 익히며 항일운동가로서의 사상을 정립했다’고

광센서는 우리 눈에서 감지 할 수 없는 전자기파를 감지하여 전기 신호로 바꾸어 주는 센서이다. 최근에는 반도체 소자를 사용하는 광센서들이 널리 사용되고 있다.