[Docker] M1 맥북에어로 라즈베리파이(ARM)용 docker image 만들어 보기
By 지훈현서 | 2021년 4월 22일 |
지난번에 간단 M1 애플실리콘의 맥북에어를 살펴보았습니다.애플이 과감히 인텔의 X86 CPU를 버리고 자체 ARM 기반 CPU를 만들었다는 아주 큰 사건이었죠. 30년도 더 전에 8086, 8088과 같은 CISC 머신 대비,68000, HP-UX 머신 등과 같은 RISC 기계를 다루어 본 적이 있는데,이번 인텔과 ARM의 가장 큰 차이 역시 이 CISC냐 RISC냐의 차이 인 것 같습니다. CPU 입장에서는 OP코드가 있어서 어떤 어떤 일을 수행하도록 되어 있고,이를 CPU 차원에서의 마이크로코드라 했던 것 같네요. 암튼 CISC인 경우 이 OP 코드가 알알이 꼼꼼이 무지 많고(시간이 지날 수록 더 많아지지요), 반대로 RISC 머신은아주 적은 세트의 OP 코드만 존재하지만, 동일한 기능을상단의 소프
F1 2020 아이펠 그랑프리 결승
By eggry.lab | 2020년 10월 12일 |
뉘르부르크링에서 열린 아이펠 그랑프리입니다. 아이펠은 뉘르부르크링이 있는 지역 이름이고요, 영국이나 이탈리아처럼 한 나라에서 두경기 한 것도 아닌데 왜 다른이름이냐고 하면, 국가명이 붙는 공식 그랑프리는 원래 2019년에 호켄하임으로 마지막이었고 계약이 경신되지 않았기 때문입니다. 뉘르부르크링은 2015년을 마지막으로 호켄하임과 격년으로 하던 걸 종료해서, 호켄하임 단독이었는데 그곳조차 19년을 마지막으로 그만뒀었죠. 즉 원래 올해는 독일에서 그랑프리가 없었는데 코로나19 때문에 긴급 편성을 하면서 들어오게 된 뉘르부르크링에 독일 그랑프리 타이틀은 안 주기로 한 것. 타이틀에도 어른의 돈 문제가 있는 것이지요;; 어쨌든 지난 경기에 지독하게 하늘이 안 도왔던 해밀턴의 91승 기록은 이번에
[ARM프로세서] 익셉션(Exception) 관련 코드는 어디에 구현됐을까?
By Guillermo Austin Kim | 2020년 10월 8일 |
많은 소프트웨어 개발자는 예제 코드를 보면서 새로운 기능이나 개념을 배우는데, 이는 가장 효율적인 학습 방법 중 하나입니다. 대부분 코드의 구현부는 물론이고 사용 예시까지 분석합니다. 그런데 여러분들은 이전 절에서 설명된 익셉션의 구현 원리를 읽은 후 익셉션과 관련된 코드의 구현부가 무엇인지 의문을 품어 본 적이 있나요? 이번 절에서는 익셉션과 관련된 코드의 구현부에 대해서 살펴보겠습니다. 익셉션과 관련된 코드는 무엇일까 익셉션과 같은 ARM의 주요 기능을 공부할 때, 스스로 다음과 같이 질문을 던지면서 분석하면 더 많은 내용을 얻을 수 있습니다. ❑ 첫째, 해당 기능은 왜 알아야 할까? ❑ 둘째, 해당 기능은 어떤 코드로 구현됐을까? 다음 그림을 보면서 익셉션
[Arm프로세서] AAPCS: Armv7: 함수 인자의 갯수는 4개 이하로 제한
By Guillermo Austin Kim | 2021년 7월 5일 |
함수에 전달되는 인자는 4개 이하로 제한하는 것이 좋습니다. 함수의 인자의 갯수가 5개를 넘어가면, 프로세스의 스택 공간에 인자를 저장해 전달하기 때문입니다. 이번에는 함수에 5개의 인자를 전달하는 예제 코드를 분석하면서, 이 내용에 대해 조금 더 짚어봅시다. 01 int add_func(int a, int b, int c, int d, int e)02 {03int result = a + b + c + d + e;04printf("a:%d, b:%d, c:%d, d:%d, e:%d \n", 05a, b, c, d, e);0607return result;08 }0910 int main(void) 11 {12int a = 1, b = 2, c = 3, d = 4, e = 5; 1314