본문 바로가기

# Programming/- Embedded 관련 지식7

CPU의 구조 및 원리 - CPU의 모든 것 [CPU란?] 📌 CPU란? 중앙처리장치(CPU)는 Centrol Processing Unit의 약자로, 컴퓨터에서 명령어를 해석하고 실행하는 역할읋 하는 마이크로 프로세서이며, 명령어의 해석과 자료의 연산, 비교등의 처리를 제어하는 컴퓨터 시스템의 핵심장치이다. 다양한 입력 장치로부터 정보를 입력받아 처리한 후, 그 결과를 출력장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행한다. [CPU의 구성 요소] CPU는 아래 그림과 같이 Control Unit(제어장치), ALU(연산 장치), Register(레지스터) 로 구성되어 있고 각 구성 요소들은 Data Bus를 통해서 데이터를 주고받는다. 📌 Control Unit(CU, 제어 장치) - CU는말 그대로 CPU를 컨트롤하는 장치이다. ROM.. 2023. 10. 11.
신개념 컴퓨터 아키텍쳐, CXL이란? [CXL에 대해서] 📌 CXL이란? CXL이란, Compute Express Link의 약자로, 오픈형 메모리 인터커넥트 표준이며 고성틍 컴퓨팅 시스템과 디바이스 간에 데이터 및 명령어를 전송하는데 사용되는 고속 시리얼 버스 프로토콜이다. CXL은 다양한 컴퓨팅 및 데이터 센터 어플리케이션에 사용되며, 주로 메모리와 가속화 장치 간의 연결에 적합하다. 주 목적은 호스트 프로세서와 CXL 디바이스 간에 저 지연 고대역폭 메모리 접근 환경을 구성하는 것에 있으며, 최근 데이터센터에서는 빅데이터 및 머신러닝 등에서 발생하는 고집적 워크로드의 연산을 보조하기 위해 인프라 내에 GPU나 FPGA와 같은 가속기의 도입을 확대하는 경향을 보이고 있고, 지금까지 DDR1 - DDR2 - DDR3 - DDR4 - DDR.. 2023. 9. 20.
임베디드 시스템의 핵심 기술, RTOS란? - Part.2 (CPU 동작 단계, CPU Scheduling, Process, Task vs Thread) [CPU 동작 단계] 📌 Fetch(인출) CPU가 메모리에서 다음 실행할 명령어를 인출하는 단계이다. 인출 단계에서는 다음 실행할 명령어의 메모리 주소가 프로그램 카운터(PC) 레지스터에 저장되어 있다. CPU는 PC에 저장된 주소를 사용하여 메모리에서 해당 명령어를 검색하고 인출한다. 이때, 메모리의 데이터는 명령어로 해석되어 CPU 내부로 가져온다. 📌 Decode(해석) 안출한 명령어를 해석하는 단계이다. CPU는 명령어를 해석하여 해당 명령어의 유형과 실행에 필요한 추가 정보를 추출한다. 명령어 해석은 명령어 집합 아키텍쳐(ISA)에 정의된 명령어 형식을 기반으로 수행된다. 이 단계에서 CPU는 명령어가 어떤 연산을 수행해야 하는지 결정하고 필요한 레지스터나 데이터를 결정한다. 📌 Execute.. 2023. 9. 4.
공유 자원을 관리하는 두 가지 방법 : Mutex / Semaphore [개요] Mutex와 Semaphore는 동시에 여러 프로세스나 스레드가 공유 리소스에 접근할 때 발생할 수 있는 문제를 관리하기 위한 동기화 기법이다. 이들은 프로그램에서 여러 스레드 또는 프로세스가 공유 자원을 안전하게 사용하도록 조절하는데 사용된다. [Mutex] 📌 Mutex란? 뮤텍스는 "상호 배제"를 의미하는 Mutual Exclusion의 약자로, ✅ 오직 하나의 스레드만이 특정 코드 블록을 실행하도록 보장하는 동기화 기법이다. (공유 자원 1개에 하나의 User만 사용 가능, 동기화 대상이 1개) 이는 특정 리소스에 대한 접근을 한 번에 하나의 스테드만 가능하도록 하여, 데이터의 일관성과 안정성을 보장하고 하나의 스레드가 뮤텍스를 잠그면(획득하면), 다른 스레드들은 해당 뮤텍스를 얻을 때까.. 2023. 9. 1.