2023-Spring-ECE4278 / project2

0 stars 0 forks source link

안녕하세요. 조교님. pipeline 개수와 관련해서 질문드립니다. #2

Open akskekekdk opened 1 year ago

akskekekdk commented 1 year ago

올려주신 ppt에서는 3개의 command가 pipelined 이던데, 만약 stage 개수는 3개인데, 동시에 진행하는 command의 개수는 2개여도 되나요?

Park-So-Young commented 1 year ago

네 PPT는 예시에 불과합니다. 조금 더 부연 설명을 드리면,

저희가 설계하는 DMAC의 경우 4-channel로 구성이 되기 때문에, 최대로 동시 진행이 가능한 command의 개수는 4개 입니다. 그리고 Pipeline이 될 수 있는 대상은 다음의 두 가지 종류입니다.

  1. 하나의 DMA operation 내에서 처리 되어야 하는 stage (Ex. 256len - 16burst에서 RREQ, RDATA, WREQ, WDATA stage의 반복)의 Pipelining
  2. 서로 다른 channel에 대한 DMA operation들 대한 stage의 Pipelining

Pipelining 구성은 각자 어떻게 설계 하는 지에 따라 다르겠지만, DMAC의 경우 valid-ready 신호를 기다려야 하기 때문에 stage 사이에 아무래도 variable latency를 갖게 되겠죠? 해당 부분을 어떻게 처리할 수 있을지 고민해보시면 될 것 같습니다.

추가로, 수업 시간에 말씀 드린 것처럼 먼저 single channel에서 충분히 생각해 보신 후에 multi-channel로 확장하는 것이 조금 더 쉽게 접근하실 수 있을 거라 생각합니다.

혹시 질문에 대한 답변이 되었을 까요?

akskekekdk commented 1 year ago

네 답변 감사합니다:)