Welcome To The Greenstore

Let’s Bring the Spring to Your Home



메모리 안전 C++ 작성을 위한 5가지 기술

최신 소프트웨어 뉴스에 주의를 기울여 왔다면 NSA가 모두에게 다이렉트자동차보험비교견적사이트 메모리 안전 프로그래밍 언어를 사용할 것을 권장한다는 헤드라인을 들었을 것입니다. 이 권장 사항은 임베디드 공간에서 사용할 프로그래밍 언어에 대한 대화에 박차를 가했고 Rustacians가 Rust가 미래라고 외칠 수 있는 더 많은 연료를 제공했습니다.

메모리 안전 프로그래밍 언어는 특정 문제를 해결하고 메모리 관련 버그 가능성을 줄이는 데 도움이 될 수 있지만 포괄적인 것은 아닙니다. 메모리 안전 언어가 아닌 것처럼 여전히 메모리 문제와 버그로 ​​끝날 수 있습니다. 따라서 메모리 안전 언어는 개발자가 문제를 해결하는 데 사용할 수 있는 또 다른 도구입니다.

Rust와 같은 언어로 이동하는 것에 대한 일반적인 흥분과 관심이 있지만 임베디드 공간 내에는 다음과 같은 많은 과제가 있습니다.

엔지니어를 교육하고 새로운 언어를 익히는 데 드는 시간과 비용
레거시 코드로 수행할 작업과 기존 코드를 마이그레이션하는 데 드는 시간과 비용
기존 공급업체 도구 체인 내 언어 지원
이것은 몇 가지 예에 불과하지만 더 많은 예가 있습니다. 많은 개발자들이 다음 작업을 위해 이력서를 채우는 데 도움이 되는 반짝이는 새 장난감과 무언가를 보는 반면, 많은 팀이 메모리 안전 언어로 전환하는 것은 불필요하다고 감히 말씀드립니다!

메모리 안전 언어가 개발자가 피하는 데 도움이 되는 많은 버그는 개발자가 자신이 하는 일에 주의를 기울이고 업계 모범 사례와 프로세스를 따르는 경우 C/C++를 사용하여 피할 수도 있습니다. 개발자가 메모리 안전을 개선하는 데 도움이 되는 5가지 C++ 기술을 살펴보겠습니다. 이것들은 완전한 목록은 아니지만 블록의 새로운 아이를 위해 C++를 그냥 버려서는 안 되는 방법의 예입니다. 모범 사례는 코드 메모리를 안전하게 만들 수 있습니다.

기술 #1 – 스마트 포인터
메모리 문제의 중요한 문제 원인은 원시 포인터를 사용하는 것입니다. 임베디드 개발자는 모두 포인터 사용에 익숙합니다. 이를 사용하여 주변 메모리 및 레지스터를 가리키고 데이터를 기능에 효율적으로 전달하는 등의 작업을 수행합니다. C 및 이전 버전의 C++에서 원시 포인터의 문제점은 개발자가 원하는 모든 작업을 자유롭게 수행할 수 있다는 것입니다. 대부분의 경우 메모리 누수, 범위를 벗어난 변수 액세스 등과 같은 문제가 발생했습니다.

최신 C++ 내에서 개발자는 다음과 같은 스마트 포인터를 활용할 수 있습니다.

auto_ptr (C++11에서는 사용되지 않음)
unique_ptr
공유_ptr
weak_ptr
이 작업이 우리의 범위를 벗어나는 방법을 정확히 논의함으로써 일반적인 개념을 논의할 수 있습니다.

일반적으로 스마트 포인터는 클래스에 래핑된 원시 포인터로 생각할 수 있습니다. 스마트 포인터는 여러 용도로 사용됩니다. 첫째, unique_ptr을 사용하여 포인터가 범위를 벗어날 때 발생하는 메모리 할당도 할당 해제되도록 할 수 있습니다. 원시 포인터를 사용한다고 해서 메모리 누수가 발생할 수 있는 이 동작이 보장되지는 않습니다. 다음으로 스마트 포인터도 주인의식을 가지고 있습니다. 예를 들어 unique_ptr은 포함된 포인터의 복사를 방지합니다. 기본 포인터의 소유자는 하나만 허용됩니다. 다른 개체가 unique_ptr이 가리키는 리소스를 사용하려는 경우 이동 의미 체계를 사용하여 소유권을 이전할 수 있습니다.

C++를 사용하는 임베디드 개발자는 C에서와 같은 원시 포인터를 사용하지 않아야 합니다. 대신 스마트 포인터가 더 나은 방법이며 버그 및 보안 취약점으로 이어지는 일반적인 메모리 문제를 방지하는 데 도움이 될 수 있습니다.

기술 #2 – 동적 메모리 및 힙 사용 방지
수십 년 동안 동적 메모리와 힙을 피하는 것은 마이크로컨트롤러 기반 임베디드 시스템의 표준 모범 사례였습니다. 그것들을 사용하는 것은 확실히 가능합니다. 저는 때때로 요점을 증명하기 위해 그렇게 했습니다. 그러나 메모리 누수, 조각화 및 기타 잠재적인 문제와 같은 메모리 관련 버그를 소개할 기회가 있습니다.

C++를 사용하는 임베디드 개발자는 동적 메모리 및 힙을 피함으로써 메모리 문제를 피할 수 있는 기회를 향상시킬 수 있습니다. 이를 수행할 수 있는 여러 가지 방법이 있습니다. 첫째, 개발자는 임베디드 시스템에서 표준 템플릿 라이브러리(STL)를 사용하지 않아야 합니다. 일반적으로 STL은 동적 메모리 할당을 많이 사용합니다. 다음으로 개발자는 런타임 유형 정보(RTTI)를 비활성화할 수 있습니다. 마지막으로 예외를 비활성화하는 것이 또 다른 옵션입니다. 예외에 대한 메모리는 지정되지 않은 방식으로 할당되며 대부분의 구현에서는 힙을 사용합니다.

메모리 할당을 피하고 힙을 사용하면 메모리 누수, 메모리 부족 오류, 힙 조각화 등과 같은 문제를 즉시 제거할 수 있습니다.

기술 #3 – RAII
임베디드 개발자가 동적 메모리나 힙을 사용해서는 안 된다고 일반화하고 말하는 것은 쉽습니다. 하지만 이 모범 사례는 일반화이며 때로는 이를 수행해야 하는 상황에 처할 수도 있습니다. 예를 들어 동적 메모리와 힙을 사용해야 하는 경우 개발자는 RAII(Resource Acquisition Is Initialization) 기술에 따라 메모리 문제를 피할 수 있습니다.

RAII는 개발자가 개체의 수명 주기를 자체 리소스에 연결하는 기술입니다. 아이디어는 매우 간단합니다. 응용 프로그램이 리소스를 획득하는 경우 개체는 리소스를 초기화하는 생성자를 호출하는 해당 리소스와 연결되어야 합니다. 개체는 수명 동안 해당 리소스를 소유합니다. 개체가 범위를 벗어나면 소멸자가 실행되고 할당된 메모리와 함께 리소스가 해제됩니다.

우리는 스마트 포인터가 RAII에서 어떻게 필수적인 역할을 할 수 있는지 간략하게 논의했습니다.

고려해야 할 기타 기술
C++는 풍부하고 기능이 풍부한 언어입니다. 안타깝게도 메모리 안전을 개선하는 데 사용할 수 있는 모든 C++ 기능을 논의하기에는 하나의 블로그만으로는 충분하지 않습니다. 그러나 더 깊이 파고들 수 있는 몇 가지 추가 생각을 제공하는 것이 현명할 것이라고 생각합니다.

먼저 0의 법칙, 5의 법칙, 3의 법칙에 익숙해 지세요 . 클래스를 설계할 때 이러한 규칙은 사용자 정의 복사 생성자, 복사 할당 연산자, 소멸자, 이동 생성자 및 이동 연산자를 만들어야 하는 시기를 지정하는 데 도움이 됩니다.

둘째, 정적 분석 도구를 사용하여 메모리 누수, 스레딩 문제, 버그 및 기타 잠재적인 문제를 찾습니다. 다시 말하지만 clang, cppcheck, valgrind 및 상용 도구와 같은 많은 정적 분석 도구가 있습니다.

다음으로 최신 C++에 익숙해지십시오. C++ 언어에는 많은 것이 있지만 실제로 임베디드 소프트웨어 개발자에게는 기능의 작은 부분만 필요합니다. 필요에 맞는 하위 집합을 식별하고 나머지는 모두 버릴 수 있습니다. 나는 C로 같은 일을 해왔다는 것을 알고 있습니다. 목표는 모든 언어 기능을 사용하는 것이 아니라 강력한 실시간 임베디드 소프트웨어를 작성하는 데 도움이 되는 언어의 도구일 뿐입니다.

마지막으로 C++ 표준에 적용된 변경 사항을 주시하십시오. C++는 3년마다 업데이트됩니다. 언어는 진화하고 있으며 새로운 도구가 지속적으로 추가됩니다. 보안 및 메모리 안전은 필수적이며 앞으로 이러한 측면에서 언어가 많이 개선될 것입니다.

결론
C++는 메모리 안전 언어가 아닙니다. 그러나 많은 기능과 기술을 사용하여 메모리에 안전한 코드를 작성할 수 있습니다. 궁극적으로 메모리 안전 언어를 사용하는지 여부에 관계없이 개발자는 자신이 수행하는 작업과 메모리에 미치는 영향에 대해 생각해야 합니다. 소프트웨어가 항상 1/4 뒤에 시작하고 제공에 대한 압박이 있을 때 이것이 어려울 수 있다는 것을 알고 있습니다. 압력이 가해지면 뒤로 물러나고 모서리를 자르지 말고 메모리 안전 C++를 작성할 수 없다는 생각을 강화하십시오. 모범 사례를 따르고 올바른 도구를 활용한다면 가능하다는 것을 알게 될 것입니다.


2023년에 주목해야 할 5가지 클라우드 예측

전 세계적으로 더 많은 조직과 정부가 2022년에 클라우드에서 노와이어브라 워크로드를 실행한다는 아이디어에 익숙해졌습니다. 다음은 2023년에 주목해야 할 몇 가지 트렌드입니다.

CHIPS 법의 역사적인 서명을 목격하고, 직장에 대한 팬데믹 영향이 지속되고, 칩 공급 중단을 극복한 해에 변하지 않은 한 가지는 클라우드 채택 및 마이그레이션의 급격한 증가입니다. 클라우드 컴퓨팅은 인공 지능(AI), 고성능 컴퓨팅(HPC) 및 책임감 있는 메타버스 구축을 포함하여 삶을 변화시키는 많은 기술의 핵심 원동력입니다. 오히려 전 세계적으로 더 많은 조직과 정부가 2022년에 클라우드에서 워크로드를 실행한다는 아이디어에 익숙해졌습니다.

클라우드 허브 설계 검증 – Synopsys

시스템의 복잡성과 성능 제약을 극복하기 위해 클라우드로 이동하는 것은 더 이상 선택 사항으로 간주되지 않으며 특히 어려운 경제 환경에서 비즈니스 민첩성에 필수적인 것으로 입증되었습니다. Gartner에 따르면 전 세계 퍼블릭 클라우드 지출 은 2022년 4,903억 달러에서 2023년에는 20.7% 성장하여 거의 6,000억 달러에 이를 것으로 예상되므로 둔화될 조짐이 없습니다 . 칩 설계 요구 사항 및 워크로드에 클라우드를 활용하는 확장성과 탄력성 이점을 인식했습니다.

EDA 관점에서 칩 설계자의 요구 사항을 이해하여 점점 더 퍼블릭 클라우드 인프라로 이동하는 HPC 워크로드를 구동하는 고급 칩을 설계하고 검증하는 것은 Synopsys와 같은 설계 자동화 회사가 제공하는 핵심 부분입니다.

많은 고객이 확장성과 유연성을 위해 그리고 고급 칩 설계를 가능하게 하는 클라우드를 활용하도록 지원한 경험을 바탕으로 2023년에 형성될 주요 클라우드 트렌드와 클라우드 기술이 앞으로 더 큰 영향을 미칠 이유에 대해 읽어보십시오.

1. 피크 사용 모델을 위한 클라우드가 주류가 됨
클라우드에서 일부 워크로드를 버스팅하는 것은 컴퓨팅 리소스에 대한 수요가 급증할 때마다 회사가 기존 데이터 센터에서 클라우드로 빠르게 전환하는 데 도움이 되는 배포 기술입니다. 이 관행은 서비스 중단을 방지하는 데 도움이 되고 더 저렴하며 단기적인 요구 사항(불완전한 프로젝트 일정 또는 성공적으로 실행하기 위해 즉각적인 용량이 필요한 복잡한 EDA 워크로드)을 해결하지만 포괄적인 피크 로드 관리는 장기간의 전투였습니다.


현재의 버스팅 접근 방식과 방법론은 이 문제를 적절하게 해결하지 못하고 있습니다. 많은 고객이 이 문제를 해결하기 위한 임시 솔루션을 찾았지만 현재 문제의 1/3만이 해결되었으며 데이터 관리, 라이선스 가용성 및 클라우드 비용과 같은 문제가 지속됩니다. 업계는 팀이 온프레미스에서 클라우드로 원활하게 이동하고, 필요한 결과를 도출하고, 특히 확장되는 HPC 요구 사항을 위해 이를 지속적으로 배포할 수 있는 현재의 하이브리드 클라우드 환경을 위한 전체적인 엔드 투 엔드 솔루션이 필요합니다. 효율성과 비용 최적화의 균형이 더욱 중요해질 것입니다. 2023년으로 접어들면서 우리는 이 영역이 더 큰 초점이 되는 것을 볼 수 있으며 실패할 수 없는 솔루션이 빛을 보게 될 가능성이 있습니다.

2. 더 많은 EDA 고객이 클라우드를 채택할 것입니다 .
“클라우드의 EDA” 개념은 팀이 EDA 프로젝트를 관리, 예약 및 설계하는 방식을 바꿀 것입니다. 우리는 디자인 팀이 클라우드 지출을 최적화하고 제어하는 ​​방법에 대한 학습 주기를 거칠 것으로 예상합니다. 이는 지난 5~8년 동안 다른 산업이 클라우드 여정을 진행한 방식과 유사합니다. Synopsys에서 지난 9개월 동안만 본 내용에 따르면 고객은 EDA 워크로드를 클라우드로 이전하는 데 그 어느 때보다 열성적이었습니다.

“기어 다니고, 걷고, 달리고”라는 사고 방식에서 이 산업이 발전하는 것은 기업이 작업을 더 빠르게 수행하기 위해 고급 컴퓨팅과 유연한 스토리지 인프라에서 보고 있는 가치에 대한 증거입니다. 이에 대한 주요 이유 중 일부는 회사가 온프레미스 용량이 부족하고 나중에 온프레미스 용량을 늘리는 것이 힘든 프로세스임을 깨닫는 방법을 지적합니다. 비용 측면에서 반드시 더 비싸지는 않지만 관련된 시간 측면에서 비용이 많이 듭니다.

출시 시간이 중요한 기준이 되면서 고객은 온프레미스 용량을 구축하고 활용하는 것보다 클라우드에서 즉각적이고 단기적인 요구 사항을 훨씬 빠르게 해결할 수 있음을 깨닫습니다. 즉, 연간 예산 및 CAPEX 주기 계획과 같은 표준 온프레미스 관행은 계획된 방식으로 계속되고 이월될 것입니다. 궁극적으로 사용자 경험과 지원 분석은 EDA의 클라우드 채택 속도를 결정합니다.

3. 대규모 데이터센터 투자 기업은 클라우드 활용 확대
최신 하이퍼스케일 데이터 센터에 막대한 투자를 하는 대기업은 버스트 모드 관점에서 뿐만 아니라 용량 수준을 높이고 최신 하드웨어에 액세스하기 위해 클라우드 사용을 크게 확장할 것으로 예상합니다. 예를 들어 일부 고객은 데이터 센터를 업그레이드(4년 또는 5년 주기가 필요할 수 있음)하거나 순전히 용량 피크 요구 사항을 위해 클라우드를 선택하는 대신 기존 데이터 센터 전략의 확장으로 클라우드를 사용하는 것을 선호합니다.

칩과 시스템의 크기와 복잡성이 증가함에 따라 더 많은 컴퓨팅 리소스에 대한 액세스가 거의 만족할 수 없는 요구 사항이 되었습니다. 추가 마력을 활용하면 가장 큰 규모의 기업과 가장 작은 규모의 기업이 최대 수요뿐만 아니라 용량 확장으로 클라우드를 사용할 수 있는 경제적으로 효율적인 방법을 제공합니다.

EDA 회사의 경우 추가 용량에 맞게 확장할 수 있고 고객이 온프레미스 및 클라우드 사용 모델 간에 원활하게 전환할 수 있도록 지원하는 포괄적인 도구 세트를 개발할 수 있는 기회를 제공합니다. 당연히 고객마다 클라우드 여정을 더 잘 관리하는 방법에 대해 서로 다른 전략을 가지고 있으며 두 회사가 동일한 모델을 선택하지 않을 것입니다. 이 주제는 올해 논의 중이지만 2023년에 더 심도 있게 검토될 예정입니다.

4. 공급망 문제는 병목 현상이 줄어들 것입니다.
경제에 힘든 한 해였으며 공급망 문제가 완전히 해결될 것으로 기대하지는 않지만 병목 현상은 덜할 것으로 예상합니다. 오히려 기업이 클라우드 컴퓨팅과 용량에 더 많이 투자하도록 동기를 부여할 것입니다.

EDA 세계에서 칩 설계를 위해 클라우드가 제공하는 가장 큰 이점 중 하나는 오늘날의 설계자가 필요로 하는 용량을 제공할 수 있는 무제한의 고급 컴퓨팅 리소스입니다. 비용 이점이 있는 스팟 비용이 증가하고 고객은 비용을 최적화하는 동시에 도구의 가치를 극대화하고 모델에서 더 많은 정보를 얻을 수 있는 도구를 찾을 것입니다.

5. 검증이 클라우드의 핵심 동인이 될 것입니다.
오래된 딜레마인 검증은 칩 개발에서 가장 시간이 많이 걸리고 자원 집약적인 구성 요소였습니다. 팀이 더 많은 디자인을 실행함에 따라 어떤 팀도 진정으로 충분한 검증을 받을 수 없습니다. 이러한 팀은 더 빨리 커버리지 종료에 도달하기 위해 다양한 작업에 걸쳐 포괄적인 검증을 수행해야 합니다. 검증의 가장 큰 동인은 제한된 임의 검증을 통한 커버리지 폐쇄입니다. 업계 설문 조사에 따르면 확인 시간의 35%는 커버리지 종료에 사용되며 나머지 35%는 디버깅(클라우드에 일부 창의적인 애플리케이션이 있을 수 있지만 커버리지에 의존할 수 있음)에 사용됩니다.

오늘날 기업은 높은 활용률로 검증을 실행하지만 더 높은 품질의 결과와 더 빠른 결과 도출 시간에 대한 요구로 인해 버스트 용량과 지속 용량 모두에 대해 클라우드를 사용하고 있습니다. 이러한 요구 사항에는 품질 관리 검증 기술이 설계 프로세스 초기에 완화할 수 있는 고유한 문제와 위험이 따릅니다.

또한 고급 프로세서 기술과 클라우드 제공업체가 애플리케이션용 HPC 인프라를 최적화함에 따라 강력한 검증 프로세스를 구축하는 것이 점점 더 어려워지고 있습니다. 예를 들어 Arm 프로세서로 구동되는 Amazon Web Services의 Graviton 2 및 Graviton 3과 같은 최근의 발전과 Ampere Altra Arm 기반 프로세서가 장착된 Microsoft의 새로운 Azure 가상 머신은 서비스 공급자가 마이크로프로세서를 클라우드에 도입하고 데이터 센터 인프라에 베팅하여 보다 에너지 및 비용 효율적입니다.

요약: 스타트업이 많을수록 더 많은 용량이 필요합니다.
CHIPS 법의 시행이 2023년에 구체화되고 다양한 글로벌 정부, 파운드리 및 공급업체가 계속해서 반도체 투자를 늘리고 새로운 팹을 건설함에 따라 많은 스타트업이 경기장에 진입할 것으로 예상됩니다. 우리는 용량 요구 사항과 설계 복잡성이 증가하고 확장될 것이라는 점을 인식하고 있지만 기업이 저렴하고 확장 가능하며 유연한 방식으로 클라우드 모델의 유연성과 성능의 이점을 최대한 활용하는 것이 중요합니다. 앞으로 우리는 산업으로서의 클라우드 컴퓨팅이 시간의 시험을 견디고 클라우드 마이그레이션이 경제 상황에 관계없이 주요 비즈니스 투자가 될 것이라고 확신합니다.

임베디드 NOR 플래시를 대체하기 위해 떠오르는 메모리 이동

신흥 메모리는 새로운 단계에 접어들고 있지만 지난 몇 년 동안 수제토분 부문의 성장을 담당했던 주목할만한 상변화 메모리(PCM)가 없습니다.

Intel은 애널리스트 Thomas Coughlin과 Jim Handy가 연간 보고서를 마무리하면서 PCM 기반 3D XPoint 기술인 Optane의 사용을 중단한다고 발표했습니다 .

Handy는 인터뷰에서 EE Times와의 인터뷰에서 “Optane이 출시되고 있었고 우리는 여전히 보고서에서 Optane의 큰 부분을 차지했습니다.”라고 말했습니다.


Objective Analysis의 짐 핸디
Optane이 없으면 Coughlin Associates와 Handy’s Objective Analysis의 연례 공동 보고서의 요점은 떠오르는 메모리의 다음 단계는 저항성 랜덤 액세스 메모리( ReRAM) 또는 자기 저항 RAM(MRAM)이 있습니다.

Handy는 “여기서 대부분의 사업이 시작되리라고 기대하고 있습니다.”라며 임베디드 메모리의 성장은 마이크로컨트롤러(MCU), ASIC, 심지어 필드 프로그래밍 가능 게이트와 같은 장치에 배치되는 ReRAM 및 MRAM에서 비롯될 것이라고 덧붙였습니다. 어레이(FPGA). “그리고 대부분 NOR 플래시를 대체합니다.”


NOR 플래시는 28nm 공정 기술 이하에서는 협력적이지 않기 때문에 한계에 도달했습니다. 저전력 애플리케이션은 또한 많은 새로운 메모리에 매우 적합합니다.

FRAM(Ferroelectric RAM)은 저밀도에서 틈새 수요를 충족하는 새로운 메모리의 훌륭한 예입니다. 인피니언 테크놀로지스가 이 메모리를 우주에 배치하는 이유는 내방사성입니다. 올해 초 인피니언은 2MB 직렬 주변 장치 인터페이스 FRAM을 발표했는데, 이 FRAM은 우주 업계 최초의 내방사선 강화(방사선 경화) FRAM 이라고 회사는 주장합니다 . 내방사성 외에도 FRAM은 작동 중 에너지 소비가 적기 때문에 전력이 귀중하기 때문에 공간에 이상적이며 비휘발성 E 2 PROM 및 직렬 NOR 플래시 장치와 비교할 때 쓰기 기능이 뛰어납니다.

FRAM은 자동차, 우주 공간의 신뢰성을 제공합니다.
보다 최근에 Infineon은 차세대 자동차 및 산업 시스템의 비휘발성 데이터 로깅 요구 사항을 해결하기 위해 8Mb 및 16Mb Excelon F-RAM 메모리를 출시했습니다. 데이터 손실을 방지하는 데 도움이 되는 추가 보호. Infineon의 Automotive Division에서 RAM 제품 라인을 이끌고 있는 Ramesh Chettuvetty는 인터뷰에서 EE Times와의 인터뷰에서 이러한 최신 FRAM은 업계에서 사용할 수 있는 가장 높은 밀도를 제공하며 이는 자동화 및 연결된 센서의 급속한 성장.


Infineon의 Excelon F-RAM 메모리는 우주 공간과 마찬가지로 열악한 운영 환경이며 데이터 손실을 방지하기 위해 추가 보호가 필요한 자동차 및 산업 시스템의 비휘발성 데이터 로깅 요구 사항을 해결합니다. (출처: 인피니언 테크놀로지스)

FRAM에 대한 Infineon의 투자는 부분적으로 Cypress Technologies의 동화로 인해 오랜 시간을 거슬러 올라갑니다. 낮은 전력 소비와 방사선 내성 외에도 Chettuvetty는 새로운 메모리의 매력은 데이터가 전송 중일 때의 신뢰성이며, 이는 엄격한 요구 사항인 자동차와 같은 산업에서 미션 크리티컬 데이터 로깅에 이상적이라고 말했습니다. FRAM은 빨리 마모되는 기존의 NOR 플래시에 대한 이상적인 대안이지만 데이터 로깅에 대한 요구 사항이 더 저렴하기 때문에 미션 크리티컬하지 않은 경우 플래시가 여전히 선호된다고 그는 말했습니다.

신뢰성 요구 사항에 관계없이 로깅에 의해 생성되는 데이터의 양이 증가함에도 불구하고 저밀도 FRAM에 대한 작은 시장이 있습니다. 그러나 공간이 최종 프론티어라면 고밀도는 FRAM의 다음 프론티어입니다.

“확실히 기존 기술에는 어떤 종류의 밀도 제한이 있습니다.”라고 Chettuvetty는 말했습니다. 그는 자세히 설명할 수 없었지만 Infineon은 다양한 재료를 살펴봄으로써 FRAM을 16Mb 이상의 밀도로 확장하는 방법을 모색하고 있습니다.

FRAM은 다른 메모리에 비해 스위칭 에너지가 낮기 때문에 비휘발성과 낮은 전력 소비 때문에 거의 40년 동안 버텼습니다. Coughlin/Handy 보고서에서 언급한 바와 같이 신흥 메모리는 다른 모든 신흥 메모리 유형을 합친 것보다 더 많은 단위 판매량을 기록한 것으로 보입니다. FRAM의 낮은 쓰기 에너지를 활용하는 애플리케이션 중 하나는 Fujitsu가 만든 지하철 요금 카드용 RFID 칩입니다. 각 거래는 조사 무선 신호에서 수확한 에너지로 구동됩니다.

FRAM이 직면한 문제는 역사적으로 납과 비스무트의 물질 문제로 인해 표준 CMOS 프로세스와 통합하기가 어려웠기 때문에 더 작은 프로세스에서는 잘 확장되지 않는다는 것입니다 . 확장성의 핵심 . 오늘날 세 가지 유형의 FRAM 셀(커패시터 기반 FRAM, 강유전성 전계 효과 트랜지스터(FeFET) 및 강유전성 터널 접합)에 대한 개발 작업이 계속되고 있습니다. 보고서는 지난 10년 동안 새로운 무연 및 무비스무트 소재가 FRAM에 대한 새로운 열정을 불러일으켰다고 보고서에서 밝혔습니다.

독일 드레스덴의 FMC(Ferroelectric Memory Company)는 FRAM의 한계를 극복하기 위해 2011년 NAMLABS에서 발표한 산화하프늄 연구를 기반으로 구축하고 있습니다. 하프늄 산화물은 거의 모든 HKMG(high-Κ metal-gate) 프로세스 노드에 대한 게이트 절연체 역할을 할 수 있으므로 표준 HKMG 트랜지스터를 채택하고 게이트 절연체를 수정하여 강유전체가 되어 비휘발성 HKMG 트랜지스터인 FeFET를 생성할 수 있습니다.

FRAM과 ReRAM 모두 유사한 성공과 과제를 공유합니다. 둘 다 방사선 내성이 있고 더 작은 밀도에서 어느 정도 성공을 거두었지만 ReRAM도 밀도를 확장하고 개별 메모리로 상용화하는 데 어려움을 겪고 있습니다. Weebit Nano는 틀림없이 가장 활동적이고 유명한 ReRAM 회사이며, 이산 실리콘 산화물 ReRAM에 필요한 선택기 기술을 개발하는 데 중점을 두고 있습니다.

ReRAM은 선택기의 발전으로 장벽을 허무는 것을 목표로 합니다.
이스라엘 회사는 Weebit의 발전에 핵심적인 역할을 한 R&D 파트너인 CEA-Leti가 제조한 ReRAM 모듈의 전체 기술 인증을 완료했습니다. Weebit의 Eran Briman 마케팅 부사장은 비휘발성 메모리(NVM)에 대한 JEDEC 산업 표준에 따라 인증이 수행되었으며 Weebit의 임베디드 기술이 대량 생산에 적합함을 확인했다고 말했습니다. ReRAM 데모 칩은 Weebit ReRAM 모듈, RISC-V MCU, 시스템 인터페이스, 메모리 및 주변 장치를 포함하여 내장형 응용 제품을 위한 전체 하위 시스템으로 구성됩니다.


올해 초 Weebit Nano는 초기 ReRAM 모듈을 RISC-V MCU, 시스템 인터페이스, 정적 랜덤 액세스 메모리 및 주변 장치를 포함한 전체 하위 시스템에 어떻게 통합했는지 시연했습니다. (출처: 위빗나노)

그동안 Weebit의 임베디드 ReRAM 모듈은 SkyWater의 미국 생산 팹에서 Weebit에 전달되었습니다. 이는 Weebit ReRAM의 실리콘 웨이퍼가 생산 팹에서 받은 첫 번째 사례입니다. 프로세스 흐름을 통해 고객의 시스템 온 칩(SoC) 설계에 보다 쉽게 ​​채택할 수 있습니다.

Briman은 인터뷰에서 EE Times와의 인터뷰에서 Skywater 배송이 주요 이정표라고 말했습니다. 이 회사는 CEA-Leti와 함께 최근 자사의 ReRAM 선택기가 표준 재료 및 도구를 사용하여 개별 칩에 필요한 고밀도를 달성하는 동시에 향후 SoC를 위해 더 높은 NVM 밀도에 임베디드 애플리케이션을 맞출 수 있는 방법을 시연했습니다. 이것은 셀렉터가 TSMC와 같은 파운드리에서 임베디드 장치에 통합될 수 있다는 것을 의미한다고 그는 말했습니다. “그것은 메모리 어레이의 크기를 줄일 수 있다는 것을 의미하기 때문에 상당히 중요합니다.”


Weebit의 임베디드 ReRAM 모듈은 SkyWater의 미국 생산 팹에서 회사로 전달되었으며, 표준 도구와 성숙한 프로세스 흐름으로 ReRAM을 제조할 수 있음을 보여줍니다. (출처: 위빗나노)

선택기를 세밀하게 조정하는 것은 실제로 액세스해야 하는 특정 셀만 액세스하고 다른 모든 셀은 연결이 끊어지고 영향을 받지 않도록 하기 때문에 매우 중요합니다. 내장형 ReRAM 설계는 전통적으로 트랜지스터를 선택기 장치로 사용했지만 메모리 비트의 셀 영역을 늘리고 개별 칩에 필요한 고밀도를 지원할 수 없습니다. ReRAM을 추가로 개발하기 위한 다른 접근 방식에는 칩당 비트 용량을 개선하고 비용을 최소화할 수 있는 3D 스택 ReRAM 교차점 구조 및 기술이 포함됩니다.

Weebit은 2년 전에 개별 ReRAM 개발을 가속화하기 시작했는데, 당시에는 잠재 고객의 긴급한 요구와 확장 문제에 부딪히면서 개별 ReRAM이 NOR 플래시를 대체할 수 있는 현실적인 기회에 의해 추진되었습니다. CEO인 Coby Hanoch가 이전에 EE Times에 말했듯 이 임베디드 ReRAM 수익은 선택기를 포함하여 이산 전선의 발전에 자금을 지원하는 반면 뉴로모픽 컴퓨팅 애플리케이션에 대한 투자 기회는 장기적인 기회였습니다.

Infineon의 FRAM과 마찬가지로 Weebit의 ReRAM은 산업 등급이므로 특히 플래시가 방사선을 처리할 수 없는 자동차 및 항공 우주를 포함한 열악한 환경에 유용하다고 Briman은 말했습니다. “우리는 방사선에 매우 강합니다. 우리는 고온에서 매우 견고합니다.”

Yole Group이 발표한 다른 연구에서는 내장형 ReRAM 시장이 5년 안에 10억 달러에 도달할 것으로 예상하고 있으며 파운드리, 팹 및 IDM에서 많은 관심이 있다고 그는 말했습니다.


Weebit Nano의 Eran Briman
Briman은 ReRAM의 주요 과제는 더 낮은 프로세스 노드로 계속 축소하는 것이라고 말했습니다. Weebit은 곧 22nm 및 8Mb 메모리 모듈을 테이핑하고 있으며 “우리는 이미 훨씬 더 발전된 프로세스 노드를 조사하고 있습니다.” 그러나 모든 노드는 자격에 대한 자체적인 희망을 가지고 있으며 축소할 때 메모리 셀의 전류와 전압을 유지하면서 안정성과 내구성을 보장하기 때문에 앞으로 많은 기술적 과제가 있다고 그는 말했습니다. “메모리 어레이가 더 작은 임베디드 시장에서 시작하는 것이 이 시장에 더 잘 진입하는 것입니다. 임베디드 공간에는 충분히 큰 시장 기회가 있습니다.”

Coughlin/Handy 보고서에 따르면 Weebit 외에도 현재 특수 응용 프로그램에 사용할 수 있는 몇 가지 ReRAM 장치가 있습니다. CrossBar는 자사의 파운드리 파트너인 SMIC가 만든 40nm ReRAM을 샘플링했으며 Microsemi와 Microchip은 기술을 라이선스했습니다. 이 회사는 가장 최근 에 보안 컴퓨팅 응용 프로그램에서 생성할 수 있는 ReRAM 기반 암호화 물리적 복제 불가능 기능 키 의 형태로 하드웨어 보안 응용 프로그램에 사용하기 위해 기술을 적용하는 데 주력해 왔습니다. 이러한 키는 새로운 것이 아니지만 온라인 뱅킹과 은행 카드나 지불 단말기와 같은 전용 전자 장치에 대한 디지털 보안 이상의 기회를 창출한 사물 인터넷의 출현으로 인해 더 많은 관심을 받고 있습니다.

Coughlin/Handy 보고서에 언급된 ReRAM의 다른 응용 분야에는 인공 지능이 포함됩니다. PCM과 함께 매우 짧은 시간에 낮은 정밀도로 막대한 양의 수학을 수행할 수 있는 매우 단순화된 유형의 추론 엔진인 신경망으로 일반적으로 알려진 아키텍처에 선형 가중치 구성을 저장하는 데 매우 적합합니다.

MRAM은 더 높은 밀도를 달성합니다.
FRAM 및 ReRAM과 달리 MRAM은 이산 및 내장형 메모리 모두에서 크기 조정 및 상당한 밀도 제공에서 더 많은 발전을 이루었으며 다양한 형태로 제공되며 일반적으로 메모리 제품으로 간주되는 9개 중 2개는 토글 모드 및 스핀 전달 토크입니다. STT). Toggle MRAM은 SRAM 교체를 위한 영구 메모리 표준이 되고 있으며 운송, 항공 우주, 기업, 의료, IoT 및 산업 응용 프로그램에 사용됩니다.

STT-MRAM 밀도가 확장됨에 따라 Toggle에 비해 더 높은 밀도, 낮은 전력 소비 및 비용 절감을 달성할 수 있으므로 점점 더 데이터 센터 응용 프로그램을 위한 범용 메모리가 되는 방향으로 나아가고 있습니다. Everspin Technologies는 디스크리트 및 임베디드 메모리 장치용 제품 라인을 보유하고 있습니다. 가장 최근에 회사는 산업용 IoT, 네트워크/엔터프라이즈 인프라, 프로세스와 같이 데이터 지속성 및 무결성, 저전력, 짧은 대기 시간 및 보안이 가장 중요한 전자 시스템에 사용하도록 설계된 EMxxLX STT-MRAM 장치를 출시했습니다. 자동화 및 제어, 항공/항공전자, 의료, 게임 및 FPGA 구성.

EE Times와의 인터뷰에서 사장 겸 CEO인 Sanjeev Aggarwal은 자사의 최신 MRAM이 고밀도에서 NOR 플래시를 대체할 수 있다고 말했습니다. Everspin의 경우 임베디드보다 개별 MRAM 제품을 시장에 출시하는 것이 더 빠릅니다. 후자의 경우 GlobalFoundries와 같은 파운드리 파트너와 상당히 협력하고 있습니다. Toggle과 STT MRAM 모두 온도 범위, 속도 및 데이터 보존 측면에서 산업용 애플리케이션에 적합하지만 “STT MRAM을 사용하면 MRAM을 저밀도에서 고밀도로 확장할 수 있습니다.”라고 Aggarwal은 말했습니다. 또한 더 작은 노드로 이동함에 따라 더 적은 전류가 필요합니다.


Everspin Technologies의 Sanjeev Aggarwal
Everspin은 거의 5년 동안 데이터 센터 애플리케이션용 DDR 인터페이스 MRAM을 출하했으며 SRAM 대체 시장 점유율을 높이고 있다고 그는 말했습니다. 대체할 MRAM의 다른 후보는 NOR 플래시입니다. 다른 신흥 메모리에 비해 장점 중 하나는 지울 필요가 없다는 것입니다. “저항성 메모리를 사용하면 더 긴 대기 시간과 더 높은 전력을 유발하는 삭제 명령이 필요합니다.”라고 Aggarwal은 말했습니다. 또 다른 시장 기회는 NOR 플래시를 사용하는 FPGA 내에 있다고 그는 덧붙였다.

MRAM에 대한 모든 기회에도 불구하고 Aggarwal은 저전력 DRAM 또는 NAND 플래시를 포함하여 DRAM을 완전히 대체할 수 있다는 환상을 가지고 있지 않습니다. “비용 측면에서 우리가 결코 경쟁력이 없을 것이라고 생각하지만 우리가 할 수 있는 것은 인접 메모리 역할을 하는 것입니다. 인접 메모리로서 STT MRAM은 여전히 ​​상당한 다리를 가지고 있습니다.”

그는 데이터가 이동해야 하는 거리를 최소화하면서 올바른 워크로드에 올바른 메모리가 사용되도록 메모리 리소스 사용을 최적화하는 것을 목표로 하는 CXL(Compute Express Link) 인터페이스를 통해 인접성을 촉진할 수 있다고 말했습니다. “CXL이 하는 일은 장치 측에서 지연 시간이 다른 메모리를 처리할 수 있도록 하는 것입니다. 그런 의미에서 CXL은 MRAM과 함께 사용할 수 있는 것입니다.”

Coughlin/Handy 보고서는 MRAM의 주요 이점이 더 적은 수의 마스크를 필요로 하여 생산 복잡성을 낮추는 것이라고 지적합니다. PCM이 아직 실행 가능한 파운드리 기술로 등장하지 않았고 ReRAM이 여전히 주로 연구 개발 단계에 있는 상황에서 임베디드 MRAM은 데이터 및 코드 저장을 위한 임베디드 NOR 플래시를 논리적으로 대체할 것으로 보입니다. 또한 방사선에 대한 내성이 있어 공간 강화 응용 분야에 유용합니다. Everspin은 최근 QuickLogic Corporation과 MRAM 기술, 설계 및 백엔드 제조 서비스를 제공하는 계약을 체결했습니다. 그들은 함께 확인된 미래의 국방부(DoD) 전략 및 우주 시스템 요구 사항을 지원하기 위해 전략적 방사선 강성, 고신뢰성 FPGA 기술을 개발하고 시연할 것입니다.

Everspin 외에도 다른 주목할만한 MRAM 개발자로는 Avalanche Technology가 있습니다. Avalanche Technology는 수직 STT MRAM의 자체 버전을 몇 년 동안 작업해 왔으며 주로 군용 제품에 중점을 두었습니다. 보고서는 지적했다. 2022년 초에 회사는 저장된 데이터를 처리하고 얼굴 감지에 사용되는 인메모리 컴퓨팅 MRAM 칩을 시연했습니다. 삼성의 칩은 AI 작업 속도를 높이기 위해 MRAM 장치의 64 × 64셀 크로스바 어레이에 컴퓨팅 요소를 추가합니다.

최근 몇 년 동안 주목을 받은 또 다른 신흥 메모리는 PCM이지만 시장에서 예상되는 성장은 Micron과 Intel이 공동 개발한 3D XPoint 기술에 전적으로 의존했습니다. Micron 이 2021년 3월에 제품 개발이 거의 없이 해당 시장에서 퇴장 하고 인텔이 상당한 개발 투자 및 마케팅 후 2022년 여름에 Optane SSD 및 DIMM 을 좀먹는 상황 에서 Handy는 인텔이 그들이 소비한 기술의 집을 찾을 수 있을지 궁금해합니다. “많은 돈.” Optane은 성공하지 못했기 때문에 누군가가 더 이상 그것을 쫓을 것이라고 의심하지 않지만 Intel이 특허를 매각하거나 엔지니어가 다른 응용 프로그램을 위해 PCM을 수행할 수 있는 별도의 회사를 운영하기 위해 인수하더라도 그는 놀라지 않을 것 입니다.


인텔 옵테인은 현재까지 유일하게 상용화된 PCRAM을 대표하며, 회사는 3D NAND SSD 위와 DRAM 아래의 스토리지 계층 구조에서 또 다른 계층으로 포지셔닝했습니다. (출처: 인텔사)

전반적으로 Handy는 방사선 내성과 같은 특정 속성에 대한 새로운 메모리가 필요한 틈새 시장이 있다고 말했습니다 . “사람들이 현재 떠오르는 메모리 기술에 대해 진정으로 가치를 두고 있는 곳은 전력에 민감한 애플리케이션이므로 이 기술이 발판을 마련하기에 좋은 곳이 될 것입니다.” 그러나 궁극적으로 떠오르는 메모리는 더 높은 밀도에서 문제를 해결할 수 있는 잠재력이 있더라도 여전히 영원한 “닭과 달걀” 문제에 직면해 있다고 그는 말했습니다.

“더 엄격한 공정으로 가면 더 높은 밀도를 얻을 수 있지만 더 엄격한 공정으로 가려면 비용이 듭니다. 당신은 거기에 갈 것을 보장하기 위해 볼륨 시장을 가져야 하며, 그것이 이러한 기술을 방해하는 것입니다.”


미션 및 안전에 중요한 응용 프로그램에 사용되는 안전한 언어에 대한 독단적인 견해

임베디드 애플리케이션의 메모리 관리에 대해 논의한 여기에 게시 된 기사 는 자동차보험료비교견적사이트 안전에 중요한 시스템 개발, 신뢰성 및 의존성과 같은 보다 광범위하고 매우 민감한 주제를 다루었습니다. 이 토론을 계속하고 몇 가지 과제를 강조하고 이러한 시스템을 위한 DBMS를 만드는 동안 배운 몇 가지 교훈을 공유하는 것이 가치가 있다고 생각합니다. 내 관점은 미션 및 안전에 중요한 응용 프로그램에 대한 데이터베이스 관리의 관점에 있지만 내 경험은 매우 보편적이며 모든 관련 소프트웨어 개발에 적용할 수 있다고 생각합니다.

Rust, Go, C# 등과 같은 신뢰할 수 있는 언어 및 기타 소프트웨어 장비 토론의 맥락에서 Rust는 가장 논란이 많은 옵션입니다. 의심할 여지 없이 이 최신 언어는 많은 개발자와 관리자 모두의 마음을 사로잡았습니다. “컴파일은 실행과 같다”는 약속은 안전 및 미션 크리티컬 소프트웨어의 궁극적인 목표인 안전과 효율성에 대한 동화처럼 들립니다.

메모리 오버런 버그는 모든 종류의 소프트웨어에 존재하며 찾기 및 수정하기 어렵습니다. 그것들을 제거하는 데 수많은 시간이 소요되어 수만 명의 소프트웨어 개발자에게 엄청난 슬픔을 안겨줍니다. 특히 잘못된 입력 매개변수 또는 버퍼에 충분한 공간 할당 실패로 인해 발생하는 버퍼 오버플로를 해결하기 위해 정교하고 값비싼 도구가 존재합니다. Rust 컴파일러는 배열의 경계를 넘어서는 접근을 포착합니다:

let arr: [i32; 2] = [1, 2];
println!(“안녕하세요! {}”, arr[2]);
컴파일러가 손을 잡습니다.

오류: 이 작업은 런타임에 패닉 상태가 됩니다.
–> src/ main.rs :4:34
|
4 | println!(“안녕하세요! {}”, arr[2]);
| ^^^^^^ 범위를 벗어난 인덱스: 길이는 2이지만 인덱스는 2
그러나 슬라이스를 사용하는 동안 비슷한 시도가 발생하면 Rust가 “패닉” 상태가 됩니다( 패닉! 은 복구할 수 없는 오류가 발생했을 때 프로그램을 종료하는 매크로입니다). 물론 이것은 C의 경우처럼 지옥으로 가는 “정의되지 않은 동작”은 아니지만 “패닉”을 처리하려면 노력이 필요합니다(항상 가능하지는 않습니다). 버퍼 오버플로는 항상 컴파일러에 의해 해결되지만 예를 들어 산술 오버플로는 “디버그” 버전에서만 확인됩니다. 다음과 같은 사소한 사용 사례를 고려하십시오.


pub fn foo(x: u32, y: u32) {
println!(“xy={}”, xy);
}
선술집 FN 메인() {
x = 1u32라고 하자;
y = 2u32라고 하자;
foo(x,y);
}
디버그 및 릴리스 버전의 출력은 다음과 같습니다.

$ rustc overflow.rs
$./오버플로
스레드 ‘main’이 ‘오버플로우로 빼기 시도’에서 패닉, overflow.rs :2:24
참고: 역추적을 표시하려면 `RUST_BACKTRACE=1` 환경 변수로 실행하십시오.
rustc -O overflow.rs
./과다
xy=4294967295
Rust 순수주의자들을 화나게 할 위험을 무릅쓰고 Option 유형의 사용에 대해 살펴보겠습니다. 선택적 값(“아마도”) 유형은 Kotlin, Scala, Rust, C# 등 대부분의 최신 언어에 존재합니다. Option 유형은 널 포인터 문제를 방지하는 데 큰 도움이 됩니다. 그것. 즉, Rust에서 옵션 유형을 사용하는 것은 무료가 아닙니다. 옵션 유형을 사용하면 약간의 성능 오버헤드가 발생하지만 대부분 사용 복잡성이 추가됩니다. 다음 선언을 고려하십시오.

엑스: 옵션;
본격적으로 x가 참조되는 모든 곳에서 다음과 같아야 합니다.

If let Some(v) = x {
// v는 X 유형입니다.

}
그러나 v에 대한 값이 있다는 사실을 안다면 문제를 단순화하고 unwrap()을 사용하고 if()를 제거하여 본질적으로 포인터(별표) C 스타일을 역참조할 수 있습니다.

let v = x.unwrap();
그러나 가정에도 불구하고 거기에 가치가 없으면 응용 프로그램은 패닉에 직면하게 됩니다! Java 및 C#의 NullPointerException과 유사합니다.

독단적인 견해
독단적으로 들리기는커녕, 위에서 강조한 프로그래밍 뉘앙스보다 “안전한” 언어가 부과하는 이데올로기적 제한에 더 관심이 있습니다. 경합 상태, 교착 상태 등과 같은 동기화 시나리오를 고려하십시오. Rust 컴파일러는 하나의 스레드만 개체를 ​​소유(수정할 수 있음을 의미)하도록 허용하여 경합 상태를 처리합니다. 교착 상태 방지는 Rust 제작자가 단일 스레드를 단일 객체만 소유하도록 제한하지 않았기 때문에 프로그래머의 손에 달려 있습니다. 이는 교착 상태의 가능성을 만듭니다. 스레드 T1이 개체 O1의 소유권을 가지고 있고 O2를 얻기 위해 대기하고 있는 반면 스레드 T2는 O1을 소유하기 위해 기다리는 개체 O2의 소유권을 가지고 있는 경우입니다.

같은 맥락에서 객체 소유권의 개념은 head와 tail이 동기화 없이 독립적으로 다른 스레드에서 수정되는 효율적인 링 버퍼를 구현하는 것을 거의 불가능하게 만듭니다. 일반적으로 여러 스레드에서 독립적으로 수정된 요소/노드로 복잡한 데이터 구조(예: 그래프)를 구현하는 것은 힘든 경험입니다. 때때로 그래프의 모든 노드를 배열에 추가하고 인덱스를 통해 참조하는 것이 더 쉽습니다.

스타일은 Fortran을 생각나게 합니다. 1970년대에 언어에 포인터가 없었을 때 개발자들이 그래프를 다루는 방식이었습니다! 여기에서 논의된 블록 기반 바운디드 큐(BBQ) 와 같은 스레드 간에 효율적인 통신 채널을 구현하는 경로를 원활하게 하는 연구가 있었습니다 . 그럼에도 불구하고 Rust에서 동시 액세스를 구현하는 것이 상당히 중요하다는 점을 보여줍니다.

실시간 결정론적 애플리케이션은 종종 간과되지만 현대 임베디드 시스템 세계에서 중요한 분야를 나타냅니다. 요즘 실시간 운영 체제(RTOS)가 주류이지만 네트워크 스택, 스토리지 및 데이터베이스 관리와 같은 다른 저수준 실시간 구성 요소는 덜 일반적입니다. 실시간 애플리케이션은 예를 들어 하드웨어, 네트워크 또는 스토리지에 직접 액세스하는 동안 다양한 작업의 타이밍 제약을 적용할 수 있어야 합니다. 이러한 시스템에서는 엄격한 실시간 제약 조건을 충족하기 위해 개체를 결정적으로 할당 및 해제해야 합니다. 가비지 수집(일반적으로 안전한 언어에서 발견됨)이 없더라도 개체를 제거하면 다른 중단할 수 없는 수정이 연속적으로 발생하여 완료 시간을 미리 알 수 없습니다.

기본 운영 체제, 스토리지 서비스 및 기타 실시간 시스템 구성 요소는 특수 제작된 메모리 관리자를 통해 이러한 문제를 일상적으로 해결합니다. 맞춤 할당자는 물론 Rust로 작성할 수 있습니다. 그러나 백그라운드 가비지 수집은 실시간 시스템의 옵션이 아니므로 객체 제거는 전경에서 이루어져야 합니다. 큰 컬렉션의 요소(이를 나타내는 트리의 루트와 같은)가 할당 해제되면 모든 관련 요소(트리의 노드)가 재귀적으로 수정/제거되는 경우가 많습니다. 이것은 길고 가장 중요한 것은 예측할 수 없는 시간이 걸릴 수 있는 반면 개체 또는 관련 변수를 일관되지 않은 상태로 두는(그래서 삭제된 개체를 참조하도록) 안전한 언어에서 절대 안 됩니다.

Rust의 실질적인 오버헤드 중 하나는 언어의 정신을 파악하는 가파른 학습 곡선입니다. 틀림없이 Rust는 “그냥 또 다른 도구”입니다. 소프트웨어 엔지니어의 도구 상자에는 많은 언어와 도구가 있습니다. 그러나 Rust 개념은 무엇보다도 코드의 안전에 관한 것이며 그 패러다임은 완전한 동의를 요구합니다. 이데올로기적 참호는 죽기 어렵습니다. 센서의 값을 읽고 처리하는 동안 보장된 몇 마이크로초의 이득을 포기하는 것은 쉽지 않습니다. C로 응용 프로그램을 만드는 데 익숙한 미션 크리티컬 소프트웨어 개발자는 항상 최적화를 주시할 가능성이 높으며 Rust의 get_unchecked() 를 사용 하여 경계 검사를 우회하는 것이 유혹적입니다.

안전한 언어, 특히 Rust는 안전한 프로그램을 제공하는 중요한 목표를 다루려고 하지만 오류 없는 코드를 보장하지는 않습니다(위 기사에서 지적한 대로). 반대로 Rust 언어의 더 높은 복잡성은 추가 오류와 추가 개발 시간으로 이어질 수 있습니다. Rust에 도입된 가혹한 안전 조치는 “단순할수록 좋다”는 개념과 모순되며 실제로 작업을 수행하는 데 방해가 될 수 있다고 주장할 수 있습니다. 일화적으로, 그것은 자동차가 최대 시속 4마일로 이동하도록 요구하고 도로 차량 앞에서 붉은 깃발을 든 남자가 걸을 것을 요구하는 영국의 19세기 “적기법”과 유사합니다. 그것은 자동차의 목적에 어긋나지 않습니까?

결론
위의 예는 Rust(또는 다른 안전한 언어)가 임베디드 시스템 개발에서 빛을 보지 않아야 한다고 말하는 것이 아닙니다. 나는 안전한 언어를 사용하는 것이 특히 안전에 중요한 소프트웨어가 개발자의 레이더에 있을 때 주의해서 다루어야 하는 보안 감각을 만들 수 있고 필연적으로 만든다는 단순한 사실을 강조하는 것뿐입니다. 결국 언어에 관계없이 완전히 “안전한” 코드는 결함이 있고 해로울 수 있습니다. “플러스” 대신 “마이너스”를 쓰면 은행 계좌에서 인출되고 어떤 언어 측정도 이를 포착하지 못합니다. 유일한 실용적인 방법은 개발자가 코드를 살펴보는 것입니다. 이것이 바로 안전 및 미션 크리티컬 애플리케이션이 사실 안전합니다. MISRA 코딩 스타일 채택에서 자동차 기능 안전 ISO 26262 표준, 항공 DO-178C 인증 프로세스에 이르기까지 개발 안전 조치는 항공기가 이륙할 때마다 안전하게 착륙하도록 보장합니다.


미국의 EV 충전 문제 이해

미국의 전기 자동차 운전자보험 판매가 크게 증가하고 미국 정부가 최근 전기 자동차 인프라 투자에 50억 달러, 국내 전기 자동차 배터리 생산에 박차를 가하기 위해 10억 달러 이상을 약속했지만 공공 충전과 관련된 다양한 문제는 광범위한 채택에 상당한 어려움 을 안겨주고 있습니다.

원자재, 범위 불안, EV 충전 인프라의 확산 및 잠재적인 전력망 부담에 대한 문제는 철저히 공개되었지만 이러한 문제와 기타 문제에 대한 뉘앙스는 더 깊이 파고들 필요가 있습니다.

지속 가능성 비영리 RMI 의 무탄소 모빌리티 책임자인 Dave Mulaney는 “EV 보급률과 활용도가 낮은 한 우리는 괜찮습니다.”라고 말했습니다 . “그러나 결국 EV가 도처에 있고 사람들이 지속적으로 충전하게 되면 인프라가 필요하게 될 것입니다. 문제는 사람들이 적절한 비용으로 전기 자동차를 사용하면서 장기적인 요구 사항을 충족할 수 있도록 올바른 순서로 솔루션을 배포하는 방법은 무엇입니까?”

배터리 제한 충전 속도
이러한 요구 사항 중 하나는 집 밖에서 더 빠르게 충전하는 것입니다.

현재 가정용 충전에 일반적으로 사용되는 레벨 1 및 2 충전기(둘 다 일부 공공 충전소에서 사용 가능)는 200마일 범위를 달성할 수 있을 만큼 EV를 충전하는 데 각각 하루 종일에서 8시간까지 걸릴 수 있습니다. .


EV 배터리에 DC 전원을 직접 공급하는 이른바 레벨 3 급속 충전기는 기껏해야 약 25분 만에 200마일을 충전할 수 있습니다.

그것은 엄청난 개선입니다. 그러나 전문가들은 25분이 많은 소비자들, 특히 장거리 여행을 위해 고속도로를 달리는 것을 좋아하는 소비자들에게 장애물이 된다고 말합니다.

Mullaney는 “이상적인 시나리오는 [충전 시간]이 내 차량에 주유하는 것과 같아야 한다는 것입니다.”라고 말했습니다. “근데 그게 물리적으로 가능한 건가요? 오늘날의 배터리로는 그렇지 않습니다.”

문제는 리튬 이온 배터리 자체입니다. 충전 속도가 빠를수록 더 많은 피해를 입힙니다. EV의 배터리 시스템은 완전 충전에 가까워질수록 충전 프로세스를 낮추는 것을 알고 있습니다.

다양한 미국 에너지부 연구실에서는 이러한 제한을 극복하고 고속 충전 시간을 10분 이하로 줄이는 방법을 연구하고 있습니다.

American Chemical Society 회의 전 언론 브리핑에서 Idaho National Laboratory의 에너지 저장 및 전기 자동차 부서 책임자인 Eric Dufek은 급속 충전을 어렵게 만드는 것은 실제 리튬 이온이 배터리에서 얼마나 빨리 이동하는지를 조절하는 것이라고 말했습니다. 너무 빨리 움직이면 도금이나 금속 리튬이 형성되어 배터리를 손상시킬 수 있습니다.

Dufek은 “우리는 리튬 이온을 훨씬 더 빠르게 앞뒤로 이동하고 고속 충전과 관련된 성능 저하를 최소화할 수 있는 고급 전해질뿐만 아니라 다양한 유형의 충전 프로토콜을 개발했습니다.”라고 말했습니다.

솔루션은 긍정적인 결과를 보여주었습니다.

“[우리는] 리튬 금속을 도금하지 않고도 90% 이상의 충전 수용성을 달성할 수 있었습니다.”라고 Dufek은 말했습니다. “그리고 우리는 실제로 최소 600주기를 통해 이를 확장할 수 있었습니다.”

업그레이드를 계획 중인 전력망 운영자
현재 존재하는 전력망 자체가 EV 충전을 처리할 수 있는지에 대한 우려는 크지 않습니다.

국립재생에너지연구소( National Renewable Energy Laboratory)의 수석 엔지니어인 앤드류 마인츠(Andrew Meintz) 는 “그리드의 이전 발전과 EV를 지원하기 위해 발전량이 증가할 것으로 예상되는 속도를 보면 새로운 부하는 실제로 괜찮습니다. NREL’s) 통합 모빌리티 과학 센터 .

NREL은 EV 충전으로 예상되는 부하를 얼마나 잘 처리할 수 있는지 이해하기 위해 애틀랜타와 미니애폴리스의 전력망을 조사했습니다. 충전 인프라 얼굴.

Meintz는 “20% 또는 30% 이상 채택되면 주거 지역에서 변압기를 교체해야 하고 라인을 업그레이드해야 한다는 것을 알기 시작합니다. 그러나 이는 유틸리티가 항상 거치는 일반적인 프로세스입니다.”라고 Meintz는 말했습니다. . “이것은 실제로 다음과 같은 질문으로 귀결됩니다. 램프 업이 얼마나 빠르며 적절하게 대응할 수 있도록 충분히 멀리 내다보고 있습니까?”

충전기에는 안정성 문제가 있습니다.
현재 그리드가 EV 충전 수요를 처리할 수 있도록 보장하는 것보다 더 중요한 것은 EV 충전기가 작동하는지 확인하는 것입니다. Plug In America 조사에 따르면 고속 충전기 사용자의 34%가 고장난 충전기가 문제라고 말합니다.

PwC의 US Automotive Advisory Practice 파트너인 Akshay Singh은 “기술적인 문제는 결제 시스템을 통합하고 우수한 사용자 경험을 창출하는 데 있습니다.”라고 말했습니다. “그리고 신뢰성. 요즘에는 EV 충전기의 3분의 1 정도가 일반적으로 다운되거나 작동하지 않습니다.”

모든 고속 충전이 동일한 것은 아닙니다. Tesla의 독점 슈퍼차저 네트워크 사용자는 일반적으로 매우 높은 안정성을 보고합니다. 그러나 CCS(Combined Charging System) 표준을 기반으로 하는 비 Tesla 고속 충전도 요금이 좋지 않습니다.

EV 사용의 온상인 샌프란시스코 베이 지역의 연구원들은 657개의 CCS 충전기가 있는 181개의 공공 충전소를 방문했으며 72.5%만 작동하는 것으로 나타났습니다. 문제에는 깨진 커넥터, 빈 화면, 오류 메시지 및 결제 시스템 오류가 포함됩니다.

그리고 EV 충전기의 신뢰성이 계속해서 문제가 된다면 충전 네트워크가 발전하는 방식에 영향을 미칠 수 있습니다. RMI의 Mullaney는 “훨씬 더 분산된 네트워크에 대해 이야기할 때 더 많은 자산, 더 많은 유지 관리 문제 및 더 많은 인력이 필요하다는 것을 의미합니다.”라고 말했습니다.

집중 충전은 그리드에서 더 높은 국지적 수요를 창출하지만 이는 나쁜 일이 아닐 수 있습니다.

Mullaney는 “집중화는 유지 관리에 대한 수요를 낮춥니다”라고 말했습니다. “마일 떨어져 있는 20개의 충전기보다 다루기가 더 쉬운 단일 주차장에 20개의 충전기가 있을 수 있습니다. 집중된 네트워크에 서비스를 제공하는 것이 더 쉽습니다.”

함대 전력 ‘그리드의 문제’
즉, 현재 충전 인프라는 종종 중앙에서 소유, 운영 및 충전되는 버스 및 트럭과 같은 EV 차량에 전력을 공급할 준비가 되어 있지 않을 가능성이 높으며 여러 메가와트 충전 기능이 필요합니다(고급 EV 고속 충전기는 최대 정격 120kW). 그러나 충전 차량은 수요와 그리드 용량이 확장될 때까지 과도기적 솔루션이 필요합니다.

Meintz는 “전력회사에 가서 ‘여기에 5MW 사이트가 필요하지만 향후 5년 또는 10년 동안은 사용하지 않을 것입니다’라고 말하고 싶지 않을 것입니다.”라고 말했습니다.

NREL과 다른 사람들은 대규모 EV 충전이 필요하지만 현재 실행 가능하지 않은 자립형 그리드를 효과적으로 구축하는 마이크로그리드 솔루션 을 연구하고 있습니다. 종종 이러한 마이크로그리드는 배터리 에너지 저장 시스템의 태양광 패널과 같은 분산 에너지원으로 전력을 공급받습니다. 캐싱 회사가 광대역 인프라가 따라잡을 때까지 브라우징 경험이 더 빨라질 수 있도록 캐싱 회사가 사용자에게 더 가까운 콘텐츠를 저장했던 초기 월드 와이드 웹에 비유할 수 있습니다.

작년에 국제 에너지 회사인 National Grid와 Hitachi Energy 는 EV 차량의 충전 요구에 대한 연구를 발표했습니다 .

Hitachi Energy의 미주 운송 부문 부사장인 Daniel Simounet은 “전력은 전력망의 문제입니다. “100대의 EV 버스가 각각 100kWh로 밤새 충전하려면 현장에 여러 메가와트가 필요합니다. 그리고 고속도로를 따라 재충전해야 하는 모든 트럭이 있습니다. 메가와트 충전 표준이 다가오고 있지만 지금 당장은 병목 현상이 있습니다.”

히타치 에너지는 보다 강력한 충전 인프라를 지원하기 위해 그리드 업그레이드가 이루어질 수 있을 때까지 소규모 공간에서 효율적인 차량 충전을 가능하게 하는 솔루션을 개발했습니다.

미국 정부가 최근 EV 인프라 투자에 50억 달러를 약속한 것은 “훌륭한 계약금”이지만 더 많은 조치가 필요하다고 NREL의 Meintz는 말했습니다.


머신 비전을 사용하여 제조 성능 향상

머신 비전이나 다른 종류의 자동차다이렉트보험 사용하여 작업 현장이나 플랜트에서 성능, 생산성 및 효율성을 향상시키는 방법이 궁금하다면 지금이 가능한 것을 탐색하기에 이상적인 시기입니다. 자동화 기술에 대한 상업 부문의 수요 는 팬데믹 이전 수준으로 회복되었습니다 . 여러 산업의 최전선에서 머신 비전 및 기타 혁신으로 전환되었습니다.

상업용 머신 비전은 2030년까지 약 260억 달러 규모 의 글로벌 산업이 될 것으로 예상됩니다. 다음은 제조 분야에서 머신 비전을 사용하여 보다 효과적이고 경쟁력 있고 미래 지향적이 되는 방법을 보여줍니다.

머신 비전(MV)이란 무엇입니까?
애플리케이션을 탐색하기 전에 머신 비전의 기본 정의를 설정하는 것이 도움이 될 것입니다. MV는 카메라, 레이저, 렌즈 및 분광기와 같은 이미징 기술을 사용하여 분석, 검사 및 자동화 기능을 제공합니다. 최종 목표는 향상된 산업 공정 제어, 자동화된 제품 검사, 예측 장비 유지 관리 및 기타 부가 가치 위업입니다.

제조 분야의 머신 비전은 틈새 시장에 관계없이 산업계 전반에 걸쳐 상당한 투자를 주도하고 있습니다. 다음은 머신 비전을 사용하여 제조 성능을 개선하는 몇 가지 방법입니다.

1. 장비 검사 자동화
자동화된 장비 검사는 머신 비전의 가장 중요한 제조 기능 중 하나입니다. 기존의 검사에는 숙련된 직원이 중요한 기계의 여러 지점을 육안으로 검사하여 상태를 확인하고 새로운 유지 관리 문제를 감지합니다. 이 접근 방식에는 능동적인 접근 방식이 필요하지만 가동 중지 시간을 방지하기 위해 머신 핸들러가 필요로 하는 고급 경고를 제공하는 경우는 가끔 있습니다.


머신 비전을 사용하면 중요한 지점에 카메라를 내장하거나 배치하여 분석 목적으로 실시간으로 진행 중인 자세한 시각적 데이터를 캡처할 수 있습니다. 페인트, 솔벤트, 접착제 및 이와 유사한 제품을 제조할 때 탱크 내부 , 배관 시스템, 혼합 및 보관 용기 및 이와 유사한 구조와 같은 까다로운 자산을 검사할 때 생산성과 성능을 크게 높일 수 있습니다. 로봇도 머신 비전을 사용하여 작동 오류를 감지하고 분석할 수 있습니다.

중요 인프라에 대한 이러한 종류의 자동화된 인라인 검사의 가치는 아무리 강조해도 지나치지 않습니다. Run-to-failure 모델은 오랫동안 실용적이지 않았으며 매일 수많은 삶에 영향을 미치는 제조 분야에서는 바람직하지 않습니다. 예측하지 못한 생산 지연(제조업체는 능동적인 머신 텐딩 시스템 및 원격 측정 분석 덕분에 이제 피할 수 있음)은 반복적인 피해를 입히고 특정 필수 산업의 생명을 앗아갈 수 있습니다.

예정되지 않은 가동 중지 시간도 수익성의 적입니다. 누구에게도 새로운 소식이 아니지만 실제 비용은 얼마입니까? 산업 제조는 예상치 못한 기계 가용성 및 사용되지 않는 제조 용량으로 인해 매년 약 500억 달러 의 손실을 입습니다. 머신 비전 검사는 그 수치를 0에 가깝게 떨어뜨릴 수 있으므로 더 나은 주주 수익을 찾고 있는 비용에 민감한 많은 기업들에게 매력적인 투자가 될 수 있습니다.

2. 상세한 디지털 트윈 및 모델 구축
제조업체가 3D 카메라, 이미지 센서 및 사진 분석에 참여하는 수단으로 생산 환경을 갖추면 실시간 프로세스 데이터를 사용하여 구축되고 유지되는 생산 환경의 디지털 트윈도 생성됩니다. 사이버 시스템과 물리적 시스템의 독창적인 조합은 모든 종류의 제조 분야에서 게임 체인저입니다.

John Deere는 제조 성능을 향상시키는 머신 비전의 한 가지 예를 제공합니다. 엔지니어와 유지보수 전문가는 머신 비전 시스템에서 수집한 원격 측정을 사용하여 개별 기계와 전체 공장 환경의 가상 표현을 볼 수 있습니다. 그런 다음 목표가 매우 높은 매우 효율적인 장비 유지 관리, 제품 조립, 공장 최적화 작업 등에 참여할 수 있습니다.

솔벤트, 접착제, 페인트 및 코팅을 다루는 제조 공장을 최적의 상태로 유지하는 것이 중요합니다. 예를 들어, 기계의 성능 저하로 코팅 제품의 무결성이 손상되는 경우 최종 사용자는 현장에서 코팅이 실패할 때까지 문제에 대해 알지 못할 수도 있습니다.

분무, 코팅 및 기타 마무리 공정을 모델링하기 위해 디지털 트윈을 생성하는 것(특히 극한 온도가 관련된 경우)은 비교적 새로운 연구 분야입니다. 여러 당사자 가 투자 조직의 새로운 연구 및 데이터 세트를 적극적으로 요청 하고 있습니다.

3. 분류 및 자재 취급 속도 향상
가시적인 가치를 제공하기 위해 모든 머신 비전 애플리케이션이 복잡할 필요는 없습니다. 숫자를 정확히 파악하기는 어려울 수 있지만 제조업체와 유통업체는 각 교대조와 분기별로 거의 무수한 시간을 들여 들어오고 나가는 화물을 분류하고, 원자재를 처리하고, 조립 라인에서 기본 구성 요소를 보관하거나 거부합니다.

제조업체가 이미징 기술을 사용하여 의약품, 식품 또는 산업용 용매와 같은 제품에 재료를 사용하기 전에 재료의 분자 구조를 조사할 수 있다면 어떨까요? 이것은 근적외선 분광법, X-레이 및 특수 레이저로 구동되는 머신 비전 시스템 덕분에 이미 현실입니다.

수준 이하의 전구체 및 첨가제를 제거하는 것부터 완성된 구성 요소의 물리적 구조 내에서 피어링하는 것까지 머신 비전은 분류 및 재료 취급에 소요되는 시간을 크게 줄일 수 있습니다. 식품 산업 전문가에 따르면 머신 비전은 이물질 과 불량 제품의 99%를 제거할 수 있는 능력을 가지고 있습니다. 이는 이미 다른 산업 분야에서 반복되고 있는 성공 사례입니다.

4. 결함 분류 및 작업 흐름 우선 순위 지정
작업물과 코팅을 검사하는 과정(적용 전, 도중, 후)은 매우 시간이 많이 걸리는 과정입니다. 그러나 머신 비전은 품질 관리(QC) 프로세스에서 속도와 결함 감지를 모두 크게 향상시킬 수 있습니다. 고급 인공 신경망 을 실행하는 머신 비전 시스템 은 이미 그 가치를 입증했습니다.

한 번의 시험에서 엔지니어들은 코팅 검사 시스템을 자동화하여 15가지 유형 의 결함을 감지하고 분류 할 수 있었습니다. 육안으로 합격/불합격 판정을 충분히 내릴 수 있지만 유형, 결함의 심각도 및 이를 완화하는 데 필요한 프로세스에 따라 오류를 정렬하고 우선 순위를 지정하는 데 반드시 도움이 되는 것은 아닙니다. 여기에서 머신 비전은 인간 QC 전문가가 제공하는 유사한 서비스보다 훨씬 더 미묘하고 정확하며 시간 효율적인 서비스를 제공합니다.

제조에 머신 비전 사용
인간의 눈은 훌륭하고 유능한 유기적 기계이지만 궁극적으로 실수하기 쉽고 피로해지기 쉽습니다. 대조적으로, 머신 비전 시스템은 결코 지치지 않고 보다 일관되게 오류 없이 작동하며 기술 지원 없이는 불가능한 재료 구성 및 물리적 구조를 엿볼 수 있습니다. 실질적으로 제조 분야의 머신 비전은 다음을 수행할 수 있습니다.

신제품 출시 시간을 단축합니다.
지속적인 비용과 재료 낭비를 줄입니다.
디지털 트윈 및 고급 시뮬레이션 생성을 지원합니다.
공급 병목 현상을 제거합니다.
고용주가 오류가 발생하기 쉬운 프로세스에서 보다 창의적인 프로세스로 근로자의 기술을 향상시킬 수 있도록 지원하십시오.


오디오 신호 처리의 일반적인 실수와 이를 방지하는 방법

최종 제품이 갈비선물세트 무엇이든, 어떤 언어로 코딩하든 상관없이 전 세계의 소프트웨어 개발자는 고객 요구 사항 변경, 빠듯한 마감일, 통합 및 고객 지원 등 동일한 종류의 문제에 직면해 있습니다.

그러나 한 가지 유형의 소프트웨어 개발에는 매우 특정한 문제를 이해하고 해결하는 것이 포함됩니다. 오디오 신호 처리 제품을 위한 설계 및 코딩 소프트웨어에는 고유한 문제가 있습니다. 그렇다면 개발자가 저지르는 가장 일반적인 실수는 무엇이며 어떻게 피할 수 있습니까?

신호 처리를 이해하는 것은 오디오 분야에서 일하는 소프트웨어 엔지니어에게 도움이 되지만 필수는 아닙니다. 그러나 오디오에 대한 이해가 실제로 도움이 되는 영역이 있습니다.

첫째, 게인 구조 – 볼륨 컨트롤이 시스템에 게인을 추가한다는 것을 알고 있습니다. 이는 소프트웨어 내부에 적용되며 프로토타입에 연결하는 모든 가젯에 영향을 미칩니다. 결과적으로 사운드 출력이 만족스럽지 않을 수 있습니다. 개발자는 이것이 코드의 버그 때문이라고 가정하지만 실제로는 게인 구조의 문제입니다. 이것을 알면 불필요한 디버깅에서 많은 시간을 절약할 수 있습니다.

둘째, 소프트웨어 개발자는 때때로 오디오 필터링이 그룹 지연을 추가한다는 사실을 잊을 수 있습니다. 이 중요한 사실을 잊으면 알고리즘의 성능을 과도하게 약속하는 경향이 있을 수 있습니다. 알고리즘이 가능한 것보다 더 빨리 작동할 것이라고 생각할 것입니다.


셋째, 작지만 중요한 점은 실제 데이터와 이론적 데이터의 차이입니다. 수학은 0이지만 오디오는 그렇지 않습니다. 수학에서 알고리즘 설계는 이론적 데이터를 사용합니다. 실제 데이터로 시스템을 테스트할 때 침묵하는 것처럼 보이는 신호를 찾을 수 있습니다. 그런 경우에는 항상 확대할 가치가 있습니다. 약간 쉭쉭거리거나 0으로 가득 차 있을 수 있습니다.

마지막으로, 알고리즘을 가져와서 모든 장치에 배포할 수 없습니다. 개발 프로세스에서 가능한 한 빨리 알고리즘이 갖게 될 배포 제약 조건을 고려해야 합니다. 일부 DSP는 매우 효율적이고 저전력이지만 메모리가 제한되어 있을 수 있습니다. 다른 것들은 AI 기반 처리에 매우 적합할 수 있지만 대기 시간이 더 길어질 것입니다. 공간과 시간을 교환하는 알고리즘을 설계할 수 있다면 좋을 것입니다. 그러나 실제로는 대부분의 알고리즘이 그렇게 할 수 없으므로 저전력 임베디드 장치에서 제외될 수 있습니다.

모든 개발에서 개발을 시작하기 전에 고객 요구 사항을 이해하는 것이 필수적입니다. 그러나 오디오를 다룰 때는 훨씬 더 중요합니다. 왜요? 오디오와 관련하여 고객은 잘 작동하는 시스템만 필요한 것이 아니라 우수한 오디오를 출력하는 시스템이 필요하기 때문입니다. 문제는 모든 사람이 오디오를 다르게 듣는다는 것입니다. 예를 들어 나이에 따라 청력이 달라질 수 있으며 우리 모두는 ‘좋게’ 들리는 것에 대한 개별적인 선호도가 있습니다. 결국 고객이 좋아하지 않는 제품을 개발하는 데 오랜 시간을 투자했다는 것을 알 수 있습니다.

이것은 대부분의 오디오 개발자에게 계속되는 문제입니다. 오디오 평가는 시각적 알고리즘 평가보다 어렵습니다. 왜요? 시각적 결과를 나란히 놓고 동시에 서로 비교할 수 있기 때문입니다. 오디오로 동시 비교를 할 수 없습니다. 한 번에 두 가지를 들을 수 없습니다. 따라서 오디오 결과의 A/B 테스트는 동시가 아닌 순차적으로만 가능합니다. 따라서 오디오를 테스트하는 데 훨씬 더 오래 걸립니다. 알고리즘에 대한 작은 조정을 평가하기 위해 2시간 분량의 테스트 녹음을 들어야 할 수도 있습니다. 프로젝트 계획에 필요하다고 생각하는 것보다 더 긴 테스트 시간이 포함되어 있는지 확인하십시오.

MOS 점수와 같이 오디오 테스트에 일반적으로 허용되는 메트릭 중 하나를 사용하는 데 동의하면 이러한 주관성을 피할 수 있습니다. 이러한 피드는 오디오를 제공하고 원하는 청중이 결과를 제공할 등급을 예측합니다. 이것은 품질을 평가하는 데 도움이 되지만 개선의 이유는 제공하지 않습니다. 일반적인 테스트 및 메트릭의 대부분은 고정 유선 전화 통신과 같은 기존의 기존 애플리케이션을 위해 개발되었으며 편향되어 있습니다. 따라서 측정항목을 사용하면 도움이 될 수 있지만 전체 답은 아닙니다. 작업을 시작하기 전에 고객이 원하는 오디오 사운드에 대한 비전을 공유하는지 확인하는 것이 중요합니다.

고객의 비전을 이해하는 것은 다음 문제인 통합에도 매우 중요합니다. 오디오는 시스템의 일부입니다. 모든 부품이 함께 작동해야 하지만 시스템의 나머지 부분은 오디오가 처리하는 양에 따라 제한되며 오디오는 나머지 시스템의 소비에 따라 제한됩니다. 오디오가 실제 시스템에서 더듬거리는 경우 빈 시스템에서 훌륭하게 작동하는 무언가를 개발하는 것은 의미가 없으며 낭비되는 리소스가 많습니다. 따라서 조기에 통합하십시오. 그러나 개발자가 알다시피 통합은 비용이 많이 듭니다. 허용되지 않는 것을 통합하는 데 시간을 낭비하지 않으려면 먼저 고객과 대화해야 합니다. 그리고 개발을 시작하기 전에 선택한 사용 사례에서 녹음의 몇 가지 예를 얻으십시오.

개발자가 저지르는 일반적인 오류는 개발 프로세스에서 충분히 일찍 소프트웨어 스트리밍을 얻지 못하는 것입니다. 이는 일찍 스트리밍하지 않는 경우 결과에 대해 과도하게 약속하는 파일로 작업할 수 있기 때문에 중요합니다. 보는 오디오의 각 비트에 대해 데이터 구조에 요소를 추가하는 알고리즘을 작성하는 경우 데이터 구조의 크기는 작업 중인 파일의 크기에 비례합니다. 그러나 파일이 오디오 스트림으로 대체되면 장치가 실행되는 동안 데이터 구조가 무한정 커질 수 있습니다. 일찍 스트리밍함으로써 개발 위험을 제거하고 알고리즘이 대량 생산 준비가 되었다는 확신을 가질 수 있습니다.

또한 처음부터 테스트 프로세스를 고려하십시오. 오디오 출력만을 통한 테스트는 실수 신호이기 때문에 어렵습니다. 서로 다른 프로세서와 플랫폼 간에 다를 수 있는 오디오 출력에 의존하지 않고 가능한 한 많은 단위 테스트를 수행하고 있는지 확인하십시오.

코딩 프로세스 자체를 살펴보면 고정 소수점과 부동 소수점 중에서 결정해야 합니다. 고정 소수점은 저장 및 계산을 위해 오디오 샘플을 나타내는 ‘이동’ 접근 방식이었습니다. 고정 소수점 계산은 정수 계산에 사용되는 것과 동일한 ALU 부분을 사용합니다. 간단한 수학적 트릭은 정밀도와 양의 크기의 절충에 따라 지속적으로 변하는 양을 근사화하는 것입니다.

부동 소수점은 ALU에서 구현하기가 더 복잡하지만 최신 CPU(예: 모바일)에서는 이를 사용하는 데 있어 페널티가 거의 또는 전혀 없습니다. 존재하는 페널티는 엔지니어링 시간 요구 사항의 감소와 알고리즘을 최적화하는 데 사용할 수 있는 시간의 증가로 상쇄됩니다. 오디오 알고리즘은 종종 크고 복잡하며 부동 소수점을 사용하면 수학을 단순화하기 때문에 더 적은 엔지니어링 리소스로 구현할 수 있습니다. 부동 소수점을 사용하는 개발자는 정수 오버플로 또는 언더플로에 대해 걱정할 필요가 없습니다.

휴대폰과 관련하여 일반적으로 사용되는 CPU는 부동 소수점을 수행하는 것이 아니라 벡터화한다는 점을 염두에 둘 필요가 있습니다. 따라서 이것이 사용 사례인 경우 벡터화할 수 있도록 코드를 설계해야 합니다.

또 다른 팁은 시스템 동작을 조사하는 동안 관대하게 파일에 오디오를 기록하는 것입니다. 기록하는 매체에 따라 작업자 스레드(예: SD 카드)가 필요할 수 있습니다. 이 작업자 스레드는 오디오 데이터를 제공하는 소프트웨어 버틀러와 같습니다. 참을성있게 기다린 다음 장치에 제공합니다. 이는 핵심 알고리즘이 런타임 동작을 기다리거나 차단할 필요가 없음을 의미합니다. 여러 파일에 기록되는 경우 모두 같은 위치에서 시작하는지 확인하십시오. 예를 들어 파일 중 하나의 시작 부분에서 40ms를 벗어나면 시스템에서 설명할 수 없는 40ms의 대기 시간이 발생합니다.

오디오 신호 처리와 관련하여 부주의한 사람들에게는 많은 함정이 있습니다. 그러나 올바른 준비를 통해 성공적인 제품 개발을 위한 길을 찾을 수 있습니다.

스마트 자동차는 자동차 FPGA를 사용합니다.

자동차 산업은 최근 몇 년 동안 성인용품 스포트라이트를 많이 받았습니다. 초점의 일부는 반도체가 스마트 기술 기능을 갖춘 최신 차량 설계에 얼마나 중요한지를 중심으로 이루어졌습니다. 이러한 기술은 수년 동안 존재해 온 완전 전기 또는 하이브리드 모델에 국한되지 않고 대시보드의 태블릿과 백미러에 내장된 카메라가 장착된 SUV 및 미니밴으로 확장되었습니다. 딜로이트 가 2030년까지 신차 비용의 45%가 전자 시스템에서 나올 것으로 예상하면서 칩의 중요성은 더욱 커지고 있습니다.

이것은 FPGA에서 특히 그렇습니다. 가장 기술적으로 진보한 자동차는 내부에 최대 10-12개의 FPGA를 포함할 수 있으며 모두 고유한 유연성과 작은 크기로 인해 다양한 기능을 수행합니다. 인포테인먼트 시스템, 첨단 운전자 지원 시스템(ADAS), 사람 존재 감지를 위한 실내 인공 지능, 안전한 배터리 관리에서 FPGA는 차량 설계를 위아래로 분산시켜 그 어느 때보다 자동차를 더 스마트하게 만들고 있습니다.

전체 크기 이미지를 보려면 클릭하세요.


그림 1: 저전력 FPGA는 자동차 응용 제품에 사용하도록 최적화되고 있습니다. 출처: 래티스 반도체

영역 아키텍처 지원
수년에 걸쳐 카메라 및 센서와 같은 더 많은 기술이 차량에 추가됨에 따라 설계는 영역 아키텍처 또는 자동차 전체의 다양한 컴퓨팅 “영역”으로 이동하기 시작했으며, 이 영역은 모두 메인 컴퓨팅 구성 요소, 일반적으로 시스템 온 칩(시스템 온 칩)에 연결됩니다. SoC). 브리징 기능 덕분에 FPGA는 신호를 분리하기 위해서만 함께 다중화하거나 SoC에 도달할 때 역 다중화하여 다른 카메라 또는 센서의 신호를 라우팅하는 데 사용됩니다.


전체 크기 이미지를 보려면 클릭하십시오

. 그림 2: 고밀도 FPGA는 최대 100,000개의 게이트 설계에 대한 자동차 인증을 목표로 합니다. 래티스반도체

간단하게 들릴 수 있지만 서로 다른 구역 간의 연결은 차량마다 크게 다를 수 있으며 서로 다른 유형의 표준이 필요합니다. 일부 카메라와 센서는 MIPI 표준을 따르는 반면 다른 카메라와 센서는 장거리 연결을 위해 고속 SERDES를 사용합니다. 또한 LIN(Local Interconnect Network) 버스, CAN(Controller Area Network) 버스 및 자동차 이더넷을 비롯한 이전 자동차 표준이 여전히 사용되고 있습니다.

적절한 사양을 갖춘 FPGA는 각 유형의 연결과 서버에서 서로 다른 표준 사이의 브리지 역할을 할 수 있는 기능을 갖추고 있어 훨씬 더 복잡한 설계를 실행할 수 있습니다.

실시간 네트워킹 및 모터 제어 구동
FPGA는 브리징 기능뿐만 아니라 매번 결정론적 속도로 지연 시간이 짧은 신호 처리 및 분석 성능 때문에 자동차 설계자에게 매력적입니다. 이러한 일관된 신뢰성은 보조 운전 시스템과 같은 실시간 기반 애플리케이션에서 자동차 성능에 매우 중요합니다.

예를 들어 전기 또는 하이브리드 차량을 살펴보면 FPGA는 고성능 펄스 폭 변조(PWM)를 지원하므로 미세 조정된 모터 제어, 전력 변환 및 인버터에 사용할 수 있습니다. 힘과 효율성.

FPGA는 전력 소모가 적기 때문에 전기/하이브리드 차량 모델에도 적합합니다. 입/출력(I/O) 밀도가 높을수록 FPGA가 제공할 수 있는 유연성과 적응성이 높아집니다.

사이버 레질리언스 활성화
서버 및 통신 네트워크와 같은 애플리케이션에서 강력한 사이버 복원력 기능을 구현하는 것처럼 FPGA는 자동차에서도 동일한 역할을 합니다. 소비자는 사물 인터넷(IoT) 연결 차량이 악의적인 행위자에 의해 조작될 수 없다는 확신을 가질 필요가 있으므로 안전성과 신뢰성이 중요합니다. 보안 등급 FPGA는 자동차 애플리케이션의 보안 제어를 위한 하드웨어 신뢰 루트로 사용됩니다. 즉, FPGA는 펌웨어 및 이와 함께 부팅되는 기타 장치의 무결성을 자체 인증할 수 있습니다.


그림 3: MachXO3D FPGA는 하드웨어 RoT(Root-of-Trust), 플랫폼 펌웨어 탄력성 및 보안 이중 부팅 지원과 같은 보안 기능을 용이하게 합니다. 래티스반도체

펌웨어 보안 외에도 자동차 산업에서는 차량 설계가 차량의 안전하고 일관된 작동을 위해 엄격한 규제 표준을 따르도록 요구합니다. 하나의 표준인 기능적 안전을 위한 ISO 26262는 부품이 극한의 온도와 같은 도로의 물리적 요구 사항을 준수하고 지속적으로 안전한 방식으로 작동하는 소프트웨어를 수반하도록 요구합니다. FPGA는 ISO 26262 인증 소프트웨어를 실행하여 필요한 표준을 충족할 수 있습니다.

작은 크기, 큰 임팩트
컴퓨터화되지 않은 자동차 산업의 시대는 지났습니다. 더 많은 전자 장치가 차량 설계에 포함되고 차량의 나머지 부분과 상호 작용함에 따라 오류의 여지가 더 많이 도입됩니다. 이는 폴크스바겐이 ID 전기차 시리즈를 선보였을 때 배터리 자체 방전 문제가 발생해 회사가 약 1만대를 리콜 하는 등 값비싼 리콜과 소비자의 골칫거리로 이어질 수 있다 .

겉으로 보기에 사소해 보이는 이러한 구성 요소는 차량의 전반적인 건강에 큰 역할을 하며 이러한 유형의 안전 문제는 앞으로 더 널리 퍼질 것입니다. 따라서 이러한 구성 요소가 가장 안전하고 효과적인 방법으로 통합되도록 하는 것은 자동차 산업의 책임입니다.

FPGA는 오늘날의 고급 차량 설계에서 다양한 전자 기능을 가능하게 하는 유연하고 신뢰할 수 있는 구성 요소임이 입증되었습니다. 소비자는 자신의 자동차가 계속 진화하고 전자 장치가 운전 경험과 원활하게 통합되기를 기대합니다. 도전을 받아들이고 그들이 마음대로 사용할 수 있는 도구를 마스터하는 것은 제조업체의 몫입니다. 새로운 미래가 눈앞에 다가옴에 따라 이러한 자동차가 계속해서 더 똑똑해질 수 있는 많은 기회가 있습니다.

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил, что он у себя в постели превратился в страшное насекомое.

Gift Card

Give the Gift of Greenery

Pretium tortor risus enim neque quis pellentesque maecenas proin odio eget arcu