ARM 및 X86 아키텍처 클라우드 서버 CPU 연산 성능 비교

서론 최근 클라우드 컴퓨팅 시장에서 ARM 아키텍처 기반의 서버 도입이 활발해지고 있습니다. 전통적인 X86 아키텍처와 새로운 대안으로 떠오르는 ARM 간의 성능 차이에 대해 궁금해하는 사용자가 많습니다. 본 아티클에서는 동일한 사양의 X86 및 ARM 클라우드 서버를 대상으로 정수 연산과 부동 소수점 연산 성능을 직접 비교 분석합니다. 테스트 도구 설치 1. Sysbenc ...

8월 5일 16:34에 게시됨

国产化 환경: Kunpeng ARM + Kylin V10에서 K8s와 Rainbond 오프라인 배포

이전 글에서는 Rainbond가国产化信创 플랫폼으로서의 능력에 대해 소개했고, 기존 Kubernetes 환경에서 Rainbond를 오프라인으로 배포하는 방법도 다루었습니다. 그러나 은행, 정부 기관 등 대부분의国产化信创 환경에서는 오프라인 배포가 더욱 일반적인 요구사항입니다. Rainbond 공식 문서에서는 이미 존재하는 Kubernetes 환경에서 Rainbond를 오프라인으로 배포하는 ...

7월 25일 12:59에 게시됨

RTOS 및 임베디드 아키텍처의 메모리 구조와 실행 원리

1. RTOS 학습을 위한 선결 조건 RTOS(Real-Time Operating System)는 하드웨어 제어보다는 소프트웨어 알고리즘과 구조에 집중합니다. 따라서 기초적인 마이크로컨트롤러(MCU) 조작 능력이 있다면 바로 시작할 수 있습니다. 과정 진행 중 ARM 아키텍처의 핵심 내용을 다루므로, 하드웨어에 대한 깊은 지식이 부족하더라도 소프트웨어 관점에서 접근이 가능합니다. ...

7월 19일 22:41에 게시됨

ARM 임베디드 보드용 GCC 로컬 컴파일러 빌드

일반적으로 임베디드 시스템 개발에서는 개발 PC에 Linux 가상 머신을 설정하고 크로스 컴파일 툴체인을 사용하여 실행 파일을 빌드합니다. 이렇게 생성된 실행 파일은 대상 ARM 보드로 복사되어 실행됩니다. 즉, 개발 PC에서 실행되는 GCC를 사용하여 ARM 보드에서 실행될 프로그램을 빌드하는 과정으로, 이를 크로스 컴파일이라고 합니다. 하지만 Automake로 제작된 ...

7월 18일 18:58에 게시됨

ZYNQ 이중 코어 베어메탈 예제 구현

개발 환경 Vivado 2014.4 환경에서 ZYNQ 이중 코어 베어메탈 구현 방법에 대해 설명한다. 특정 조건에서의 문제점 전체 DDR 메모리가 512MB를 초과하며, CPU0가 이미 512MB 이상을 사용하고 있는 경우, 다음 절차에 따라 CPU1을正式启动할 수 없다. 원인 분석 이러한 문제는 부트 엔트리 주소 제한으로 인해 발생한다. 기본적으로 MMU 테이블 설정이 512MB 영역으로 제한 ...

7월 8일 23:10에 게시됨

Android용 FFmpeg NEON 최적화 빌드 구성

FFmpeg를 Android 네이티브 라이브러리로 컴파일하는 것은 널리 알려진 주제이다. NEON SIMD 명령어를 활용하여 성능을 최적화하는 구성도 많이 존재한다. 본 문서에서는 실제 환경에서 검증된 빌드 스크립트를 설명하며, 핵심은 Makefile 설정에 있다. 빌드 환경 설정 컴파일을 수행하기 전에 Android NDK 경로 및 플랫폼 버전을 확인해야 한다. 다음은 기본적인 환경 ...

6월 10일 19:57에 게시됨

ARM 아키텍처 실행 모드 학습 노트

1. 개요 ARM 아키텍처는 광범하게 사용되는 정밀 명령 집합 계산(RISC) 아키텍처로, 명령 집합을 단순화하여 프로세서 성능과 효율성을 높이는 설계 철학을 가지고 있습니다. ARM 프로세서는 다양한 실행 모드를 지원하며, 이러한 모드는 프로세서의 권한 레벨, 접근 가능한 레지스터 그룹 및 사용 가능한 명령 집합을 결정합니다. 2. ARM 아키텍처 버전 진화 아키텍처 ...

6월 8일 17:29에 게시됨

RK3588 성능 모니터링 및 최적화 완벽 가이드

1. RK3588 성능 모니터링 도구 이해하기 RK3588 칩셋은.edge 컴퓨팅 디바이스부터 고급 태블릿, 다양한 AIoT 기기에 이르기까지 광범위하게 활용되고 있다. 6Tops NPU를 갖춘 이 칩셋은 AI 애플리케이션 구현을 상당히 용이하게 만들어 주지만, 제대로 활용하지 않으면 발열 문제나 프레임 레이트 불안정으로 인해 결국 성능을 낮춰야 하는 상황에 직면할 수 있다. 이러한 ...

6월 3일 23:15에 게시됨

STM32 범용 프로젝트 템플릿 생성하기

범용 링커 스크립트 링커 스크립트는 프로그램 진입점인 Reset_Handler 함수의 위치를 정의하고, 메모리 영역 배치를 설정하며, 표준 라이브러리 관련 정보를 제거하는 역할을 합니다. ST 사에서는 표준 주변장치 라이브러리에 다양한 모델에 대응하는 링커 스크립트를 제공하지 않았으며, HAL 라이브러리에서만 일부 예시를 찾을 수 있습니다: STM32F100XB_FLASH.ld STM3 ...

5월 25일 17:34에 게시됨

ARM GCC에서 전역 레지스터 변수 활용하기

U-Boot 소스에서 register volatile gd_t *gd asm ("r8")와 같은 구문을 마주쳤을 때, 단순한 변수 선언으로 보이지만 실제로는 CPU 레지스터를 직접 활용하는 고급 기법이다. 이 글에서는 ARM 아키텍처에서 레지스터 변수를 정의하고 활용하는 방법을 살펴본다. 레지스터 변수의 개념 일반적인 변수는 메모리에 저장되어 접근 시마다 메모리 버스를 통한 트랜잭션이 발 ...

5월 22일 19:37에 게시됨