ARM

포스트: 173|조회수: 0|TERM
Items

Posts

173 posts

[라즈베리파이] 프로세스 - 스케줄링(Preemption): 유저 공간 실행 중 인터럽트 발생

Guillermo Austin Kim|2018년 9월 16일

이번에는 인터럽트가 발생했을때 스케줄링(Preemption)하는 동작을 살펴봅니다. 우리는 그 동안 schedule() 함수를 호출했을때만 스케줄링이 실행하는지 알고 있습니다. 그것은 맞는 말입니다.그런데, 인터럽트가 발생했을때 스케줄링이 실행된다는 사실은 잘 모릅니다. 이 사실을 알면 많은 레이스 컨디션 발생 원인을 알 수 있습니다. 이제부터 __irq_usr이란 인터럽트 벡터부터 __schedule() 함수가 실행하는 코드 흐름을 알아보겠습니다. 유저 공간에서 프로세스 실행 도중 인터럽트가 발생하면 인터럽트 벡터로 __irq_usr이란 레이블을 실행합니다.먼저 __irq_usr 코드를 보겠습니다. 인터럽트 처리가 아키텍처에 의존적이니 어셈블리 코드로 구현됐습니다.[https://elixir.boo

MS의 접는 태블릿폰, 서피스 안드로메다가 나온다?

MS의 접는 태블릿폰, 서피스 안드로메다가 나온다?

얼핏 들으면 정신이 안드로메다로 날아가버릴 것 같은(?) 소식이 나왔습니다. MS에서 새로운 모바일 기기를 내놓는다는 겁니다. 프로젝트명은 안드로메다. 닌텐도DS를 닮은 접는 태블릿 + 폰입니다. 내부에서 유출된 이메일에 담긴 내용이라는데요. 사실 사람들이 관심을 가지게 된 것은 디자이너 David Breyer가 트위터에, 자신이 렌더링한 서피스 안도르메다를 선보였기 때문입니다. 눈 앞에 보이는 디자인은 어떤 말보다 강력하거든요. 생긴 것은 정말 닌텐도 DS를 크게 키운게 아닌가-싶지만, 이에 대한 소문은 예전부터 있었습니다. 작년말 MS가 얻었다는 특허가 대표적이죠. 윈도우10 코어 위에서 돌아가는 모바일용 OS '안드로메다'에 대한 소식도 이미 작년에 들려왔죠.

[Linux][ARM] Coprocessor(코프로세서) Assembly

Guillermo Austin Kim|2018년 5월 23일

ARM 프로세스 내 Coprocessor라는 하드웨어가 있습니다. Co-Processor라는 것은 Co-worker랍니다. CPU 혼자 모든 일을 다 할 수 없으니 Co-Processor가 필요한 것입니다. Co-Processor는 C언어 같이 어떤 코드 흐름을 제어하는 일보다는 ARM Core나 Cache을 콘트롤하는 역할을 수행합니다. 그래서 ARM 프로세스로 칩을 디자인하는 개발자는 Co-Processor를 제어하는 명령어를 달달 외우고 있죠. Co-Processor가 있으니 당연히 Co-Processor하고 대화를 해야 겠죠. Co-Processor에게 말을 거는 방법을 역시 레지스터를 이용해서 주어진 명령어를 실행시키면 됩니다.Co-Processor에게 말을 걸면 Co-Processor가 알아듯

ThinkPad X1 Yoga의 Modern Standby(구 Instant Go, Connected Standby) 테스트 - 절전모드 음악 재생

하드웨어와 드라이버가 지원될경우 Windows 8 이후 운영체제는 ARM기기와 유사한 절전 모드를 제공합니다. 이를 마이크로소프트가Windows 8에서는 Connected StandbyWindows 8.1에서는 Instant GoWindows 10에서는 Modern Standby라 칭합니다. 이 모드에서는 보통의 스마트폰처럼빠른 절전 모드 진입 및 복귀절전 모드에서도 네트워크에 연결된 상태로 업데이트나 업로드/다운로드가 제공되며,백그라운드 음악 재생시에는 재생도 유지됩니다. 다만 이는 Modern App(구 Metro App)에서만 허용합니다. 위 영상은 Modern Standby를 지원하는 ThinkPad X1 Yoga에서 음악을 재생한 후, 절전 모드 진입/복귀를 테스트 하는 영상입니