13
Sunny Kwak ([email protected]) 폰 노이만 머신 이해 2015.01 Sunny Kwak

폰노이만 머신 이해

Embed Size (px)

Citation preview

Sunny Kwak ([email protected])

폰노이만 머신이해

2015.01

Sunny Kwak

Sunny Kwak ([email protected])

계산기의 진화

• 영어로 ‘계산핚다’는 의미의 단어는?

– ‚calculate‛, 그리고 ‚compute‛ 가 있습니다.

– 계산하는 기계라는 명사를 만드려면, ‚~er‛을 붙이죠.

• 그럼, ‚Calculator‛와 ‚Computer‛는 같은 건가요?– Calculator는 ‘계산기’, Computer는 ‘컴퓨터’라고 번역합니다.

– 영어 단어 자체로도 다른 종류의 기계를 말합니다.

– 어원(origin)이 같다는 것은 말은 달리 말해서뿌리(기원, origin)가 같다는 말입니다.하나의 뿌리에서 갈라져 나왔다는 말입니다.

• 그 뿌리에서부터 이야기 해 보겠습니다.

Sunny Kwak ([email protected])

계산기의 시초

• 다들 아시다시피 인갂은 ‚도구‛ 활용핛 줄 압니다.

손가락 셈으로 계산하다가,주판을 발명합니다.

Sunny Kwak ([email protected])

기계적인 계산기

• 17세기, 철학자 겸 수학자 파스칼, ‘기계식 계산기’ 발명

• 19세기, 찰스 베비지, 원시적인 프로그래밍 기계 설계

파스칼의계산기혹은파스칼린(Pascaline) 베비지의해석기관

Sunny Kwak ([email protected])

최초의 컴퓨터

• ‘계산기’와 ‘컴퓨터’의 차이– ‘계산기’는 장치에 내장(각인)된 계산 기능만 수행핛 수 있다.

– ‘컴퓨터’는 외부에서 명령을 제공해 ‘프로그래밍’ 가능하다.

– 즉, 근본 원리(계산하는 기계)는 같지만,정해짂 기능만 수행하는 것이냐,아니면 필요에 따라 다른 기능을 수행핛 수 있느냐 차이.

• 최초의 컴퓨터와 인물들– 콘라드 추제 (Conrad Zuse, 1910~1995), Z3 및 Z4 설계

– 하워드 에이킨(Howard Aiken), 1944년 Mark-1 제작

– 그레이스 머레이 호퍼(Grace Murray Hopper), 최초의 디버깅!

– 프레스퍼 에커트와 존 모클리, 1947년 ENIAC 제작

Sunny Kwak ([email protected])

그리고, 폰 노이만

• EDVAC 설계에 참여하고, 이짂수(binary) 도입.

• 프로그램 내장 방식이라 불리는 ‘폰 노이만 아키텍쳐’ 고안

• 현대의 거의 모든 컴퓨터는폰 노이만 박사가 제안핚 구조 채택.

• CPU, 메모리, 프로그램 구조를 갖는범용 컴퓨터 구조의 확립

Sunny Kwak ([email protected])

폰 노이만 구조

기억장치(Main Memory, RAM)

제어 장치(CU : Control Unit)

산술논리장치(ALU :Arithmetic Logic Unit)

중앙처리장치(Central Processing Unit)

입력 장치(Input Device)

출력 장치(Output Device)

누산기(Accumulator)

Sunny Kwak ([email protected])

폰 노이만 머싞의 동작방식

• Fetch– 메인 메모리에서 다음 수행 명령를 Control Unit으로 가져옴.

• Decode

– Control Unit이 명령어 해석.

• Execute– 명령에 따라 Control Unit 이 memory에서 계산핛 데이터를

꺼내온 후, ALU 젂달하고 계산을 수행.

• Store– 계산 결과를 다시 메인 메모리에 저장.(필요 시)

Sunny Kwak ([email protected])

Clock !!!

• Clock in CPU– CPU 에 내장된 클럭(clock)에서 일정 주기마다 작업 싞호 발생

– 작업 싞호가 발생핛 때 마다 핚 번의 명령을 수행하며, 클럭은메트로놈, 명령을 처리하는 ALU는 주판에 비유핛 수 있다.

signal

Sunny Kwak ([email protected])

클럭 그리고 산술논리 연산

• 컴퓨터의 연산 속도는 클럭 수에 비례– 1 Khz = 초당 1천회, 1 Mhz = 초당 1 백만, 1 GHz = 10억

• 산술/논리 연산– 32 bit CPU는 핚번에 32 bit, 64 bit CPU는 핚번에 64 bit 연산

– 32 bit CPU는 클럭 핚 번에 4 byte 크기의 변수(혹은 데이터) 값을비교하거나, 사칙연산으로 계산핛 수 있다.

Sunny Kwak ([email protected])

Register vs. Memory

• 레지스터(register)– CPU 내에 존재하는 데이터 임시 저장 공갂.

– 레지스터는 CPU 의 bit 수에 따라 크기가 결정된다.(32 bit type CPU는 32 bit, 64 bit CPU는 64 bit 크기)

– CPU 내에 다양핚 용도에 따라 수십개 이상의 레지스터가 존재.

• 메인 메모리(main memory)

– 실행핛 프로그램과 연산 젂후의 데이터를 담고 있는 공갂.

– 메인 메모리에 보관된 데이터는 직접 변경될 수 없고, CPU로 이동핚 후 CPU 내에서 연산된 후 변경된 값을 다시 저장.

Sunny Kwak ([email protected])

메인 메모리 (Main memory)중앙처리장치 : CPU

요리에 비유하자면...

ALU + CU

Register

Sunny Kwak ([email protected])

입출력 장치

• 입출력 장치의 필요성– CPU 와 Main memory는 젂원이 켜져 있는 동안 데이터를 유지핛 수

있고, 젂기가 끊어지는 순갂 모든 데이터는 상실됩니다.

– 따라서, 컴퓨터가 꺼져 있는 동안에도 실행 프로그램과 프로그램이처리핛 (혹은 처리핚) 데이터를 저장핛 수 있는 장치가 필요합니다.

• 입력 장치는 외부에서 데이터를 받아오는 장치– 마우스, 키보드, 네트워크 등

• 출력 장치는 외부로 데이터를 내보내는 장치– 프린터, 모니터 등

• 하드 디스크 드라이브는 입력 및 출력 모두 가능핚 장치.