1 1 2 메모리 인터리빙, DMA, Cycle Stealing
메모리 인터리빙의 정의 메모리를 여러 개의 모듈로 나누어 단위시간에 여러 메모리로 동시에 접근이 가능하도록 하는 기법이다. 버스 경합이나 기억 장치의 충돌과 같은 문제를 해결하기 위하여 기억 장치를 복수 모듈로 구성하고 각 모듈이 동시에 접근이 가능하도록 하는 방식이다. 주소 지정 방식을 적절하게 조정하여 순차적으로 수행되는 명령어나 데이터들을 기억 장치 모듈에 분산 저장 되도록 하는 기술이다.
DMA의 정의 CPU를 통하지 않고 주변기기의 인터페이스 장치에 제어권을 주어 직접 기억장치와 Data Block 을 전송하는 기법이다. DMA는 기억 장치와 입출력장치 사이의 데이터전송을 담당하는 실제 물리적인 모듈을 의미한다. 소프트웨어적인 구현은 DAM(Direct Access Method)이라고 한다.
Cycle Stealing의 정의 CPU와 DMA가 동시에 버스를 사용하고자 할 때, 속도가 빠른 CPU가 속도 느린 DMA에게 Bus 사용권을 먼저 주는 개념이다. DMA가 메모리 데이터 전송을 위하여 프로세서의 한 메모리 사이클을 중지시키고 실행하는 것을 말한다. DMA가 memory에 접근하려면 BUS를 사용하여야 한다. BUS 사용권한은 CPU가 관장하고 있다. DMA가 작업하는 동안 CPU는 다른 작업을 하고 있으므로 Memory에 접근하기 위하여 BUS를 사용한다. CPU가 계속 사용하게 되면 DMA는 사용할 수 없는 Starvation상태가 발생될 수 있다. CPU와 DMA가 동시에 버스를 사용하고자 할 때, 속도가 빠른 CPU가 속도 느린 DMA에게 Bus 사용권을 먼저 주는 것을 ‘Cycle Stealing’이라 한다.
개발자, 기술사, 삼성, 외국계 IT기업 20년차 기술노트 알렉이 직접 작성한 IT기업 기술 면접을 위한 CS + 면접 노하우 PDF <https://kmong.com/self-marketing/539751/LUA54VnQsP> 자주 나오는 CS 질문과 답변 그리고 100번 이상 면접관으로 참여하면서 느꼈던 면접자가 알아야 할 팁 13가지 포함
백엔드 개발자를 위한 클라우드 강의, AWS <https://inf.run/o1NX>
이제는 비전공자도, 일반이도 개발할 수 있다. ChatGPT를 이용한 누구나 앱개발 with 알렉 <https://inf.run/rpX4>
백엔드 직접 번역한 도서 <https://www.yes24.com/Product/Goods/122536127>
IT기술의 거의 모든 것을 다루는 기술노트with알렉 유투브 <https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89>