garbages

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ garbages ] in KIDS
글 쓴 이(By): cookie ()
날 짜 (Date): 2012년 10월 23일 (화) 오후 11시 10분 08초
제 목(Title): 가비지 컬렉션 CPU 서포트


현대의 컴퓨터 시스템에 갈수록 memory gabage collection 의 역할은 
중요해지고 있다. 그런데도 CPU구조에서 이렇다할 support를 받고 
있지 못하다. 현재 CPU들은 MMX라든지 vector 명령이라든지 
암호화/보안 관련 명령세트같이 특수화된 조작을 위한 명령어들이 
늘어나고 있지만 GC를 위한 확장명령은 아직 없다.

과거 symbolic Lisp Machine 같은 특수 CPU에는 memory tag 나
Mark-sweep 등 GC를 위한 배려나 지원이 있었지만 
현시대의 general purpose CPU에서는 볼수 없다.

그래서 그런 Lisp machine 정도 까지는 아니더라도 
현재의 Java/C#/script 언어등이 효율적으로 사용할수 있는 
공통 GC 메커니즘과 이를 지원하는 architectual support 를 
현재의 CPU 구조에 추가하는게 어떨까?

현재의 CPU 주소공간의 일부을 remapping 해서 memory tag 로 
사용할수 있도록 하는 정도는 그리 어렵지 않게 구현할 수 있을 것이고
현재의 일반적 용도에도 부담을 주거나 충돌하지 않을 것이다.
캐시 메모리도 이런 용도에 적합하게 확장될수 있다.

현재 CPU의 주류가 64 비트가 되고 메모리포인터의 길이도 64비트가 
되었지만 실제로 사용되는 주소 비트는 32 + 알파 비트 정도에 불과해 
나머지 64비트 주소 레지스터/포인터 메모리의 절반 가량이 낭비되고 있는데 
그걸 좀더 유효한 용도로 활용할 수 있도록 하는게 어떨지?




[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.