2022/01/08 2

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

어느날 전화를 받았습니다. 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