포토로그 마이가든



VFP & NEON 명령과 조건코드 IT

ARM 상태에서는 조건 코드를 사용하여 VFP 명령어 실행을 제어할 수 있다. 이 명령어는 APSR의 상태 플래그에 따라 대부분의 다른 ARM 명령어와 마찬가지로 조건부로 실행된다.
하지만, ARM 상태에서는 VFP와 NEON에 공통적인 명령어를 제외하고 조건 코드를 사용하여 NEON 명령어 실행을 제어할 수 없습니다. Thumb-2 프로세서의 Thumb® 상태에서는 IT 명령어를 사용하여 다음에 나오는 최대 네 개의 NEON 또는 VFP 명령어에 조건 코드를 설정할 수 있습니다. 그러나 NEON 명령을 통해서 FPSCR이 update가능하다.(ex. VQSHL, VQABS)

* 그러니깐 주로 ARM mode를 사용하고 있는 나는 NEON coding 시 조건코드를 사용할 수 없다고 알아 두면 되겠군...


GRE 정보 영어

gre_info.pdf

G.711(ITU-T) 업무

1. 개요
ITU-T G.711은 64 kbps PCM 에 의한 「음성부호화」표준을 말한다.
2. 참고사항
ㅇ G.711은 PSTN 망에 기본으로 적용되는 방식으로써, 그냥 PCM 방식 이라고도 한다.
ㅇ PCM 방식은,
  - 300 Hz ~ 3400 Hz 대역의 음성대역 신호를 8 kHz로 표본화하고,
  - 각 표본을 8비트로 부호화하여,
  - 8000 x 8 = 64 kbps로 전송할 수 있도록 부호화하는 기법이다.
http://www.ktword.co.kr/abbr_view.php?mgid=176&m_temp1=1968

dBm0

논문읽기: 최근 프로세서 발열 관리 연구 동향 학업

"프로세서의 과열이 예상되는 지점에 컴파일러가 NOP명령어를 중간에 삽입함으로써 과열을 막는다. NOP 명령어는 명령어
반입이외에 아무 역할도 수행하지 않기 때문에 온도를 낮출 수 있다."
- Thermal-Aware Instruction Assignment for VLIW Processors

--
마찬가지로 Stall도 온도를 낮출 수 있을 것 같다. 하지만, stall 없이 작업을 빨리 끝내고 cpu idle mode로 빠지게 하는 것도 좋은 발열 관리 기법이 아닐까?

How to measure time on Windows OS IT

LARGE_INTEGER start, end, frequency;
float total_processing_time;

QueryPerformanceFrequency(&frequency);
QueryPerformanceCounter(&start);

<do something...>

QueryPerformanceCounter(&end);
total_processing_time = (float)(end.QuadPart - start.QuadPart)/frequency.QuadPart;

But if the frequency of processor is changed while measuring time, we could get wrong result.
So I don't recommend this way. (I think we could this just by using some standard time functions)

- Extra information -
The QueryPerformanceFrequency function retrieves the frequency of the high-resolution performance counter, if one exists. The frequency cannot change while the system is running.

The QueryPerformanceCounter function retrieves the current value of the high-resolution performance counter.

The LARGE_INTEGER structure is used to represent a 64-bit signed integer value.
LowPart: Low-order 32 bits.
HighPart: High-order 32 bits.
u
LowPart: Low-order 32 bits.
HighPart: High-order 32 bits.
QuadPart: Signed 64-bit integer.

VLIW(Very Long Instruction Word) IT

From: http://blog.naver.com/blogyepp?Redirect=Log&logNo=80093053169

VLIW(Very Long Instruction Word)

 

SIMD 기술은 데이터의 실행 개수를 늘리는 방법인데 반해 VLIW 방식은 명령어의 실행 개수를 늘리는 기술입니다.

VLIW는 비교적 최근에야 CPU에 도입되었지만 실제로 3D 그래픽 가속기에서는 오래 전부터 사용되던 기술입니다.

VLIW 방식은 용어 그대로 명령어의 길이가 무척 긴 방식으로 128비트 또는 256비트 프로세서에 해당합니다.

하지만 128비트, 256비트 프로세서로 부르기 힘든 이유는 64비트급 프로세서 2개 또는 4개로 구성되기 때문입니다.

 

실제로 펜티엄에는 32비트 정수 유닛 두 개를 두어 연산하기 때문에 64비트 프로세서라 해야 하지만 엄밀히 32비트 단위 연산을 하기 때문에 32비트 컴퓨터라 하는 것이며 VLIW 방식의 컴퓨터도 명령어의 실행 단위는 256비트라 하더라도 실제 연산 범위는 64비트가 일반적이기 때문에 64비트 컴퓨터로 구분합니다.

예를 들어 인텔의 64비트 프로세서인 이타니움(Itanium)의 경우에 128비트 레지스터를 사용하고 256비트 버스 규격의 연산이 이루어지지만 실제 연산 범위가 64비트이기 때문에 64비트 CPU라고 하는 것입니다.

그렇다면 명령어의 길이가 길다는 의미는 무엇일까요단순하게 한 개의 명령어의 길이가 긴 것은 아니며 여러 개의 명령어가 하나의 세트로 구성되어 실행이 되기 때문에 명령어의 실행 단위가 길어진 형태를 갖고 있습니다.

 

 

                                        VLIW 처리방식


1 2 3 4 5 6 7 8 9 10 다음



내 중심

2010 My Keyword:
바른 영, 멋, 신의, 열정