in place 메모리 연산
2017/08/16
링크의 기사와는 조금 다른 이야기지만 내 생각엔 아마도.. 이런 기술을 만들면 좋것다.
- DMA와 비슷한 개념에 해당하는 다이렉트 메모리 연산을 지원하는 메모리 컨트롤러.
- 2D 가속기에서 지원하는 bitblit copy와 비슷한 유형의 다이렉트 메모리 연산을 지원하는 메모리 컨트롤러.
- SIMD와 비슷한 방식이지만 광역 동시 연산을 수행하는 메모리 컨트롤러.
- 이 메모리 컨트롤러는 현대의 CPU처럼 굳이 CPU에 존재할 필요도 없이 메모리 모듈이나 메모리 칩 자체에 장착될 수도 있겄다.
- 즉슨, 꼭 뉴메모리가 아니더라도 메모리에 읽기/쓰기/주소 등의 포트외에 "커맨드" 버스를 파고, 이 버스에 특정 연산 (아마도 매트릭스 다이렉트 연산) 명령을 흘려보내면 메모리가 알아서 in-place 연산을 하는 것이다. 다 계산했다고 알려는 줘야 되니까 비동기 트리거를 위한 인터럽트 출력 라인을 하나 파도 좋고 걍 CPU 자원 중 일부가 인터벌 폴링을 하거나, 간단한 연산이라면 그냥 연산 결과를 알려줄 필요없이 퉁쳐서 아토믹 연산으로 만들어버려도 되겠다. (동기화 작업이므로 마냥 기다려야 하지만 빠르니까 괜찮아 어프로치)
- 지원해야 할 연산은 기본적인 사칙연산/비트연산/곱셈후 누산 3항연산/마스킹등이 있겠지만..
- 최초 버전에서는 가격을 고려하여 그냥 dma나 bitblit 방식으로 특정 영역을 0이나 지정값으로 밀어버리기, 영역2영역으로 비트 연산 때리기, 특정 영역 랜덤값 채우기 정도만 지원해도 될 것 같다.
- 가격은 우짤껀데? 그거야 짤방 참조.
- 어따 쓰니? 두말할 것도 없이 인공지능.
컨셉 논문이나 하나 쓸까. 우린 안 될꺼야 아마.
[t:/] is not "technology - root". dawnsea, rss