본문 바로가기

프로그래밍

(77)
문자열 아스키 코드: 1바이트로 표현된다 유니코드: 문자를 표현하는데 있어서 균일하게 2바이트를 사용한다. 2바이트이면 65536개의 문자의 종류를 표현할 수 있다. Character Set: 문자들의 집합, 약속된 문자 표현방법 SBCS(Single Byte Character Set): 문자를 표현하는데 있어서 1바이트만을 사용하는 방식 MBCS(Multi Byte Character Set): 다양한 바이트 수를 사용해서 문자를 표현하는 방식 WBCS(Wide Byte Character Set): 모든 문자를 2바이트로 처리하는 문자셋 요약하면 SBCS는 아스키 코드와 같은 1바이트이고MBCS는 1바이트 2바이트를 모두 지원하는 방식WBCS는 2바이트만 표현가능하다 즉 아스키 코드 -> 멀티바이트 -> 유니 ..
시스템 프로그래밍 정보통신공학 전공자이지만.. 학교에서 배운 OS가 기억이 잘 안나서 책을 찾아보고 있었다. 추천받은 책은 뇌를 자극하는 윈도우즈 시스템 프로그래밍, 목차를 쭉 읽어봤는데 OS뿐만 아니라 컴퓨터 아키텍쳐에 관한 내용도 있어서 구매를 하게 되었다. 난 정리하면서 책을 보는게 더 머리에 잘 들어오기 때문에 나름 정리한다고 정리를 시작해본다 내가 정리한 걸 본다고 책의 내용 전부를 봤다고 할 순 없지만 맥락은 이해할 수 있으리라고 본다 시스템 프로그램이란? : 컴퓨터 시스템을 동작시키는 프로그램 컴퓨터 시스템의 주요 구성요소 : CPU Cache (컴퓨터 구조) 메인 메모리 하드디스크 (OS) 하드웨어의 구성 1. CPU : 중앙처리장치, 연산을 담당한다. 2. 메인 메모리 : 컴파일이 완료된 프로그램 코드가 ..
Compute Shader_3 책에는 계산 셰이더 파이프라인에 관한 내용만 있고 실제 쓰는 방법은 나와있지 않아서 지금 작업하고 있는 프레임워크에 적용하는 방법을 좀 찾아봐야겠다 스레드의 동기화 1. Memery Barrier 하나의 스레드 그룹 안의 스레드들에 대한 동기화 두 가지 속성에 의해 나뉜다동기화의 대상이 되는 메모리의 종류 : GSM에 대한 동기화를 유발하는 함수가 있고, Device Memory에 대한 동기화를 유발하는 함수도 있으며, 그 둘 다에 대한 동기화를 유발하는 함수도 있다.그룹 동기화 여부 : 주어진 스레드 그룹의 다른 모든 스레드가 동일한 동기화 지점에 도달할 때까지 기다릴 것인지의 여부 GroupMemoryBarrer() : 스레드 그룹의 스레드들이 GSM Write가 모두 완료될 때까지 현재 스레드의 실..
Compute Shader_2 numthreads: 한 그룹당 인스턴스화될 스레드들의 개수를 지정한다 ex) [numthreads(10, 10, 2)]x, y가 1 이상이어야 하고 z는 반드시 [1,64]이어야 한다. 그룹의 전체 스레드 개수(x*y*z)가 1024를 넘으면 안된다 dispatch 호출에서 인스턴스화되는 스레드들의 배치 구조는 다수의 스레드가 일렬로 배치되어 있는 형태가 아니다.스레드 그룹 index를 일차적인 좌표로 삼고, 개별 스레드에 접근할 수 있는 입체적인 형태이다 SV_GroupID : dispatch 호출의 스레드 그룹들 중 현재 스레드가 속한 그룹의 3차원 식별자(uint3) SV_GroupThreadID : 그 스레드 그룹 안에서의 현재 스레드의 3차원 식별자(uint3) SV_DispatchThread..
Compute Shader_1 현재 Practical Rendering and Computation with Direct3D 11 를 읽는 중이다..책은 번역본을 사서 읽고 있는데 광이형이 워낙 번역을 정직하게 해놓으셔서 한국어로 보고 있지만 다시 해석을 하는 경우가 있다또 한글로 번역하는 과정에서 애매하게 설명이 되어 있는 건 원서로 찾아가며 보는 중이다밑줄치면서 읽기만 하면 머리 속에 기억이 잘 안남아서 나름대로 정리한다 계산 셰이더 (DirectCompute) : GPU의 계산 능력을 렌더링 이외의 알고리즘에도 사용하기 위한 좀 더 자연스럽고 유연한 처리 환경을 제공한다GPU는 병렬로 작동하는 아주 많은 수의 소규모 처리기들로 이루어져 있기 때문에 크게 병렬화할 수 있는 계산에 아주 적합하다 DirectCompute의 장점 : ..