본문 바로가기
Computer Science

SW 아키텍쳐 구조&활용 (1)

by OKOK 2021. 6. 9.

오픈소스기반 임베디드 시스템 (리눅스/안드로이드) 이해

 

S/W 아키텍처 개요 및 시스템에서 S/W 동작

하드웨어 : 메모리 장치(롬, 램), 주변장치

소프트웨어 : 부트로더, 운영체제, 응용 앱

Fetch -> Decode -> Excecute

Firmware는 하드웨어를 제어하는 가장 로우 레이어의 software임

OS기반 시스템은 메모리, 입출력 장치 등의 공통자원들을 사용할 수 있도록 서비스를 제공함/멀티프로세싱을 지원함

그리고 일반적인 부팅 순서는 부트로더 -> OS -> 앱임. 부트로더는 H/W초기화, CMD 처리를 함(OS 실행 등). 

 

프로그램 번역과 실행

컴파일러는 C코드를 기계어로 변경해주는 것임.

크로스 컴파일러는 예를 들어 ARM기반의 임베디드 시스템 장치를 개발하려면 ARM 프로세서가 해석 가능한 결과물을 만들 수 있는 컴파일러가 필요함.

코드를 컴파일해서 오브젝트 파일을 만들음. 그리고 링커가 실행파일로 만들어줌. 라이브러리와 오브젝트 파일을 링크해서 실행파일을 만들어줌. 실행파일을 바이너리 파일로 만들어서 메모리에 올리는 것임. 

Linker는 Linker script로 제어되며 이 스크립트는 linker script language로 작성됨. 컴파일러마다 작성방법이 다름.

 

프로세서

프로세서 또는 CPU는 ALU와 레지스터 등으로 구성됨.

SoC : 단일 칩에 거의 모든 기능이 집적된 집적회로. 

주변장치는 Internal, External로 구별되며 칩의 종류에 다라 다름.

레지스터:프로세서 내부에서 데이터를 일시적으로 보관하는 기억 장치

 

메모리 시스템 & 장치(I/O)

RAM(Random Access Memory) : 전원을 끄면 데이터가 지워짐

ROM : Firmware, bootloader ,OS, 앱 저장에 쓰임

메모리 번지의 일부를 활용하여 사용함

메모리와 아이오 장치 모두 메모리 동작 명령으로 이루어짐

메모리 맵을 일정 크기의 영역으로 파티션 할수 있음

Region 별로 Cacheable / Buffeable 사용가능

비보호/보호 access permission을 설정가능함

MMU(Memory Managemet Unit)에서 지원. 가상 주소값을 지원함. 가상 주소 실제 주소가 따로 존재하는 것이구나.

이것을 왜 사용하는 것이지. 

'Computer Science' 카테고리의 다른 글

SW 아키텍쳐 구조&활용 (3)  (0) 2021.06.10
SW 아키텍쳐 구조&활용 (2)  (0) 2021.06.09
SW 요구사항 개발 (1)  (0) 2021.06.08
SW 공학 기초 (3)  (0) 2021.06.08
SW 공학 기초 (2)  (0) 2021.06.08

댓글