본문 바로가기
728x90
반응형

전체 글171

[Bash] 2. Process [Bash] 2. Process Process란?Process는 실행 중인 프로그램 또는 명령어의 인스턴스를 의미한다.Process는 시스템에서 작업 단위를 구성하며, CPU, 메모리, 파일 핸들 등의 자원을 사용하여 특정 작업을 수행한다.실행 시 CPU, 메모리, 파일 디스크립터 등의 시스템 자원이 할당된다.PID(Process ID) : 각 Process는 고유한 ID를 가진다.부모-자식 관계 : Process는 다른 Process(부모 Process)에 의해 생성되며, 생성된 Process는 자식 Process가 된다.상태 : Process는 실행, 대기, 종료 등 다양한 상태를 가진다.  Process 실행 방식Foreground Process : 기본적으로 실행되는 프로세스는 포 그라운드에서 실.. 2024. 11. 20.
[Bash] 1. Shell이란? [Bash] 1. Shell이란?  Shell이란?   Shell은 운영 체제와 사용자가 상호작용할 수 있도록 해주는 명령어 인터페이스이다.사용자가 운영 체제와 소프트웨어에 명령을 입력하고, 시스템이 그 명령을 실행하는 방식이다. 즉, Shell은 사용자와 커널 사이이 커뮤니케이션을 하기 위한 다리 역할을 한다.커널은 하드웨어와 애플리케이션 간에 상호 작용을 도와주는 OS의 핵심 구성요소이다.   Shell의 주요 기능명령어 해석 : 사용자가 터미널에 입력한 명령어를 해석하여 운영 체제에 전달하고 실행 ls : 디렉토리 목록 보기, cp : 파일 복사스크립트 실행 : 여러 명령어를 한 번에 실행하는 스크립트 작성파일 관리 : 파일 및 디렉토리 생성, 삭제, 이동, 복사, 이름 변경 등 touch : 새 .. 2024. 11. 19.
[SVA] 2-1. SystemVerilog Assertions(SVA) [SVA] 2-1. SystemVerilog Assertions(SVA) Assertion Types SVA에서 지원하는 Assertion은 Immediate Assertion, Deferred Immediate Assertion, Concurrent Assertion 세 가지 유형이 있다. Immediate Assertion시간 도메인에서 동작하지 않고, Procedural Block의 문장처럼 즉시 실행된다.앞에서 언급했던 SW Assertion과 유사한 형태라고 생각해도 무방하다.Deferred (Immediate) AssertionDeferred Assertion는 Immediate Assertion의 일종이다.Immediate Assertion은 변수가 바뀌는 즉시 바로 평가되지만, 이는 계산이.. 2024. 11. 18.
[SVA] 1-4. Introduction [SVA] 1-4. Introduction Assertions의 주요 장점개발 시간 단축된다. SVA를 사용하지 않고 기존 Verilog 문법으로 Checker를 작성하는 것은 어렵고 시간이 많이 걸리며, 오류가 발생할 가능성이 매우 크다. SVA를 사용하면 이해하기 쉬운 문법으로 검증이 가능하며, 요구된 조건이 실제로 실행되었는지도 쉽게 확인이 가능하다. 관련 문법은 추후에 학습할 것이다.버그가 발생한 원인을 가장 가까이서 확인할 수 있다. Assertion은 설계된 Logic과 가까운 곳에 위치하여 작동한다. 따라서, 버그가 발생한 원인을 설계 내부까지 추적할 필요 없이, 문제의 발생 지점에서 바로 확인할 수 있다. Assertion을 배치하기에 유용한 곳은 FIFO, Counter, Block-to.. 2024. 11. 17.
[Display] 디스플레이 기초 용어(High Dynamic Range) [Display] 디스플레이 기초 용어(High Dynamic Range) HDR(High Dynamic Range)  디스플레이의 밝기, 명암, 색영역의 범위를 더욱 넓혀서 보다 현실감 있고 생생한 이미지를 표현하는 기술이다. 자연은 빛이 전혀 존재하지 않는 완전한 어둠부터 별의 밝기까지 매우 넓은 범위의 광량이 존재한다.  하지만 우리가 사용하는 디스플레이는 밝기의 범위가 매우 제한적이어서 자연과 차이가 발생한다. HDR은 이 간극을 메울 수 있는 기술이다.  HDR와 반대되는 용어로 SDR(Standard Dynamic Range)가 있다.  주의해야 할 것이, HDR을 지원하는 디스플레이만 있다고 해서 HDR을 경험할 수 있는 것은 아니다. HDR 카메라로 HDR 기술을 적용하여 촬영된 컨텐츠, .. 2024. 11. 16.
[SVA] 1-3. Introduction [SVA] 1-3. Introduction SW vs. HW Assertion 그렇다면, SW Assertion과 HW Assertion의 차이는 무엇일까?  SW의 경우, 컴파일러 또는 인터프리터가 number라는 변수에 -5가 저장되어 있는 것을 이미 알고있다. 즉, assert 구문을 마주했을 때 stack(일종의 메모리)에 number에 저장되어 있는 값을 이미 알고 있기 때문에 조건의 참, 거짓을 쉽게 판별할 수 있다.     하지만, HW의 경우 조건의 참, 거짓 여부를 알기 위해서는 조건의 시간적인 정보가 필요하다. 즉, SVA를 잘 사용하기 위해서는 SW와 HW 두 시간 도메인을 잘 이해해야 한다. 이는 SW Assertion 구문보다 SVA 구문이 학습하고 적용하기 어려운 이유가 된다. 2024. 11. 15.
[SVA] 1-2. Introduction [SVA] 1-2. Introduction SVA Example 이번에는 SystemVerilog Assertion을 사용한 예제를 확인해보자. 예제1 : grant 요청 후 4 clock 이내에 ack 수신 확인  1234567891011121314151617module grant_ack_check(   input logic clk,   input logic reset_n,   input logic grant,   input logic ack);   // 4 Clock 이내에 ack 신호가 들어와야 함을 검증하는 Assertion   property grant_to_ack_within_4_cycles;      @(posedge clk) disable iff (!reset_n)         grant.. 2024. 11. 14.
[SVA] 1-1. Introduction [SVA] 1. IntroductionSystemVerilog Assertion의 진화 과정    초기 SystemVerilog에는 시간적인(순차적인) 도메인을 검사하기 위한 방법이 제공되지 않았다. PSL 같은 외부 언어를 SystemVerilog와 연결하여 혼합된 언어 환경을 만들어야 했다. 이는 특정 EDA 벤더와 연결된 두 개의 시뮬레이터를 유지해야 했으므로 불편함이 있었다.이러한 문제를 해결하기 위해 SystemVerilog 표준 위원회는 언어에 고유한 하위 집합을 추가하여 이를 SystemVerilog Assertions(SVA)라고 명명했다.SVA는 SystemVerilog 언어와는 완전히 독립적이다. 다시 말해서, SVA의 문법은 SystemVerilog 문법과 완전히 다르다. 하지만, S.. 2024. 11. 13.
Anti Aliasing이란? Anti Aliasing이란?  Aliasing이란 그래픽 및 디지털 이미징에서 발생하는 계단현상을 의미하는데, 여기서 Anti Aliasing은 이러한 계단현상을 제거하는 것을 의미한다. Anti Aliasing의 기본 아이디어는 색상 혼합을 통해 경계를 부드럽게 만들어 시각적으로 매끄럽게 보이도록 하는 것이다. 이를 위해, 계단진 경계 주변의 픽셀에 색상 그라데이션을 적용하여 경계를 눈에 덜 띄게 만든다.   AA의 종류SSAA (Super Sampling Anti-Aliasing): 고해상도로 렌더링 후 다운샘플링하여 계단 현상을 줄이는 방식으로, 매우 높은 품질을 제공하지만 리소스 소모가 크다. MSAA (Multi Sampling Anti-Aliasing): 다각형 경계선에서만 샘플링을 늘려 부.. 2024. 11. 12.
[자료구조] 5. 큐(Queue) 5. 큐(Queue)  정의FIFO(First In First Out) 구조를 가진 자료구조먼저 들어온 데이터가 먼저 나가는 방식(줄을 서는 것처럼 순서대로 처리)  종류기본 큐 : 선형적으로 데이터를 삽입하고 삭제하는 방식원형 큐(Circular Queue) : 배열의 끝과 시작이 연결된 형태로, 배열의 공간을 지속적으로 재활용우선순위 큐(Priority Queue) : 각 요소에 우선순위가 부여되어 우선순위가 높은 요소부터 삭제됨  기본 구조요소앞(Front, Head), 뒤(Back, Rear, Tail)  특징 FIFO(First In First Out) 구조동적 크기 변화 : 큐는 동적으로 크기가 변할 수 있으며단 방향 데이터 흐름 : 데이터는 한 방향으로만 흐르고, 삽입은 뒤에서, 삭제는 앞에.. 2024. 11. 11.
[자료구조] 4. 스택(Stack) 4. 스택(Stack) 정의LIFO(Last In First Out) 구조를 가진 자료구조마지막에 삽입된 데이터가 가장 먼저 삭제되는 방식  종류배열 기반 스택 (Array-based Stack)연결 리스트 기반 스택 (Linked-based Stack)순환 스택 (Circular Stack)  기본 구조요소스택 포인터 (Top) : 스택의 맨 위 요소를 가리키는 포인터  특징LIFO(Last In First Out) 구조제한된 접근 방식 : 삽입과 삭제는 항상 스택의 맨 위에서 이루어짐크기 : 배열로 구현한 스택은 고정 크기, 연결 리스트로 구현한 스택은 가변 크기를 가짐재귀적 문제 해결에 유리  활용 예시함수 호출 스택 : 프로그래밍 언어에서 함수 호출 시 각 함수의 지역 변수와 실행 상태가 스택에 .. 2024. 11. 11.
[자료구조] 3. 연결 리스트(Linked List) 3. 연결 리스트(Linked List)   정의데이터가 순차적으로 연결된 노드들의 집합으로 이루어진 자료 구조. 기본 구조데이터 : 저장할 값포인터 : 다음 노드의 주소를 가리키는 포인터첫 번째 노드를 헤드(Head)라고 하며, 가장 마지막 노드의 포인터는 Null을 가리킴 종류단일 연결 리스트(Singly Linked List)이중 연결 리스트(Doubly Linked List)원형 연결 리스트(Circular Linked List) 특징동적 크기 : 메모리에 필요한 만큼만 노드를 추가할 수 있어 동적 메모리 할당 가능노드 기반의 자료 구조 : 노드(Node)라는 단위로 구성되며, 각 노드는 데이터와 다음 노드에 대한 포인터로 이루어짐비연속적 메모리 할당 : 각 노드가 흩어진 메모리에 저장되고, 포인.. 2024. 11. 10.
728x90
반응형