'분류 전체보기'에 해당되는 글 275건

  1. 2008.01.02 2008년 1
  2. 2007.12.27 우울한 저녁식사 4
  3. 2007.12.14 SystemC 프로세스 2
  4. 2007.12.09 IDL 2
  5. 2007.08.12 사알~ ;ㅁ; 1
  6. 2007.07.25 악필 1
  7. 2007.07.24 배탈
  8. 2007.07.19 즐겁게 살아야지요. 3
  9. 2007.07.19 복귀 3
  10. 2007.07.18 뉴욕뉴욕 4
스니 이야기/일기2008. 1. 2. 15:13
새해인지 아직 실감이 안나지만, 새해이다.
해가 갈 수록, 새로운 일에는 둔감해진다.

어릴 때에는 추석에 송편을 빚거나
설날 떡국을 먹고 세뱃돈을 받는게 즐겁고 설레이는 일이었는데,
지금은 그냥 매년 해오던 일에 불과하고,
오히려 명절에 일을 해야하는 괴로움이 있다.


이제는 작심 삼일 따위의 계획도 귀찮다.
방학이 없어서 일까?
되풀이 되는 연구실 생활 덕분인지도.
Posted by 스니
스니 이야기/일기2007. 12. 27. 18:51
오늘 저녁식사는 꼭 학부 4학년의 점심식사 같았다.

아무것도 듣고 싶지 않아!

고개만 푹 숙이고 밥만 먹었다.

자리를 박차고 나오고 싶지만, 그럴 용기는 없고,
나름, 무언의 의사 표현.
제발, 그만 좀 하라고!

이 세계를 떠나야 할텐데ㅡ 언제 떠나나ㅡ
떠나서는 어디로 갈 수 있을까

Posted by 스니
컴퓨터 과학!/SCA2007. 12. 14. 21:13
SystemC process는 thread process와 method process가 있는데, 이외에 cthread(clock thread) process와 dynamic process도 있다.

0. 시뮬레이션 커널
시뮬레이션 커널에는  Waiting Pool, Ready Pool, Event Pool이 있고, Ready Pool에 있는 process를 꺼내어 실행하고, return명령으로 함수 실행이 끝나거나  wait()호촐로 process가 일시 정지되면 Waiting Pool로 이동한다. 실행 중인 프로세스에서 event를 notify하면 해당 event를 Event Pool에 넣는다.

Ready pool에 있는 모든 process를 싱행하면 하나의 evaluation단계가 끝나게 되고, event pool에 의해 다음 evaluation 단계가 실행된다.

주의할 점은, evaluation 실행 동안에는 시뮬레이션 시간이 정지한다(zero time)는 점이다. Evaluation이 끝나면 event pool에 있는 event를 보고, 지정된 시뮬레이션 시간이 진행된 뒤, 그에 sensitive한 process를 waiting pool에서 ready pool로 옮기고 다시 evaluation을 실행한다.

Ready pool, wating pool, event pool이 모두 비면 시뮬레이션을 종료한다.

Zero time 안에 실행되는 프로세스의 실행 순서는 non-deterministic이고, 시뮬레이션 결과는 consistency를 유지해야 한다.

sc_module 클래스의 멤버함수를 시뮬레이션 process로 사용하려면 시뮬레이션 커널에 등록해야 한다. 이렇게 등록된 process는 커널의 스케쥴러를 통해 호출된다.
이러한 process는 constructor안에서 등록한다.

1. SC_THREAD  
SC_THREAD( process_name );
process_name은 등록할 멤버함수의 이름이다. 주의할 점은, 프로세스로 등록할 함수는 parameter와 return value가 없다는 것이다. 이는 시뮬레이션 커널이 프로세스를 호출하는 메커니즘을 단순화하기 위해서 만들어진 규칙이다.

Thread process는 시뮬레이터에 의해 한 번만 호출된다. SystemC는 nonpreemptive scheduling 방식을 사용하므로, thread는 return/waiting 이 아니면 시뮬레이터를 독점한다. 따라서 보통의 thread process는 while(true)와 같은 구문에 wait를 가지는 구조로 설계된다.
wait 없이 간접적으로 process가 일시정지 되는 경우도 있는데, FIFO 채널에서 읽을 데이터가 없거나 쓸 공간이 없을 때 가능해 질 때 까지 일시정지된다.

2. SC_METHOD 
SC_METHOD( process_name );
Thread process에 비해 기능이 단순하여 다양한 모델링에 적용하기에는 부족하지만, 가볍기 때문에 효율적이다. Thread process와의 가장 큰 차이점은 wait()를 사용할 수 없으며, return에 의해서만 실행이 중지된다. 또한, event에 의해 여러번 호출될 수 있다.
따라서, method process는 간접적으로 중지될 수 있는 sc_fifo등을 사용하면 안된다.

Tread와 method는 그 이름에서 알 수 있듯이, tread의 경우 중단된 이후애 실행이 resume되었을 때, 그 전의 변수값들이 보존되어있다. 그라나 method process의 경우, 실행 중간에 중단되지 않으며, 실행이 종료된 이후, 이벤트 틍에 의해 시뮬레이션 커널이 다시 호출하였을 때에는 변수값들이 모두 초기화된다. Process를 method로 할 것이냐 thread로 할 것이냐를 결정할 때 이러한 사항도 고려해야 한다.
Posted by 스니
컴퓨터 과학!/SCA2007. 12. 9. 18:05

IDL

인터페이스 정의언어, 구현언어로 매핑을 지원.
객체지향 개념. C++의 class와 비슷하지만,  JAVA의 interface와 더욱 유사.

interface Sample {
    attribute long a; // attribute 키워드 없으면 에러.
    readonly attribute string b;
    string oper1();
    oneway void oper2();
    void oper3() raises(UsrException);
};

간단히 뭐 이런 식.

상속 가능, 다중 상속도 가능, 단 상속 받을 interface간에 같은 이름이 있으면 안됨.
interface A {
    attribute long l;
    void oper();
};
interface B {
    attribute long l; // 이름 충돌 에러 발생
};
interface C: A, B {
    void oper(); // 재정의 시도 에러 발생
};

Scop을 정하고 계층화 하는 module을 사용할 수도 있음.
module CF {
    interface DomainManager{};
    module CF1{
        interface Resource{};
    };
};
CF::DomainManager, CF:CF1:Resource 이런 식으로 접근이 가능함.

이렇게 만들어진 IDL 파일과 실제 구현과의 mapping은 IDL 컴파일러가 하는 것 같은데,
그 과정이 궁금함. 프로그래머는 어느 수준까지 정의해 줘야 하는가?

Posted by 스니
스니 이야기/일기2007. 8. 12. 17:55
이제ㅡ 잘 빠지지도 않아... TAT

겨우 빠졌다 생각했는데, 방심한 사이에 다시... ;ㅁ;
Posted by 스니
스니 이야기/일기2007. 7. 25. 19:47
나는 원래 글씨를 이쁘게 쓸 줄 모르는 사람이다.
그래도 고등학교 때 까지는 깔끔하게 정리를 잘 했는데...

갈 수록 더 악필이 되더니,

3개월만에 펜을 잡았더니.... 완전 엉망이다. -ㅅ-;;;;

뭔가 정리를 쭉~ 해 놓고 보면,
이건 정리도 아니고 낙서도 아니여ㅡ -ㅇ-;;;

부끄럽다. 쿠쿠쿠
Posted by 스니
스니 이야기/일기2007. 7. 24. 15:54
사용자 삽입 이미지
며칠째 배탈이 나서 뭔가 잘 먹지를 못한다.
밥을 먹을라고 해도, 속이 안좋아서 잘 못먹겠고...

그러나ㅡ

버터핑거나 하루에 와플, 펜케익.
에땅 크레이프 케이크, 테이블의 밤케익.
스타벅스의 볼케이노 케이크...

무지하게 땡긴다.

그런데 정말 속이 안좋긴 한건지,
녹차빙수는 생각만 해도 속이 으스스스ㅡ 하네.

찬걸 너무 많이 먹었나. 씁ㅡ!
Posted by 스니
스니 이야기/일기2007. 7. 19. 16:32
사용자 삽입 이미지

완전 즐거워 하고 있음...
내가 정말 행복한 순간.

만나기만 하면 저렇게 쉽게 즐거운데.
왜 저런 순간이 쉽지 않은 걸까요
Posted by 스니
카테고리 없음2007. 7. 19. 11:51
예정보다 짧게 쉬다가 연구실로 돌아왔다.

그.런.데.

모니터도 다 없어지고ㅡ 보조 PC도 없어지고ㅡ

사람들이 챙겨줘서 얼추 자리를 갖추었는데,

지금 보니까 스피커도 사라졌고, 이어폰 연장선도 어디로 갔지 -ㅅ-;;

노래가 듣고 싶어효. TAT
Posted by 스니
스니 이야기/일기2007. 7. 18. 13:52
사용자 삽입 이미지

언니가 있는 뉴욕뉴욕.
팔이 낫질 않아서 병원 다니느라 가지 못했다.

무지 가고싶다. TAT
언니도 너무 보고싶고.
Posted by 스니