• 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    미해결

On-chip vs Off-chip

23.01.31 13:28 작성 23.01.31 14:15 수정 조회수 2.58k

1

안녕하세요 맛비님.

On-chip memory와 Off-chip memory에 대해서 질문드립니다.

 

  1. Off-Chip memory와 가속기 사이에 On-chip memory가 있는 이유? on-chip memory에 accumulator만 존재하면 되지 않을까요? (dram에서 read되는 data -> On chip의 accumulator -> 가속기). 이런 순서로 데이터가 이동하면 sram read delay가 없어도 되지 않을까요? (On-chip memory가 sram이라는 가정하)

    1. 병목 현상으로 이 중 가장 느린 device인 DRAM의 속도에 맞춰질 텐데, DRAM에서 주는 data를 accumulator만 거쳐서 바로 가속기에 넣을 수는 없을까요?

  2. 제가 알기로는, 병목 현상을 방지하기 위해서 빠른 device는 빠른 device 들끼리 묶어서 속도가 빠른 BUS를 사용하고, 느린 device는 느린 device들끼리 묶어서 속도가 느린 BUS를 사용한다고 알고 있는데, 만약 이 말이 맞다면, 빠른 device들과 느린 device들의 연결은 어떻게 해주는지 궁금합니다.

  3. Off-chip memory는 chip 외부에 있기 때문에 메모리 내 데이터를 read write 할 때 power 소모가 on-chip 대비 크다라고 말씀하셨는데, 왜인지 잘 모르겠습니다. Chip 내에서만 power 소모가 일어나는 건가요? power 소모의 주체는 누구인지 궁금합니다.

감사합니다.

 

 

답변 1

답변을 작성해보세요.

1

안녕하세요 :)

제 생각을 적습니다. 상세 질문의 답은 스킵하겠습니다.
디테일한 설명은 공부를 통해서 해소 부탁드릴께요.

 

Off-Chip memory와 가속기 사이에 On-chip memory가 있는 이유?

보통 memory size 는 Off-chip > On-chip 입니다.

R/W 속도는 Off-chip < On-chip 이죠.

예를 들어 A~Z 까지 Data 가 off chip 에 있었습니다.

Off chip 은 A~Z 까지 저장 가능하다,

On chip 은 5개의 알파벳만 저장 가능하다.

만약 연산시 A~E 의 Data 사용이 빈번하다고 해볼께요.

그러면 A~E 를 On chip 에 올려놓고 사용하면 되겠죠.

 

제가 알기로는, 병목 현상을 방지하기 위해서 빠른 device는 빠른 device 들끼리 묶어서 속도가 빠른 BUS를 사용하고, 느린 device는 느린 device들끼리 묶어서 속도가 느린 BUS를 사용한다고 알고 있는데, 만약 이 말이 맞다면, 빠른 device들과 느린 device들의 연결은 어떻게 해주는지 궁금합니다.

위의 방식처럼 해결합니다. 최대한 느린 Device 의 로딩을 최소화 시켜야합니다.

 

Off-chip memory는 chip 외부에 있기 때문에 메모리 내 데이터를 read write 할 때 power 소모가 on-chip 대비 크다라고 말씀하셨는데, 왜인지 잘 모르겠습니다. Chip 내에서만 power 소모가 일어나는 건가요? power 소모의 주체는 누구인지 궁금합니다.

직관적으로 생각해보면 (그외 더 많은 factor 가 있겠지만)

Off-chip 은 Chip 바깥에 있습니다. On-chip 은 칩 내부에 있습니다.

전기신호를 통해 Data 를 주고 받습니다.

Wire length 가 길 수록 높은 전류를 필요로 하죠. nano 공정에서 On-chip 의 wire length 와 Off-chip 의 wire length 를 생각해보시면 됩니다.

Power 소모의 주체는 Data 전송을 위한 Power 드라이빙 (amplifier) 소자입니다.

즐공하세요 :)

 

osia0921님의 프로필

osia0921

질문자

2023.02.01

답변 감사합니다 :)

빠른 Device들과 느린 Device 들의 연결은 어떻게 해주는지?

위의 방식처럼 최대한 느린 Device의 loading을 최소화 시켜야 한다. 라고 하셨는데,

  1. 느린 Device인 DRAM과 빠른 Device인 가속기가 있다고 할 때, 중간에 빠른 Device인 SRAM을 삽입함으로써, DRAM의 데이터 loading을 최소화 시킬 수 있다. 이 말이 맞는지 궁금합니다.

  2. "DRAM의 loading을 최소화 한다"가 구체적으로 어떤 의미인지 궁금합니다.

바로 답변드려요

A1. 맞습니다.

A2. access 를 최소화 하자 의미입니다.

osia0921님의 프로필

osia0921

질문자

2023.02.01

중간에 SRAM을 삽입함으로써 DRAM의 access를 최소화한다면 병목 현상을 아예 없앨 수는 없고,

병목 현상을 최소화할 수 있다고 봐야할까요?

네 맞습니다. :)

아예 없앤다..? 설계자의 역량 혹은 상황에 따라 할 수 있죠.

세상에 완전히, 100% 의 답은 없습니다.

즐공하세요 :)

osia0921님의 프로필

osia0921

질문자

2023.02.01

넵 좋은 하루 되세요 맛비님