support history 6

중국 조건부 승인 <= 자일링스와 AMD의 합병, Jan2022

아래 글을 쓴지 얼마 안되서, 오늘 드디어 중국에서 조건부로 합병을 승인했네요. 이제 드디어 이메일 주소가 XILINX 에서 AMD 로 바뀔려나 봅니다. ========================================================================== 자일링스와 AMD 합병이 마무리 될지는 중국정부의 마지막 승인에 달려있습니다. 원래 2021년 11월 정도면 승인이 떨어지고 무사히 합병하게 되었겠지만, 아직도 그 승인 절차가 요원합니다. 이번 분기에는 마무리될까요? AMD와 자일링스의 합병은 어떤 시너지가 나는 것일까? 궁금한 부분들이 많이 있겠지만, 일단 자일링스의 역사를 살펴보는 것이 좋을 것 같습니다. 제가 2003년 부터 자일링스에서 일했으니, 한 회사에서 꽤 ..

support history 2022.01.22

eTOPS가 뭐지?

TOPS는 머신러닝 관련 프로세서의 성능을 측정하는 중요한 파라미터입니다. 그런데 eTOPS라는 단어를 발견하고 이건 뭘까 궁금하던 차에, ~에 해당하는 equivalent 첫 글자 'e'인 것을 알았습니다. 오호라~ 이게 참 뭐라하긴 그렇지만, 개발자들은 요 의미를 잘 생각해야 합니다. 순진한게 100eTOPS라고 하면 앞에 숫자 100만 보이니까 제법 성능이 나올 것이라 생각하지만, 이 숫자를 만들기 위해서는 엄청나게 최적화된 조건에서 나온 숫자라는 것으로 예측할 수 있어야 합니다. 그런 최적화 조건은 일반적인 상용제품에서는 만들기 어렵기 때문에, 실제 숫자는 이 페이퍼에서 나온 숫자보다 훨~씬 더 떨어진다 것을 각오하고 벤치마킹을 해야 합니다. 왜 그럴까요? 제가 그동안 경험한 것을 바탕으로 설명을..

support history 2022.01.22

2022년 반도체 수급문제

여전히 그 끝이 보이지 않네요. 요즘 반도체 세일즈 분들은 부품 딜리버리가 거의 60주 정도 나오고 있기 때문에 고객분들에게 주문을 미리 넣어달라고 부탁하고 있습니다. 예전엔 보통 12주 또는 16주 정도 시간이 걸렸는데, 이게 웬일입니까? 1년 넘게 걸린다는 얘기를 들으면 보통 '장난 하시는 겁니까?' 라는 생각이 드는게 당연할겁니다. 하지만 부품 발주가 없으면, 시스템에 등록도 되지 않기 때문에 세일즈 분들이 딜리버리를 조정할 수 있는 방법이 없어서, 60주 딜리버리라도 일단 주문을 해야, 세일즈 분들이 딜리버리를 챙길 수 있습니다. 혹시 개발물량으로 부품을 4~5개 정도 필요로 하시는 분들이 있는데, 이런 분들은 세일즈에게 개발물량이라고 말씀하시면, 보다 빠르게 부품을 공급 받을 수 있습니다. 다만..

support history 2022.01.22

리눅스 커널이 패닉상태로, 개발자는 공황상태로, illegal opcode

리눅스가 패닉으로 빠지는 상황은 많이 있지만, 일주일이나 한달에 한번 패닉에 빠지는 경우엔 어떻게 디버깅을 해야할지 참 남감합니다. 뚫어지라고 쳐다볼 수도 없고, 머라 머라 메세지가 줄줄줄 나오는데, 뭐라고 해석을 해야할지 도통 머리가 아픈 경우가 많이 있습니다. 프로세서는 어지간하면 프로그램을 코드를 읽고, 해석하고, 계속 실행하려고 합니다. 하지만 나누기 연산을 하려고 하는데 분자 값이 '0'이면 (1/2 = 0.5, 1/4 = 0.25, ... 1/0 = inf) 프로세서는 더 이상 일 못하겠다고 한마디 비명을 지르고 예외처리 상태로 빠지게 됩니다. 이렇게 프로세서가 더 이상 일을 못하겠다고 비명을 지르는 경우가 몇가지 있는데, 앞에서 얘기한 div zero가 있고, 또 대표적인 것이 프로그램을 읽..

support history 2022.01.14

왜 눈물을 흘리시나요? 캐시코히어런스

어느날 전화를 받았습니다. Zynq의 PL (Programmable Logic) AXI Master를 설계해서 데이터를 DDR 메모리에 썼는데, 프로세서로 읽어보면 안읽힌다고. 얘기를 들어보니, ASIC 개발용으로 FPGA에 몇가지 로직을 설계하고 있었고, 그중 설계된 마스터가 제대로 동작하는지 알아보기 검증하던 도중, 쓴 데이터가 제대로 안읽히는 것이죠. 한 이틀 정동 고생하고 나서도 해결이 안되, 저에게 전화를 한 것입니다. 가만들어보니 DDR 메모리에 쓰는 것은 고객이 만든 마스터이고 , 읽는 것은 Zynq의 A9 프로세서로 읽는 것이니 두개의 마스터가 각각 읽고, 쓰는 상황이더군요. 하여간 만나서 상황을 보니, customer master가 메모리에 데이터를 쓰고, uboot가 A9에서 해당 메모..

support history 2022.01.08

왜 프로세서는 주소가 없죠?

몇년 전, 저희 자일링스 사무실에서 삼성 엔지니어 분들에게 MPSoC의 프로세서 서브시스템에 대해서 강의를 한적이 있습니다. 그때 강의했던 내용을 머리속에 그려가면서 나눴던 얘기를 적어보려고 합니다. 프로세서를 학교에서 많이 써 봤겠지만, 내부 구조에 대해서 자세히 몰라도 우리는 대부분의 어플리케이션을 만들 수 있습니다. 여기서 잠깐 단어들을 섞어서 썼는데, 프로세서와 프로세서 서브시스템은 좀구별하는게 좋겠습니다. 프로세서는 프로세서 그 자체입니다. 리셋이 풀리면, 정해진 리셋벡터에 저장된 어드레스에 있는 코드를 읽고, 해석, 실행합니다. 읽고, 해석하고 실행하는데 구체적인 방법들은 프로세서 구조에 따라 다르긴 하지만, 이 3가지 동작은 크게 변하지 않습니다. 프로세서 서브시스템은 프로세서와 캐시, 스누..

support history 2022.01.08