20150414

1. 영어 기사 읽기
1) Neanderthal who fell into a well gives scientists oldest DNA sample, CNN
– Recently, researchers made an exception, and toted off a chip from his right shoulder blade to the lab. (tote – 수송하다)
– The scientists hope they will be able to sequence his DNA, to find out more about the evolution of all hominids (hominid – 인류, 인류의 조상)
2) Typing Style Reveals Fatigue or Disease, Scientific American


2. Computer architecture 청강
– OoO engine 비교 소개 (David Kanter, Inside Nehalem: Intel’s Future Processor and System, http://www.realworldtech.com/nehalem/6/)
– Nehalem에서는 reservation station을 execution unit끼리 공유한다. Reservation station을 execution unit끼리 나누어 쓰면 크기가 작아 빠르지만 비효율적이다.
– ROB를 사용했을 때, architectural register file은 안전하게 시스템 상태를 보존한다. ROB가 차례대로 commit되어야 architectural register file을 업데이트한다. 하지만 future file을 사용하면 틀릴 가능성이 있지만 최신의 register value를 저장한다. 결과를 쓸 때에는 ROB와 future file 모두에 쓰고, 계산 중에 새로운 값을 읽어야 하면 future file에서 읽으면 된다. ROB에서 읽고 쓰기를 하는 것이 부담이 되기 때문에 future file을 두는 것. ROB에서 하려면 오버헤드가 크다.
– Physical register file을 사용해 renaming을 할 수도 있다. Reservation station, ROB에 결과를 저장하는 대신에 physical register file에 결과를 저장한다. 이 경우에 instruction window size는 physical register file의 크기에 제한된다. 이 경우에 speculative한 실행을 recovery하는 방법은 mapping table을 사용하면 된다. mapping table을 돌려놓음으로써 recovery 가능. Active map과 architectural map을 유지한다. Active map은 future file의 역할, architectural map은 architectural register file의 역할을 한다.
– Speculative한 실행은 가능한데, 이것의 효과를 최대화하려면 branch prediction을 잘 하는 것이 중요하다.
– Static prediction은 항상 같은 것으로 predict하는 것. 이 경우에 SPEC에서 always taken이면 misprediction이 34%
– Profile-based static prediction은 프로그래머와 프로그래머가 힌트를 주는 것. 그 힌트에 따라 static하게 branch prediction을 한다.
– Dynamic branch prediction은 HW가 branch prediction하도록 하는 것.
– 1-bit branch history table은 해당 주소에서 바로 이전의 branch가 taken이었는지 아닌지를 기준으로 이번 branch가 takend인지 아닌지 예측한다. 모든 PC를 대상으로 하면 오버헤드가 크다. 따라서 하위 N bit를 가지고 테이블을 만든다. 테이블 충돌이 발생할 수 있다. 같은 하위 N bit를 가지는 경우에 문제가 발생할 수 있음. 하지만 그것이 큰 문제가 되지는 않는다. taken과 not taken을 반복하는 경우에는 prediction에 모두 실패한다. 이를 해결하려면 2-bit saturating counter를 사용하면 된다.
– 실제 프로세서에서는 여러 개의 branch predictor를 사용하고 있을 수 있다. 두 개의 predictor에 대해 누가 더 옳은지 predict하는 tournament predictor를 둘 수 있다.
– Branch prediction에서 해당 프로세스 전체에서 발생하는 branch의 기록인 global history와 특정 branch의 기록인 local history가 있음. local history가 더 정확할 것 같지만, 명령어 사이에 correlation이 있다면 global history가 좋음.
– global history predictor는 2 bit saturating counter에 index로 최근 N bit의 global history를 사용한다. global history predictor는 개별 branch 명령어에 대한 고려 없이 predict하므로 문제가 있을 수 있음.
– 이를 해결하는 방법으로 gselect와 gshare 방법이 있음. gselect는 global history에 branch address를 붙인 것. gshare는 global history와 branch address를 xor한 것. 이를 사용해 global history table을 indexing한다.
– Recommended readings: 1) Combining branch predictors, Scott McFarling 2) Two-level Adaptive Training Branch Prediction, Tse-Yu Yeh and Yale N.Patt
– Return address predictor는 procedure call의 특성을 이용해 다음 주소를 예측한다. call할 때 return address를 stack에 넣어둔다. 그리고 fetch 단계에서 return 명령어를 본다면 return address stack에서 해당 주소를 보고 다음 명령어를 fetch해오면 된다.


3. MARSS 개발


4. SIGFPGA 준비
– ZedBoard.org에서 제공하는 tutorial을 따라해봤는데, 오류가 있었다. DQS 값이 ZedBoard 설정과 달랐고, 이로 인해 DDR controller가 reset 상태에서 멈춰있는 오류가 발생했었다. 이를 해결하고자 잘 동작하는 프로젝트의 DQS parameter를 사용했으며, 그렇게 했더니 잘 동작했다.
– ZedBoard의 USB-UART 드라이버와 DE2 보드의 드라이버가 Windows 8.1에서 충돌을 일으키는 것 같다. 이 때문에 connection to board failed 에러가 발생했음. 이 에러를 해결하고자 윈도우만 세 번 재설치함.
– ZedBoard에서 할 수 있는 것은 processing system (PS) 수정, programmable logic (PL) 수정이다. PS라고 해서 모두를 수정할 수 있는 것은 아니고, 일부 인터페이스와 연결을 수정할 수 있다.


5. 윈도우 재설치 – 원격 데스크탑 관련
SIGFPGA 준비 때문에 윈도우 재설치를 세 번 함. 원격 데스크탑 접속을 열 수 없어서 문제가 있었음. 원격 데스크탑을 허용하고, 방화벽을 열어줘야 한다.

Advertisements
Tagged with: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Posted in 1) Memo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 98,786 hits
%d bloggers like this: