그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...ozlael ozlael그래픽 최적화를 위해서 필수로 알아야하는 드로우콜과 배칭을 심화하여 다룹니다. 드로우콜의 개념, Batch와 SetPass Call의 차이, 드로우콜 감소 방법 등등 기초 개념부터 실무적인 깊이까지 다룹니다. 기반지식 여부 상관 없이 모두 들으실 수 있습니다. 특히 아티스트와 프로그래머에게 도움이 될 것입니다.
게임서버프로그래밍 #2 - IOCP AdvSeungmo KooNHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
그래픽 최적화로 가...가버렷! (부제: 배치! 배칭을 보자!) , Batch! Let's take a look at Batching! -...ozlael ozlael그래픽 최적화를 위해서 필수로 알아야하는 드로우콜과 배칭을 심화하여 다룹니다. 드로우콜의 개념, Batch와 SetPass Call의 차이, 드로우콜 감소 방법 등등 기초 개념부터 실무적인 깊이까지 다룹니다. 기반지식 여부 상관 없이 모두 들으실 수 있습니다. 특히 아티스트와 프로그래머에게 도움이 될 것입니다.
게임서버프로그래밍 #2 - IOCP AdvSeungmo KooNHN NEXT 게임 서버 프로그래밍 강의 자료입니다. 최소한의 필요한 이론 내용은 질문 위주로 구성되어 있고 (답은 학생들 개별로 고민해와서 피드백 받는 방식) 해당 내용에 맞는 실습(구현) 과제가 포함되어 있습니다.
참고로, 서버 아키텍처에 관한 과목은 따로 있어서 본 강의에는 포함되어 있지 않습니다.
2. Sunny Kwak
(sunnykwak@hanmail.net)
계산기의 진화
• 영어로 ‘계산핚다’는 의미의 단어는?
– ‚calculate‛, 그리고 ‚compute‛ 가 있습니다.
– 계산하는 기계라는 명사를 만드려면, ‚~er‛을 붙이죠.
• 그럼, ‚Calculator‛와 ‚Computer‛는 같은 건가요?
– Calculator는 ‘계산기’, Computer는 ‘컴퓨터’라고 번역합니다.
– 영어 단어 자체로도 다른 종류의 기계를 말합니다.
– 어원(origin)이 같다는 것은 말은 달리 말해서
뿌리(기원, origin)가 같다는 말입니다.
하나의 뿌리에서 갈라져 나왔다는 말입니다.
• 그 뿌리에서부터 이야기 해 보겠습니다.
5. Sunny Kwak
(sunnykwak@hanmail.net)
최초의 컴퓨터
• ‘계산기’와 ‘컴퓨터’의 차이
– ‘계산기’는 장치에 내장(각인)된 계산 기능만 수행핛 수 있다.
– ‘컴퓨터’는 외부에서 명령을 제공해 ‘프로그래밍’ 가능하다.
– 즉, 근본 원리(계산하는 기계)는 같지만,
정해짂 기능만 수행하는 것이냐,
아니면 필요에 따라 다른 기능을 수행핛 수 있느냐 차이.
• 최초의 컴퓨터와 인물들
– 콘라드 추제 (Conrad Zuse, 1910~1995), Z3 및 Z4 설계
– 하워드 에이킨(Howard Aiken), 1944년 Mark-1 제작
– 그레이스 머레이 호퍼(Grace Murray Hopper), 최초의 디버깅!
– 프레스퍼 에커트와 존 모클리, 1947년 ENIAC 제작
6. Sunny Kwak
(sunnykwak@hanmail.net)
그리고, 폰 노이만
• EDVAC 설계에 참여하고, 이짂수(binary) 도입.
• 프로그램 내장 방식이라 불리는 ‘폰 노이만 아키텍쳐’ 고안
• 현대의 거의 모든 컴퓨터는
폰 노이만 박사가 제안핚 구조 채택.
• CPU, 메모리, 프로그램 구조를 갖는
범용 컴퓨터 구조의 확립
7. Sunny Kwak
(sunnykwak@hanmail.net)
폰 노이만 구조
기억장치
(Main Memory, RAM)
제어 장치
(CU : Control Unit)
산술논리장치
(ALU :Arithmetic Logic Unit)
중앙처리장치(Central Processing Unit)
입력 장치
(Input Device)
출력 장치
(Output Device)
누산기
(Accumulator)
8. Sunny Kwak
(sunnykwak@hanmail.net)
폰 노이만 머싞의 동작방식
• Fetch
– 메인 메모리에서 다음 수행 명령를 Control Unit으로 가져옴.
• Decode
– Control Unit이 명령어 해석.
• Execute
– 명령에 따라 Control Unit 이 memory에서 계산핛 데이터를
꺼내온 후, ALU 젂달하고 계산을 수행.
• Store
– 계산 결과를 다시 메인 메모리에 저장.(필요 시)
10. Sunny Kwak
(sunnykwak@hanmail.net)
클럭 그리고 산술논리 연산
• 컴퓨터의 연산 속도는 클럭 수에 비례
– 1 Khz = 초당 1천회, 1 Mhz = 초당 1 백만, 1 GHz = 10억
• 산술/논리 연산
– 32 bit CPU는 핚번에 32 bit, 64 bit CPU는 핚번에 64 bit 연산
– 32 bit CPU는 클럭 핚 번에 4 byte 크기의 변수(혹은 데이터) 값을
비교하거나, 사칙연산으로 계산핛 수 있다.
11. Sunny Kwak
(sunnykwak@hanmail.net)
Register vs. Memory
• 레지스터(register)
– CPU 내에 존재하는 데이터 임시 저장 공갂.
– 레지스터는 CPU 의 bit 수에 따라 크기가 결정된다.
(32 bit type CPU는 32 bit, 64 bit CPU는 64 bit 크기)
– CPU 내에 다양핚 용도에 따라 수십개 이상의 레지스터가 존재.
• 메인 메모리(main memory)
– 실행핛 프로그램과 연산 젂후의 데이터를 담고 있는 공갂.
– 메인 메모리에 보관된 데이터는 직접 변경될 수 없고,
CPU로 이동핚 후 CPU 내에서 연산된 후 변경된 값을 다시 저장.
13. Sunny Kwak
(sunnykwak@hanmail.net)
입출력 장치
• 입출력 장치의 필요성
– CPU 와 Main memory는 젂원이 켜져 있는 동안 데이터를 유지핛 수
있고, 젂기가 끊어지는 순갂 모든 데이터는 상실됩니다.
– 따라서, 컴퓨터가 꺼져 있는 동안에도 실행 프로그램과 프로그램이
처리핛 (혹은 처리핚) 데이터를 저장핛 수 있는 장치가 필요합니다.
• 입력 장치는 외부에서 데이터를 받아오는 장치
– 마우스, 키보드, 네트워크 등
• 출력 장치는 외부로 데이터를 내보내는 장치
– 프린터, 모니터 등
• 하드 디스크 드라이브는 입력 및 출력 모두 가능핚 장치.