RISC-V 병렬처리 동기화 및 락킹 기법
2018-10-11 10:30~12:00
MouserElectronics / 정재준 대표
유*종2018-10-11 오전 11:33:07
실제 코드가 기계어로 어떻게 되는지 잘 보여 주셔서 감사합니다.Mouser_32018.10.11
감사합니다. 유익한 시간 되시길 바랍니다.이*석2018-10-11 오전 11:27:04
HW 라서 잘 이해는 되지 않는데 HW 복잡성이 코딩에 따라 달라질 것 같은데 어떤가요?Mouser_32018.10.11
네, 오늘 세미나는 CPU 아키텍쳐 명령어셋(어셈블리어)에 아주 많이 관련 됩니다.지*호2018-10-11 오전 11:25:38
[질문]락킹 기법을 최대한 사용하지 않는것이 좋은 설계인지 궁금합니다33 ㅐ6Mouser_32018.10.11
네, 락킹을 최소화 하는게 가장 좋습니다. 되도록이면 전역변수 사용을 피하고 함수 내부변수를 사용하는 것이 가장 좋습니다.이*혁2018-10-11 오전 11:24:46
그럼 락킹으로 메모리 선점하고 배리어로 계산 정확히하고 아톰으로 데이터 읽고 쓰면 되는 건가요??Mouser_32018.10.11
아네, 아주 잘, 확실히 정리해서 이해하신듯 합니다.이*혁2018-10-11 오전 11:21:00
프로그램 작성시 어셈으로 작성할 때와 C언어로 작성할 때 동작 시간 차이가 어떻게 되나요??Mouser_32018.10.11
어차피 gcc컴파일러 어셈블리로 컴파일 하므로 별다른 차이는 없지만, 컴파일러 최적화 옵션에서 속도에 많이 차이가 납니다.허*현2018-10-11 오전 11:20:38
최적화 레벨을 정하는 요령이 있나요? 모든 레벨로 다 시도해보고 오류를 점검하나요?Mouser_32018.10.11
gcc 컴파일러 매뉴얼을 보면 레벨마다 어떤 부분을 최적화 하는지 안내 되어 있는데 그것을 고려해서 점검하시면 될듯 합니다.박*희2018-10-11 오전 11:18:10
컴파일시 이렇게 순서가 바뀌는것을 방지하기 위해 최적화 옵션을 사용하지 않는 경우, 사용할때와 비교해서 성능에 차이가 어느정도 날까요?Mouser_32018.10.11
성능차이가 많이 납니다. 일단 최적화 옵션을 주면 어셈명령어가 간결해 지면서 빠르게 처리되는데 이때 동기화 문제가 생기는 부분은 별도로 또 처리해 주어야 합니다.허*현2018-10-11 오전 11:18:06
전역변수는 초깃값을 지정하지 않으면 0인데 최적화하면서 실행순서를 바꿔버린다는 건 문제가 있는 거 같네요.Mouser_32018.10.11
네, 그래서 메모리 배리어를 사용해서 정해진 순서로 실행되도록 강제 규칙을 부여하는 것입니다.박*선2018-10-11 오전 11:17:09
어셈블러 확인은 어떤 이유로 필요한가요?Mouser_32018.10.11
동기화 및 락킹 C언어 코드가 어떻게 실행되는지 자세히 분석 및 이해하기 위한 것입니다.정*수2018-10-11 오전 11:16:23
RTOS 를 사용할려면 어셈블러를 잘 알아야하나요?Mouser_32018.10.11
RTOS에서는 동기화나 락킹이 거의 필요없는 환경이기 때문에 궂이 어셈블리를 이해하지 않고 C언어로 코딩해도 될듯합니다. 그러나 CPU 레지스터에 직접 접근하는 부분은 어셈으로 되어 있을듯 합니다.