4,551,514 th visitor since 2017.2.1 ( Today : 99 )
Computer ???
No. 105
Name. swindler
Subject. 3DNOW, SSE, SSE2
Main Cate. H/W
Sub Cate.
Date. 2005-08-12 15:59
Hit. 4183 (211.109.70.164)
File.
3Dnow 와 sse에 대해 간단히 아주 간단히 알아보자.

가장 중요한 탄생 배경은 Floating point 연산 속도 향상을 위해 탄생되었다.

기존 mmx는 정수 연산에 관한 명령어 이므로 Floating point 연산에는 한계를 나타내었다.

내 기억으로는 팬티엄 2 에서 MMX 가 나왔었다. 여기서 팬티엄3으로 넘어가면서 sse가 추가되었다. 자..여기서 sse가 어떻게 속도 향상을 하느냐 하면 이것은 simd 기법으로 하나의 명령어로 여러 데이터를 처리하는 기법이다. 현재 명령어 길이는 32비트이다. 그런데 이 기법을 사용하여 128비트 연산을 가능하게 한다. 즉 한 클럭으로 플로팅 포인터 연산 4개를 동시에 하게 하는것이다.

쩝...여기까지....

그리고 3Dnow는 AMD에서 사용하는 Floating point 고속 연산(?) 방식이다.

뭐sse랑 비슷하다고생각하면 된다. 자세히 알고 싶으면 관련 문서를 찾아보면 될것이고,

sse와 3Dnow 가 왜 생겼냐 뭐하는거냐 한마디로 Floating point 연산을 빠르게할려고 만든거라고 생각하면 된다.


-------------------------------------------------------------------------------
1. Intel 과 AMD의 processor의 차이
processor 내부의 많은 명령어를 담는 방법에 따라 차이를 보인다.

1) Intel : CISC( Complex Intruction Set Computer)
intel 8086은 명령어길이가 가변적(1bit ~ 8bit)이고 복잡하다.
이 구조는 최소한 메모리 구조를 갖도록 하기 위해
80486부터는 cpu clock를 높이는 방식으로 성능 향상을 기대 할
수 없는 문제에 봉착(동일 clock 에서 여러개의 명령어를 처리해
야 되는데 명령어 길이가 가변적이고 순차적으로 해석해야 하며
조건/비조건 분기가 중간에 자주 등장하므로 여러개의 명령어 처
리에 부적합)
결국 팬터엄부터는 CISC + RISC 방식 채택
CISC는 연산에 처리되는 복잡한 명령어들을 수백개 이상 탑재하
고 있는 프로세서인데 명령어의 증가로 그 프로세서 내부 구조는
매우 복잡하여 고속으로 동작하기 여려움

2) AMD : RISC( Reduce Instruction Set Computer)
고정된 길이의 명령어를 사용하고 해석속도가 빠르며 여러개의
명령어를 처리하기에 적합

2. SSE 와 3DNow의 탄생 배경
1) 팬티엄 II -> 팬티엄 III 로 변화를 꾀했는데도 불과하고 성능 향
상면에서 큰 차이를 못 느낌
2) 기존의 MMX 는 정수 연산의 관한 명령어이므로
Floating - point (부동소수점)연산의 한계
3) 한번에 여러 FP data를 처리 할 수 있는 명령어가 필요

3. SIMD 란?
SIMD : Single Instruction Multiple Data


4. SSE 와 3DNow의 동작 원리의 차이
SSE : 1연산당 4쌍의 FP 계산 < 1 clock 1개의 SIMD 연산 >
128bit 레지스터 사용
3DNow : 1연산당 2쌍의 FP 계산 <1 clock 2개의 SIMD 연산 >
결국 1clock당 4쌍의 FP 계산
64bit 레지스터 사용

Intel의 경우 MMX, SSE, SSE2 등 공용이 아닌 서로 다른 레지스터를 갖고 있고 많은 명령어를 사용하여 복잡하지만 다양한 명령어를 지원하므로 Mulitmedia 관련된 분야에 강점을 보인다.
AMD의경우 최적화된 속도 향상을 위해 적은 레지스터를 사용해야 하므로 MMX와 래지스터를 공용으로 사용하게 되어 64bit 레지스터를 사용하게 되었고 적은 명령어로 Multimedia 보단 3D 관련 게임쪽에서 두각을 나타낸다.

5. 결론
-> performance 향상을 위해선 필수
-> AMD나 Intel 플랫폼에 따른 적절한 명령어 사용
-> 엔진에선 Vector와 Matrix 연산에 필요


[바로가기 링크] : http://coolx.net/cboard/computer/105



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog