Digital Design [5]: 레지스터와 카운터 (Registers and Counters)
·
카테고리 없음
레지스터 (Registers) 디지털 시스템에서 레지스터(register)는 데이터를 저장하고 처리하는 핵심적인 순차 회로이다. 레지스터는 플립플롭(flip-flop)이라는 기본 저장 소자를 여러 개 모아 구성한 것으로 각 플립플롭은 클록 신호의 엣지(상승 또는 하강)에 따라 1비트의 데이터를 저장한다. 이처럼 n개의 플립플롭이 모이면 n비트 이진 데이터를 저장할 수 있는 레지스터가 된다. 레지스터는 공통의 클록 신호를 사용하여 동작하며, 내부에 조합 논리 회로(combinational gates)가 포함되어 데이터 입출력을 제어할 수 있다. 레지스터에는 비동기 초기화를 위한 Clear_b 신호가 존재할 수 있으며 이는 활성-로우(active-low)로 동작하여 해당 신호가 0이 되면 모든 출력이 즉시..
Digital Design [4]: 순차 논리 회로 (Sequential Logical Circuit)
·
카테고리 없음
1. 순차회로 조합 논리 회로는 현재 입력만으로 출력을 결정하며, 기억 기능이 없다. 하지만 현실 세계에서는 입력의 순서나 과거 상태를 기억해야 하는 경우가 많다. 예를 들어, 비밀번호 입력기처럼 입력 순서를 기억해야 하는 장치가 이에 해당한다. 이러한 기능을 수행하기 위해 순차 회로가 사용된다. 순차 회로는 현재 입력과 이전 상태를 함께 고려하여 출력을 결정하는 회로이다. 즉, 기억 능력이 있는 회로이다. 순차 회로는 다음의 세 가지 요소로 구성된다.조합 논리 회로: 입력과 현재 상태를 바탕으로 다음 상태와 출력을 계산한다.기억 소자(Flip-Flop): 현재 상태를 저장한다.피드백 경로: 저장된 상태가 다시 조합 논리 회로로 전달되어 다음 상태를 결정하는 데 사용된다.언제 상태를 바꿀지, 즉 언제 생..
Digital Design [3] : 조합 논리 회로 (Combinational Logical Circuit)
·
Computer Scinece/Computer Architecture & OS
1. 조합 논리조합 논리 회로(Combinational Logic Circuit)는 현재 입력에만 의존하여 출력을 결정하는 회로이다. 이는 순차 회로(Sequential Logic Circuit)와 달리 과거 상태에 대한 기억 요소가 없다. 이러한 회로는 여러 논리 게이트로 구성되며, 진리표나 부울 함수(Boolean Function)를 통해 기능을 명확히 정의할 수 있다. 조합 논리 회로의 기본 블록도는 입력, 논리 게이트 구성, 출력으로 구성된다. 회로 분석은 주어진 회로가 어떤 논리 기능을 수행하는지 이해하는 과정이다. 이를 위해 각 게이트의 출력을 의미 있는 기호로 라벨링하고, 단계별로 부울 함수를 유도한다. 최종 출력은 입력 변수만을 사용하여 표현된다. 진리표를 도출하는 경우, 가능한 모든 입력..
Digital Design [2] : 게이트 레벨 최소화 (Gate-Level Minimization)
·
Computer Scinece/Computer Architecture & OS
1. 게이트 레벨 최소화 (Gate-Level Minimization) 게이트 레벨 최적화란 디지털 회로를 구성하는 부울 함수(Boolean Function)를 최소화하여 가장 효율적인 게이트 구조를 찾는 과정을 말한다. 이를 위해 사용되는 대표적인 방법이 카노 맵(Karnaugh Map, K-Map)이며, 이 맵은 각 칸이 하나의 최소항(minterm)에 대응된다. K-Map은 일반적으로 2, 3, 4변수의 경우가 많이 쓰이며, 맵의 행과 열은 Gray Code 순서로 정렬되어 인접한 항에서 하나의 비트만 변경되도록 한다. 인접한 1들을 묶어 논리식을 간소화하며, 이때 최소한의 항 개수와 최소한의 리터럴 수를 가지는 표현이 목표가 된다.1.1 The Map Method (K-Map을 이용한 간소화 방법..
Operating System [2]: 프로세스 (Processes)
·
Computer Scinece/Computer Architecture & OS
1. Process 프로세스는 실행 중인 프로그램으로, 단순히 저장된 파일 형태의 프로그램과 다르다. 프로그램은 그저 디스크에 저장된 명령어 목록 (passive entity)일 뿐이지만, 실행되면 메모리에 올라가고 CPU가 이를 처리 (active entity)하면서 프로세스로 변한다. 예를 들어, 컴퓨터에 카카오톡이 설치되어 있다고 해도 실행하기 전까지는 단순한 파일에 불과하지만, 실행 버튼을 누르면 메모리에 로드되면서 프로세스가 되어 CPU와 메모리 등의 자원을 사용하게 된다. 프로세스는 프로그램 카운터를 통해 어떤 명령을 실행할지 관리하며, 운영체제가 이를 제어한다.1.1 Process in MemoryMemory Layout 메모리 레이아웃: 프로세스가 실행될 때 메모리에서 특정 구조로 구성됨텍..
Development Report : 웨어러블 생체 정보 기반 햅틱 피드백 알고리즘 개발
·
카테고리 없음
Development Report : XR 기반 ADHD AI 진단 파이프라인 개발
·
카테고리 없음
Development Report : 가우시안 스플래팅 유니티 원격 Putty 학습 자동화
·
카테고리 없음
첫째, Gaussian Splatting이란 수만~수십만 개의 작은 스플랫(splat)이라 불리는 점(사실상 쿼드quad 형태의 작은 삼각형 모음)을 화면에 흩뿌려(real-time point cloud처럼) 장면을 구성하는 기술입니다. 각 스플랫은 가우시안 분포를 닮은 흐릿한 점으로, 전통적인 삼각형 메시(mesh) 렌더링이 아닌 점 기반 파티클 기법에 가깝습니다. 이때 스플랫 하나하나는 색상, 크기, 위치, 투명도 정보를 가지며, 그것들을 모아 시야(frustum) 안에 보이는 것만 골라 순서에 맞춰 GPU에게 명령을 내리는 것이 핵심입니다. GaussianSplatRenderer가 활성화되면 RegisterSplat이 호출되어, 첫 스플랫에 한해 Camera.onPreCull 이벤트에 한 번만 콜백..
Development Report : 360도 실시간 원격 VR 스트리밍 시스템 개발
·
Development/Development Report
개발 과정 - 티스토리개발 결과 - 깃허브 1. Insta 360 SDK 1.2 GPU 기반 하드웨어 가속   Insta360 카메라로부터 비디오 데이터를 스트리밍하고, FFmpeg을 활용해 하드웨어 가속을 통한 H.264 디코딩을 수행하며, NVIDIA의 CUDA 기반 디코딩을 지원한다. 또한, 디코딩된 데이터를 BMP 이미지로 저장하거나 원본 H.264 데이터를 파일로 저장하는 기능을 포함하고 있다. 더보기주요 라이브러리 및 헤더#include "Unity/IUnityGraphics.h"#include #include "camera/camera.h"#include "camera/device_discovery.h"extern "C"{#include #include #include #include } U..
Unity Development [1] : 게임 매니저 (Game Manager)
·
Development/3D Engine Development
Unity에서 게임매니저(GameManager)는 게임의 전반적인 흐름과 상태를 중앙에서 관리하는 역할을 한다. 일반적으로 싱글턴(Singleton) 패턴을 사용하여 하나의 인스턴스만 유지하도록 설계되며, 게임의 주요 시스템을 통합적으로 제어하는 기능을 수행한다. 게임매니저는 먼저 게임 상태를 관리하는 역할을 한다. 게임의 시작, 일시 정지, 종료 등의 흐름을 제어하며, 특정 이벤트(예: 플레이어 사망, 레벨 클리어)가 발생하면 적절한 동작을 수행하도록 한다. 또한, 점수, 플레이어 진행 상황, 설정 등의 데이터를 저장하고 불러오는 기능도 포함될 수 있으며, JSON 파일, PlayerPrefs, ScriptableObject 등을 이용하여 데이터를 관리한다. 씬 관리 역시 중요한 기능 중 하나이다. U..