맨위로가기

블랙핀

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

블랙핀(Blackfin)은 인텔과 아날로그 디바이스가 공동 개발한 32비트 RISC 마이크로컨트롤러로, MSA(Micro Signal Architecture) 기반의 SIMD 아키텍처를 사용한다. 2000년에 발표되어 2001년에 처음 공개되었으며, SHARC 아키텍처와 XScale 아키텍처의 장점을 결합하여 DSP 기능과 마이크로컨트롤러 기능을 통합했다. 블랙핀 아키텍처를 구현한 다양한 CPU가 존재하며, 메모리, DMA, 다양한 주변 기기 및 미디어 처리 기능을 제공한다. 여러 운영 체제와 RTOS를 지원하며, Uclinux, ThreadX, Nucleus RTOS 등이 있다.

2. 아키텍처

MACSD/
SDIOPPIsSD-RAMUSBATAPICANI²C (TWI)SPIUARTSPORTGPIOMOST명령데이터SRAM1618/BF5221600164 (16)64 (32)
4--YesYes--10SDR
x16--11248-BF52512.0
OTGBF52711BF542--1DDR
x16123152BF54453364Yes-1-2BF54860012812.0
OTG134BF5495331BF53140032 (16)16 (16)
4----SDR
x16---1216-BF53248 (16)32 (32)
4BF53360080 (16)64 (32)
4BF53450064 (16)1148BF53632 (32)
41BF53760064 (32)
4BF53850080 (16)-23454BF538F512
1024BF539-381BF539F512
1024BF561600264 (16)
per core64 (32)
4
per core128-2SDR
x32-1248-BF53535011632
4256-SDR
x161.1216

1 BF52xC 제품군에는 48kHz, 스테레오 음성 코덱 (2xADC, 2xDAC)가 내장되어 있다.

모든 블랙핀 프로세서는 공통적으로 다음과 같은 주변 기기를 내장하고 있다.

2. 1. 코어 기능

블랙핀은 상황에 따라 디지털 신호 처리 장치(DSP) 또는 RISC 코어로 간주될 수 있다.

DSP 기능은 다음과 같다:

블랙핀+ 프로세서는 32비트 MAC 및 72비트 누산기를 추가한다.

RISC 기능은 다음과 같다:

ISA는 높은 수준의 표현력을 제공하며, 어셈블리 프로그래머나 컴파일러가 하드웨어 기능을 최적화할 수 있도록 돕는다.

2. 2. 메모리 및 DMA

블랙핀 프로세서는 바이트 단위 어드레싱을 사용하는 플랫 메모리 맵을 사용하며, 32비트 주소 공간을 갖는다. 이 공간에는 내부 L1 메모리, 내부 L2 메모리, 외부 메모리 및 모든 메모리 맵 기반 제어 레지스터가 위치한다. 프로그래밍 관점에서 보면 블랙핀은 폰 노이만 구조를 가진다.

L1 내부 SRAM은 코어 클럭 속도로 작동하며 하버드 아키텍처를 기반으로 한다. 명령어 메모리와 데이터 메모리는 분리되어 있으며, 전용 메모리 버스를 통해 코어에 연결된다. 이를 통해 코어와 L1 메모리 간에 빠르고 지속적인 데이터 전송이 가능하다. 명령어 및 데이터 L1 SRAM의 일부는 선택적으로 캐시로 구성할 수 있다.

일부 블랙핀 프로세서는 64KB에서 256KB 사이의 L2 메모리를 갖추고 있으며, 코어 클럭 속도보다 느리게 작동한다. L2 메모리에는 코드와 데이터가 혼합될 수 있다.

블랙핀 프로세서는 SDRAM, DDR-SDRAM, NOR 플래시, NAND 플래시, SRAM 등 다양한 외부 메모리를 지원한다. 일부 모델은 ATAPI 및 SD/SDIO와 같은 대용량 저장 장치 인터페이스도 포함한다. 외부 메모리 공간은 수백 메가바이트를 지원할 수 있다.

주변 장치와 메인 메모리(또는 외부 메모리) 사이에서 작동하는 DMA 엔진을 갖추고 있다. 각 주변 장치에 전용 DMA 채널을 할당하여 높은 처리량을 달성할 수 있으며, 실시간 SD급(D1) 비디오 인코딩 및 디코딩을 가능하게 한다.

2. 3. 마이크로컨트롤러 기능

블랙핀 아키텍처는 일반적인 마이크로프로세서 또는 마이크로컨트롤러에서 발견되는 CPU, 메모리 및 I/O를 포함하여 운영 체제를 가능하게 하는 여러 기능을 제공한다.

  • '''메모리 보호 장치(MPU):''' 모든 블랙핀 프로세서는 MPU를 포함하며, 전체 메모리 공간에 대한 보호 및 캐싱 전략을 제공한다. MPU 덕분에 ThreadX, μC/OS-II, NOMMU Linux와 같은 운영 체제, RTOS 및 커널을 지원할 수 있다. 블랙핀 MPU는 메모리 관리 장치(MMU)로 언급되지만, 주소 변환을 제공하지 않으므로, 가상 메모리나 프로세스별 별도의 메모리 주소를 지원하지 않는다. 따라서 WinCE 또는 QNX와 같이 가상 메모리가 필요한 운영 체제는 지원하지 않는다.
  • '''사용자/관리자 모드:''' 블랙핀은 슈퍼바이저, 사용자, 에뮬레이션의 세 가지 런타임 모드를 지원한다. 슈퍼바이저 모드에서는 모든 프로세서 리소스에 접근 가능하지만, 사용자 모드에서는 시스템 리소스와 메모리 영역을 보호할 수 있다. 최신 운영 체제 또는 RTOS에서 커널은 일반적으로 슈퍼바이저 모드에서 실행되고 스레드/프로세스는 사용자 모드에서 실행된다. 스레드가 충돌하거나 보호된 리소스에 접근하려 하면 예외가 발생하고, 커널은 해당 스레드/프로세스를 종료할 수 있다.
  • '''가변 길이 RISC 유사 명령어 집합:''' 블랙핀은 16, 32, 64비트 명령어를 제공한다. 자주 사용되는 제어 명령어는 16비트 opcode로 인코딩되는 반면, 복잡한 DSP 및 수학적 기능은 32비트 및 64비트 opcode로 인코딩된다. 이러한 가변 길이 opcode 인코딩은 코드 밀도를 최적화한다.

2. 4. 미디어 처리 기능

블랙핀 명령어 집합은 미디어 처리를 위한 확장 명령어 집합을 갖추고 있어, 영상이나 그림 압축/압축 해제 알고리즘에서 자주 사용되는 화소 처리 동작을 빠르게 해준다. 블랙핀 명령어 집합은 비디오 압축 및 이미지 압축 및 압축 해제 알고리즘에서 일반적으로 사용되는 픽셀 처리 작업을 가속화하는 데 도움이 되는 미디어 처리 확장을 포함한다.[1]

3. 주변 기기

블랙핀 프로세서는 특정 프로세서에 따라 다양한 주변 기기를 내부에 포함할 수 있다. 모든 주변 장치 제어 레지스터는 일반적인 주소 공간 위의 메모리 맵 입출력으로 동작한다.


  • ATAPI
  • CAN: 일부 자동차 및 산업용 전자 제품에 사용되는 광역, 저속 직렬 버스[1]
  • DMA: 메모리 대 메모리 DMA 및 주변 장치 DMA 지원[1]
  • EMAC (이더넷 미디어 접근 제어기): MII 및 RMII 포함[1]
  • 외부 메모리: EBIU(외부 버스 인터페이스 유닛)는 SDRAM, 모바일 SDRAM, DDR1, DDR2 또는 LPDDR용 컨트롤러와 SRAM, ROM, 플래시 EPROM 및 메모리 맵 I/O 장치를 위한 비동기 메모리 컨트롤러를 포함할 수 있다.[1]
  • GPIO: 레벨 트리거 및 에지 트리거 인터럽트 포함[1]
  • I²C(TWI, Two-Wire Interface): 저속 공유 직렬 버스
  • MXVR: MOST 네트워크 인터페이스 컨트롤러[1]
  • NAND 플래시[1]
  • PPI: LCD, 비디오 인코더(비디오 DAC), 비디오 디코더(비디오 ADC), CMOS 센서, CCD 및 일반 고속 병렬 장치에 연결하는 데 사용할 수 있는 병렬 입출력 포트. PPI는 최대 75MHz로 실행할 수 있으며 8~16비트 너비로 구성할 수 있다.[1]
  • PWM 및 타이머/카운터[1]
  • 실시간 시계[1]
  • SD/SDIO[1]
  • SPI: 일부 고속 임베디드 전자 애플리케이션에 사용되는 고속 직렬 버스[1]
  • SPORT: TDM, I²S 및 ADC, DAC, 다른 프로세서, FPGA 등에 연결하기 위한 여러 구성 가능한 프레이밍 모드를 지원할 수 있는 동기식 고속 직렬 포트[1]
  • UART: RS-232 장치(PC, 모뎀, PC 주변 장치 등), MIDI 장치, IRDA 장치와 양방향 통신 가능[1]
  • USB 2.0 OTG(On-The-Go)[1]
  • 워치독 타이머[1]

4. 개발 도구 소프트웨어

아날로그 디바이시즈는 자체 소프트웨어 개발 툴체인(CROSSCORE(VisualDSP++)영어)을 제공한다. 그린 힐즈 소프트웨어사의 MULTI IDE, GNU GCC 툴체인, 내셔널 인스트루먼츠사의 랩뷰(LabVIEW) 임베디드 모듈 등도 사용할 수 있다.

5. 지원되는 운영체제, RTOS 및 커널

위키 : [https://web.archive.org/web/20190114033748/https://docs.blackfin.uclinux.org/ https://web.archive.org/web/20190114033748/https://docs.blackfin.uclinux.org/]지금은 리눅스 메인 커널과 합쳐져 있다.ThreadX상용[http://www.rtos.com http://www.rtos.com]Nucleus상용[http://www.mentor.com http://www.mentor.com]Fusion상용[http://www.unicoi.com/fusion_rtos/rtos_blackfin.htm http://www.unicoi.com/fusion_rtos/rtos_blackfin.htm]µC/OS-II상용/소스코드 다운로드 가능[http://www.micrium.com/ http://www.micrium.com/]velOSity Microkernel상용[http://www.ghs.com http://www.ghs.com]INTEGRITY상용[http://www.ghs.com http://www.ghs.com]RTEMS오픈 소스/GPL[http://www.rtems.com/ http://www.rtems.com]T2 SDE오픈 소스/GPL[http://www.t2-project.org/architectures/blackfin.html http://www.t2-project.org/architectures/blackfin.html]VDK상용[http://www.analog.com/blackfin http://www.analog.com/blackfin]ADI 사의 리얼-타임 커널이다. VisualDSP++ 구매 시 딸려온다.



블랙핀은 이전에 μClinux에서 지원되었고, 나중에는 NOMMU 기능을 갖춘 리눅스에서 지원되었지만, 널리 사용되지 않았고 더 이상 유지 관리자가 없었기 때문에[8][9] 2018년 4월 1일에 리눅스에서 지원이 제거되었다. 4.16은 블랙핀 지원을 포함하는 마지막 릴리스였다.[10][11][12]

블랙핀용 OS/RTOS/커널
명칭종류비고
μClinux 배포판오픈 소스/GPL일반적인 Linux 커널에 통합되어 있으며, 각종 애플리케이션이 있다.
[http://www.rtos.com/page/product.php?id=2 ThreadX]상용rowspan="8" |
Nucleus
[http://www.unicoi.com/fusion_rtos/fusion_rtos_blackfin.htm Fusion RTOS]
[http://www.micrium.com/products/rtos/kernel/rtos.html μC/OS-II]상용/소스 사용 가능
[http://www.ghs.com/products/velosity.html velOSity]상용
[http://www.ghs.com/products/rtos/integrity.html INTEGRITY]
RTEMS오픈 소스/GPL
[http://www.t2-project.org/ T2 SDE]
VDK상용아날로그 디바이스의 실시간 커널. VisualDSP++에 동봉
[http://www.toppers.jp/jsp-kernel.html TOPPERS/JSP]오픈 소스μITRON4.0 사양


6. 블랙핀을 사용하는 상용 디바이스 (예시)


  • JXD 301 (휴대용 멀티미디어 플레이어 겸 게임기)

참조

[1] 웹사이트 Blackfin Processor Architecture Overview | Blackfin Processors | Processors and DSP | Analog Devices http://www.analog.co[...] 2011-04-09
[2] 웹사이트 H.264 BP/MP Encoder http://www.analog.co[...] Analog Devices 2014-09-03
[3] 웹사이트 H.264 BP/MP Decoder Library http://www.analog.co[...] Analog Devices 2014-09-03
[4] 웹사이트 Blackfin Processors | Analog Devices http://www.analog.co[...] 2016-06-24
[5] 웹사이트 Real-Time Operating Systems for Embedded Development, Real Time System By Express Logic http://rtos.com/prod[...] 2016-06-24
[6] 웹사이트 Real-Time Kernels http://micrium.com/r[...] 2016-06-24
[7] 웹사이트 INTEGRITY Real-time Operating System http://www.ghs.com/p[...] 2016-06-24
[8] 문서 MAINTAINERS: mark arch/blackfin/ and its gubbins as orphaned http://lkml.iu.edu/h[...]
[9] 문서 RE: MAINTAINERS: mark arch/blackfin/ and its gubbins as orphaned http://lkml.iu.edu/h[...]
[10] 문서 arch: remove obsolete architecture ports http://lkml.iu.edu/h[...]
[11] 웹사이트 Linux 4.16 arrives, erases eight CPUs https://www.theregis[...] 2018-04-03
[12] 웹사이트 "[GIT PULL] arch: remove obsolete architecture ports" https://lkml.org/lkm[...] 2018-04-03



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com