'전공관련/용어정리'에 해당되는 글 20건

  1. 2009.12.01 device driver : 텀스 펌
  2. 2009.08.28 Memory Mapped I/O & I/O Mapped I/O
  3. 2009.08.28 Speculative Execution
  4. 2009.08.28 DMA (Direct Memory Access)
  5. 2009.08.28 TLB (Translation Lookaside Buffer)
  6. 2009.08.28 Harvard Architecture
  7. 2009.08.28 Addressing mode
  8. 2009.08.28 RISC (Reduced Instruction Set Computer)
  9. 2009.08.28 Load-Store machine
  10. 2009.08.27 Amdahl's law
2009.12.01 20:24
갑자기 궁금해서 찾아봤다..

=============================================================================

device driver ; 장치 드라이버

장치 드라이버는 자신의 컴퓨터에 부착된 특정 주변장치들을 제어하기 위한 프로그램이다. 프린터모니터CD-ROM 등에는 모두 이에 맞는 장치 드라이버들이 있다. 많은 장치 드라이버들은 운영체계를 구입하면, 거기에 포함되어 함께 제공된다. 그러나, 만약 나중에 운영체계가 예상치 못했던 새로운 형태의 장치를 구입했다면, 사용자 책임 하에 새로운 장치 드라이버를 설치해야만 한다 (대개, 제작회사가 제공하는 장치 드라이버가 그 장치에 딸려 나온다). 장치 드라이버는 본래 운영체계의 많은 일반적인 입출력 명령어들을, 각 장치들이 이해할 수 있는 메시지의 형태로 변환하는 역할을 담당한다.

윈도우 운영체계에는 가상 장치 드라이버의 역할을 하는 프로그램들이 있다. 이러한 프로그램들은 윈도우 가상 장치 관리자와의 인터페이스를 수행한다. 하드디스크 드라이브 제어기, 키보드 그리고 직렬 및 병렬 포트 등을 포함한, 시스템 내의 주요 하드웨어 장치를 위해 가상 장치 드라이버가 있다. 이것들은 수정 가능한 설정치들을 가지고 있는 하드웨어 장치의 상태를 유지하는데 사용된다. 가상 장치 드라이버들은 하드웨어인터럽트가 아니라, 시스템으로부터 발생하는 소프트웨어 인터럽트를 처리한다.

윈도우 운영체계에서, 장치 드라이버 파일은 대체로 ".DLL"이나 ".EXE"와 같은 파일이름 확장자를 가지며 가상 장치 드라이버는 대체로 ".VXD"라는 확장자를 가진다.

=============================================================================

'전공관련 > 용어정리' 카테고리의 다른 글

device driver : 텀스 펌  (0) 2009.12.01
Memory Mapped I/O & I/O Mapped I/O  (0) 2009.08.28
Speculative Execution  (0) 2009.08.28
DMA (Direct Memory Access)  (0) 2009.08.28
TLB (Translation Lookaside Buffer)  (0) 2009.08.28
Harvard Architecture  (0) 2009.08.28
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:36

Memory Mapped I/O방식 메모리와 I/O가 하나의 연속된 어드레스영역에 할당된다. 따라서 I/O가 차지하는 만큼 메모리 용량은 감소한다. CPU입장에서는 메모리와 I/O가 동일한 외부기기로 간주되므로 이들을 액세스 하기위하여 같은 신호를 사용한다.(read/write) 또한 소프트웨어적으로도 메모리에 대한 엑세스나 I/O에 대한 데이터 입출력이 동일한 것으로 간주되므로 Load나 Store 명령에 의해 수행된다.

(대표적인 프로세서 : ARM, MIPS, PowerPC, M68K)

위 방식의 가장 큰 장점은 포트 입출력을 구현할 때 부수적인 복잡성이 없어지기 때문에 CPU 내부적으로 로직이 덜 필요하고, 이는 더 저렴하고 빠르고 쉬운 CPU를 만들 수 있게 한다. 이 점이 RISC가 추구하는 바와 같다. 이러한 특징은 임베디드 시스템 구현시 장점으로 적용한다.

하지만 주소와 데이터 버스를 많이 사용하게 되어, 메인 메모리에 접근하는 것보다 매핑된 장치에 접근하는 것이 더 느리다.




I/O Mapped I/O
메모리와 I/O가 별개의 어드레스 영역에 할당된다. 따라서 I/O를 사용하더라도 메모리 용량은 감소하지 않는다. CPU의 입장에서는 메모리와 I/O를 구분하여 취급해야 하므로 이들을 액세스하기 위해서는 RD, WR 신호 이외에 추가적으로 I/O에 접근하기 위한 신호가 필요하다. 소프트웨어 적으로도 메모리에 대한 데이터의 액세스와 I/O에 대한 데이터의 입출력이 서로 다른 것으로 간주되어 메모리에 대한 엑세스는 Load/Store에 의해 수행되고 I/O의 입출력은 Input이나 Output 명령에 의해 수행된다.

(주로 Intel 계열의 프로세서에서 사용 한다. x86)

이 방식의 가장 큰 장점 어드레싱 능력이 제한된 CPU를 사용할 때이다. 입출력 접근을 메모리 접근과 분리하기 때문에 메모리용으로 주소영역 전체를 사용할 수 있다. 또한 어셈블리어상에서 소스를 볼때 입출력 수행 루틴을 알아보기 쉽다.



'전공관련 > 용어정리' 카테고리의 다른 글

device driver : 텀스 펌  (0) 2009.12.01
Memory Mapped I/O & I/O Mapped I/O  (0) 2009.08.28
Speculative Execution  (0) 2009.08.28
DMA (Direct Memory Access)  (0) 2009.08.28
TLB (Translation Lookaside Buffer)  (0) 2009.08.28
Harvard Architecture  (0) 2009.08.28
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:36

프로세서의 성능을 크게 향상 시킨 기술 중 하나로 speculation을 들 수 있을 것 같다.

단순히 분기 예측과 같은 control flow의 speculation 뿐만 아니라 data flow도 충분히 speculation을 할 수 있다. 한마디로 미래의 일을 예측해서 일단 하고 보는 것이다. 그래서 결과가 맞으면 성능 향상이고 실패하면 손해를 감수해 가며 다시 복구한다. 흔히 이런 것을 speculative execution이라고 한다.

'전공관련 > 용어정리' 카테고리의 다른 글

device driver : 텀스 펌  (0) 2009.12.01
Memory Mapped I/O & I/O Mapped I/O  (0) 2009.08.28
Speculative Execution  (0) 2009.08.28
DMA (Direct Memory Access)  (0) 2009.08.28
TLB (Translation Lookaside Buffer)  (0) 2009.08.28
Harvard Architecture  (0) 2009.08.28
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:35


프로세서는 하드웨어에 데이터를 써넣거나 읽음으로써 제어한다. 그래서 프로세서는 주변 장치 제어를 위해서 항상 로컬 버스를 점유한다. 그런데 음향이나 영상을 다루는 하드웨어는 프로세서에서 하드웨어에 제어 데이터를 써넣거나 상태 데이터를 읽어오는 것만으로는 모두 처리 되지 않는다. 또한, 음향이나 영상 데이터는 처리량이 매우 많기 때문에 하드웨어에 데이터를 써넣기 위해서는 많은 시간을 필요로 하게 된다. 프로세서에서 메모리에 데이터를 써넣기 위해서는 다음과 같은 과정이 반드시 수반된다


1) 메모리 장치에서 하드웨어에 써넣을 데이터를 프로세서의 레지스터로 읽어 들인다.
2) 프로세서의 레지스터 내용을 하드웨어에 써넣는다.

이 두가지 과정만으로 모든 작업이 완료되는 것이 아니라, 각 과정마다 메모리에서 레지스터로 데이터를 불러들이고 그 데이터를 하드웨어에 쓰는데, 프로세서는 이 작업을 수행하느라 다른 작업을 수행하지 못하게 된다. 이것은 컴퓨터를 느리게 하는 주범중에 하나이다. 그래서 이러한 문제점을 해결하기 위해서 등장한 것이 DMA이다.

DMA는 프로세서 대신에 DMAC(Direct Memory Access Controller)가 데이터의 전송을 담당하여 메모리와 I/O 디바이스간의 데이터 전송을 고속으로 수행한다. 다음 그림은 DMA의 일반적인 구조이다.






순차적으로 이 과정을 설명하면,

1) 메모리에서 I/O디바이스로 일정크기의 데이터를 전송하기 위해 가장 먼저 프로세서는 DMAC에 전송하려 하는 메모리의 선두 주소와 전송 대상이 되는 하드웨어의 선두 주소를 지정하고 전송하려는 데이터의 크기를 전달한다.
2) 그리고 DMAC에게 데이터 전송을 요구한다.
3) DMAC는 프로세서의 전송 지시가 전달되면 프로세서에 로컬 버스의 제어권을 요구한다.
4) 프로세서가 로컬 버스의 제어권을 DMAC에 넘기면, 그때부터 DMAC는 메모리와 I/O디바이스에 데이터를 전송한다. 이 때 데이터 전송은 한번에 이루어지고, DMAC는 명령 해석에 대한 처리 수행 시간이 필요없기 때문에 고속으로 데이터가 전송된다.
5) DMAC는 데이터 전송이 끝나면 로컬 버스 제어권을 프로세서에 반납하고, 프로세서에 데이터 전송이 완료되었음을 알리는 인터럽트를 전달한다.

'전공관련 > 용어정리' 카테고리의 다른 글

Memory Mapped I/O & I/O Mapped I/O  (0) 2009.08.28
Speculative Execution  (0) 2009.08.28
DMA (Direct Memory Access)  (0) 2009.08.28
TLB (Translation Lookaside Buffer)  (0) 2009.08.28
Harvard Architecture  (0) 2009.08.28
Addressing mode  (0) 2009.08.28
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:34

IBM사의 용어로, 주어진 세그먼트와 페이지가 주기억 장치에 있는지를 판별하는 데 사용되는 특수한 연산 기억 장치. 동적 주소 변환(DAT) 기구보다 고속이며, 동적 주소 변환을 하는 하드웨어이다.

결국, VA(Virtual Address)와 PA(Physical Address)를 1:1로 저장해 둔 하나의 기억장치로, 말 그대로 저장만을 하고 읽기 위한 Buffer의 역활을 한다.

TLB내에서 연산이나 작업은 없다. TLB는 단지 VA와 PA의 저장공간일 뿐이다.

 



HAT(Hardware Address Translation)

Segmentation과 paging을 담당하는 하드웨어 부분이다. 즉, 실질적인 주소변환연산을 하는 녀석은 HAT이다. H/W 레벨에서 모두 처리를 하며 HAT에서 연산된 결과는 TLB에 저장이 된다.

TLB와 HAT는 MMU(Memory Management Unit)내에 존재한다.

'전공관련 > 용어정리' 카테고리의 다른 글

Speculative Execution  (0) 2009.08.28
DMA (Direct Memory Access)  (0) 2009.08.28
TLB (Translation Lookaside Buffer)  (0) 2009.08.28
Harvard Architecture  (0) 2009.08.28
Addressing mode  (0) 2009.08.28
RISC (Reduced Instruction Set Computer)  (0) 2009.08.28
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:34

명령어와 데이터를 물리적으로 분리하여 저장하며, 독립적으로 접근이 가능한 구조입니다.

하버드 구조란, 물리적으로 명령용과 데이터용으로 메모리 및 경로를 분할한 구조를 말한다. Harvard Mark I 이라는 릴레이컴퓨터가 그 시초인데, 이 컴퓨터는 24비트의 천공테이프로 명령어를 저장했으며, 23자리의 전기기계식 카운터로 데이터를 저장했다. 데이터 처리 유닛에 들어있는 데이터 저장 공간의 용량은 한정적이었으며(작았으며), 명령어 공간에 데이터로의 접근을 허용하지 않았으며, 프로그램을 읽거나 고칠 때에는 완전히 오프라인 상태였다.

메모리 구조
하버드 구조에서는 두 메모리의 특징을 공유할 필요가 없다. 그 중에서도 워드의 크기, 타이밍, 수행기술, 메모리 어드레스 구조는 두 메모리가 서로 다를 수 있었다. 명령어 공간은 데이터 공간에 비해서 넓은 편이다(일부의 경우 그 차이가 더욱 크다). 일부 시스템에서는 명령어는 ROM에 저장되는 반면 데이터메모리는 RAM에 저장된다.

다른 모델
폰 노이만 구조와 대비되는 기술이다. 폰 노이만 구조는 CPU가 명령어와 데이터 중 하나를 읽거나, 쓸 수 있다. 동시에 같은 경로와 메모리에서 명령어나 데이터를 사용할 수 없다. 하지만 하버드 구조에서는 동시에 데이터와 명령어를 읽을 수 있다. 때문에 하버드구조에서는 현재 수행하고 있는 명령어가 끝남과 동시에 다음 명령어를 수행할 수 있기에 폰 노이만 구조에 비해서 속도가 빠르다. 회로를 좀 더 복잡하게 만들면 속도는 올라간다.

최근 메인 메모리와는 비교도 안될정도로 CPU의 속도는 빨라졌다. 성능을 유지하기 위하여 메인메모리의 접근 횟수를 줄여야 한다. 만약에 예를 들어 매 명령마다 CPU가 메모리에 접근하면, 메모리의 한계로 인해 CPU의 속도는 빨라지지 않을 것이다.
물론 메모리 역시 빠르게 만들 수 있지만 그렇게 하면 비용이 많이 든다. 그 대안으로 Cache라고 알려진 소량의 고속 메모리를 넣었다. CPU가 원하는 만큼의 메모리(메모리에 있어야 할 데이터)가 캐시에 있으면 메모리에서 직접 데이터를 가져오는 것 보다 캐시가 메인 메모리를 왔다 갔다 하며, 데이터를 가져오는 것이 성능에서 이득이다.

현대의 고성능 CPU는 하버드구조와 폰 노이만 구조 두 가지를 모두 사용하여 디자인한다. 칩에 내장된 Cache 메모리는 명령어캐시와 데이터캐시로 분리되어있다(하버드 구조). 하버드 구조는 CPU가 캐시메모리에 접근할 때 사용한다. 그러나 Cache가 적중하지 못한 경우 데이터를 데이터와 명령어로 구분되지 않은 메인메모리에서 찾아오는데, 이때 폰 노이만 구조는 바깥의 메모리(칩 바깥에 있는 Main Memory, 흔히 RAM이라고 부름)에 접근할 때 사용한다.

하버드 구조가 쓰이는 곳
특화된 디지털 신호처리 프로세서, DSP에서 주로 사용하며, 보통 영상이나 음성처리용 제품에 사용한다. 예를 들어 Analog Devices의 Blackfin 프로세서는 하버드 구조로 만들었다.

또한 여러 전자 응용분야 중 작은 마이크로컨트롤러에 널리 사용한다. 예를 들자면 Microchip Technology의 PIC, ATmel AVR이 그것이다. 이 프로세서들은 작은 용량의 프로그램(명령어) 메모리와 데이터 메모리를 가지고 있으며, 하버드 구조와 RISC구조 덕에 대부분의 명령어들은 한 클럭에 실행시킬 수 있게 되었다. 분리된 저장공간은 프로그램 메모리(명령어 메모리)와 데이터 메모리로 나눠져 있는데 이들은 통로 및 저장 크기가 다를 수 있다. 예로 PIC는 8비트의 데이터워드를 가지고 있지만, 프로그램 워드는 12, 14, 16비트이다. 이로 인해 일정한 표준 데이터를 한 명령어에 담을 수 있다.

'전공관련 > 용어정리' 카테고리의 다른 글

DMA (Direct Memory Access)  (0) 2009.08.28
TLB (Translation Lookaside Buffer)  (0) 2009.08.28
Harvard Architecture  (0) 2009.08.28
Addressing mode  (0) 2009.08.28
RISC (Reduced Instruction Set Computer)  (0) 2009.08.28
Load-Store machine  (0) 2009.08.28
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:33

프로그램이 수행되는 동안 사용될 데이터의 위치를 지정하는 방법



1. Direct Addressing Mode1 : 직접 주소 지정 방식

operand에 주소가 직접 적혀있는 경우, 한번의 메모리 액세스가 필요, 빠르게 읽어올수 있다. (물론 다른것에 비해서)

operand의 사이즈에 따라서 지정할 주소의 범위가 한계가 있다. (당연한 얘기지 뭐)




2. Indirect Addressing Mode : 간접 주소 지정 방식

operand에 적혀있는 주소1로 간후, 이 주소1의 내용이 주소2이고 다시 그 주소2로 점프하여 데이터를 읽어온다.

위의 직접 주소 지정 방식에 비하여, operand의 길이에 별로 영향을 받지는 않는다, 버뜨~

메모리를 두번 액세스 하므로 직접 주소 지정방식에 비해 느리다.




3. Immediate Addressing Mode : 즉치 주소 지정방식

operand에 현재 수행중인 명령어가 저장되어 잇는 기억 장치 주소

이거 몬말인지 모르것다. "operand에 읽어올 데이터 자체가 있다"는건 쉽게 알겠는데,

물론, 이 즉치 주소 지정방식이 가장 빠르다는건 자명한 일이다.

메모리나 레지스터로부터 읽어올 필요조차 없으니까.

하지만, 이역시 한가지 단점은 데이터사이즈가 오퍼랜드의 사이즈에 영향을 받는다는거! (역시 당연한 얘기)





4. Register Addressing Mode : 레지스터 주소 지정 방식

오퍼랜드에 레지스터 넘버(예를 들어 R2)가 적혀있고, 그 넘버의 레지스터(R2)에 접근하면, R2의 내용이 메모리의 어드레스이다.

고기로 접근하면 데이터가 존재한다.

레지스터->Memory 순으로 접근하므로, 메모리를 두번접근하는 간접방식보다 빠르지만, 직접주소방식보다는 느리겠다.

레지스터 접근속도가 10ns이고, 메모리 접근속도가 200ns이면,

직접 주소 지정 방식은 100ns

간접 주소 지정 방식는 100+100= 200ns

레지스터 주소 지정 방식은 10+100=110 ns

(미리 말하두면) 레지스터 간접 주소 지정방식은 10+100+100=210 ns




5. Register Indirect Addressing Mode : 레지스터 간접 주소 지정 방식

4번과 동일하나, 메모리 접근후 데이터가 존재하는게 아니고, 역시 다른 곳으로 점프해야 데이터가 존재한다.

뭐 당연히 욜라 느리겠지.

이밖에 6,7,8은 계산에 의한 주소 지정 방식으로 뭐 잘 이해는 안되지만 적어보자.




6. Relative Addressing Mode : 상대 주소 지정 방식

Displacement Addressing Mode 변위 주소 지정방식이라도 불리우는 이 방식은

PC Counter 값 + 레지스터 값으로 주소를 지정한다.

이걸 모에다 쓰누? 잘 모르것다. 뭐 이런게 있다고 일단 넘어간다.

for 루프 같은 돌릴때 유용하려나? 흠흠

레지스터의 값은 양/음 값이 될수 있는데, 따라서 PC 값 앞뒤로 와리가리를 할수 있다.




7. Index Addressing Mode : 인덱스 주소 지정 방식

operand = IX + offset 요로코롬 구성되어 있다. (+라고 해서 더하라는 뜻은 아니고, 걍 같이 적혀있다는 뜻이다.)

그리하야 주소를 IX+offset 하야, 주소를 지정한다.

IX 는 Index Register의 약자 !




8. Base Register Addressing Mode

7번 방식과의 차이점을 잘 모르겠다. 요놈도

operand = BR+offset 구성되어 있어, 두놈을 더해서 주소를 지정한다.

BR은 Base Register의 약자!

'전공관련 > 용어정리' 카테고리의 다른 글

TLB (Translation Lookaside Buffer)  (0) 2009.08.28
Harvard Architecture  (0) 2009.08.28
Addressing mode  (0) 2009.08.28
RISC (Reduced Instruction Set Computer)  (0) 2009.08.28
Load-Store machine  (0) 2009.08.28
Amdahl's law  (0) 2009.08.27
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:32

RISC(reduced instruction set computer)는 CPU 명령어의 개수를 줄여 하드웨어 구조를 좀 더 간단하게 만드는 방식으로, 마이크로프로세서를 설계하는 방법 가운데 하나이며, SPARC, MIPS 등의 아키텍처에서 사용된다.

전통적인 CISC CPU에는 프로그래밍을 돕기 위한 많은 수의 명령어과 주소 모드가 존재했다. 그러나 그중에서 실제로 쓰이는 명령어은 몇 개 되지 않는다는 사실을 바탕으로, 적은 수의 명령어만으로 명령어 집합을 구성한 것이 RISC이다. 그래서, RISC는 CISC보다 구조가 더 단순하다. 복잡한 연산도 적은 수의 명령어들을 조합하는 방식으로 수행가능하다.

그리고 CISC형식의 CPUROM소프트웨어적으로 적재된 내부 명령어들을 하드웨어적으로 구성하여 제어기가 제거된 부분에 프로세서 레지스터 뱅크와 캐시를 둔다. 이렇게 함으로써 CPU가, 상대적으로 느린 메인 메모리에 접근하는 횟수를 줄여주어 파이프라이닝 등 시스템 수행속도가 전체적으로 향상된다.



특징

  • 고정 길이의 명령어를 사용하여 더욱 빠르게 해석할 수 있다.
  • 모든 연산은 하나의 클럭으로 실행되므로 파이프라인을 기다리게 하지 않는다.
  • ­레지스터 사이의 연산만 실행하며, 메모리 접근은 세이브(save), 로드(load) 등 명령어 몇 개로 제한된다. 이렇게 함으로써 회로가 단순해지고, 불필요한 메모리 접근을 줄일 수 있다.
  • 마이크로코드 논리를 사용하지 않아 높은 클럭을 유지할 수 있다.
  • 많은 수의 레지스터를 사용하여 메모리 접근을 줄인다.
  • 지연 실행 기법을 사용하여 파이프라인의 위험을 피한다.




CISC에서는 하드웨어가 스택을 지원하지만, RISC에는 없다. 스택 제어(데이터의 PUSH, POP이 발생할 때 레지스터의 퇴피, 서브루틴에 점프했을 때의 리턴 주소의 보존, 복귀)의 처리는 단순한 명령을 조합하여 소프트웨어로 구현된다. 명령어의 순서로 인해 발생할 수 있는 파이프라인의 위험은 컴파일하는 동안 최적화되어 사라진다.

명령어의 길이를 고정하면 파이프라인 처리의 고속화를 꾀할 수 있지만, 컴파일러의 최적화 과정이 복잡해지기 쉽다.

RISC는 대부분의 현대 프로세서 디자인에 채택되고 있고, 또 비교적 전력 소모가 적기 때문에 임베디드 프로세서에도 채택되고 있다.

요즘에는, 펜티엄과 같은 CISC CPU도 내부적으로는 복잡한 명령들을 단순한 명령들로 나누어 파이프라인에서 처리하기 때문에, 실제 작동 원리는 RISC와 같다.

'전공관련 > 용어정리' 카테고리의 다른 글

Harvard Architecture  (0) 2009.08.28
Addressing mode  (0) 2009.08.28
RISC (Reduced Instruction Set Computer)  (0) 2009.08.28
Load-Store machine  (0) 2009.08.28
Amdahl's law  (0) 2009.08.27
SISD/SIMD/MISD/MIMD  (0) 2009.08.27
Posted by Master Master.홈즈

댓글을 달아 주세요

2009.08.28 09:31

  • 데이터 엑세스에 대한 것을 관리하는 기능
  • 메모리를 접근할 수 있는 명령어는 적재(load)와 저장(store)명령어만 가능하도록 제약을 둔 범용 레지스터 컴퓨터
  • 메모리에서 데이터를 읽고 쓰는 명령어와 CPU 내부에서 연산 수행하는 명령어 분리 => 명령어들이 연산을 수행하면서 동시에 메모리를 참조하는 것이 가능
  • '전공관련 > 용어정리' 카테고리의 다른 글

    Addressing mode  (0) 2009.08.28
    RISC (Reduced Instruction Set Computer)  (0) 2009.08.28
    Load-Store machine  (0) 2009.08.28
    Amdahl's law  (0) 2009.08.27
    SISD/SIMD/MISD/MIMD  (0) 2009.08.27
    TLP (Thread Level Parallelism)  (2) 2009.08.27
    Posted by Master Master.홈즈

    댓글을 달아 주세요

    2009.08.27 22:43

    컴퓨터 프로그래밍에서 말하는 암달의 법칙이란, 병렬처리 프로그램에서 차례로 수행되어야하는 비교적 적은 수의 명령문들이, 프로세서의 수를 추가하더라도 그 프로그램의 실행을 더 빠르게 할 수 없도록 속도향상을 제한하는 요소를 갖고 있다는 것이다. 이것은 특정 업무의 병렬처리에 대한 일반적인 논쟁이며, 병렬처리에 관한 과장된 요구에 대비되는 것이다. 다른 사람들은 병렬처리가 가장 잘 맞는 업무의 종류는, 프로세서의 수를 늘리면 실제로 처리량이나 성능 면에서 이에 상응하는 개선을 가져올 수 있는 대형 문제들이라고 주장한다.



    암달의 법칙(Amdahl's law)는 컴퓨터 시스템의 일부를 개선할때 전체적으로 얼마만큼의 최대 성능 향상이 있는지 계산하는데 사용된다. 진 암달의 이름에서 따왔다.

    암달의 법칙에 따르면, 어떤 시스템을 개선하여 P 만큼의 부분에서 S 만큼의 성능 향상이 있을 때 전체 시스템에서 최대 성능 향상은 다음과 같다.

    예를 들어서 어떤 작업의 40%에 해당하는 부분의 속도를 2배로 늘릴 수 있다면, P는 0.4이고 S는 2이고 최대 성능 향상은 가 된다.

    개선 후 실행시간 = 개선에 의해 영향을 받는 실행 시간 / 100 + 영향을 받지 않는 실행 시간

    '전공관련 > 용어정리' 카테고리의 다른 글

    RISC (Reduced Instruction Set Computer)  (0) 2009.08.28
    Load-Store machine  (0) 2009.08.28
    Amdahl's law  (0) 2009.08.27
    SISD/SIMD/MISD/MIMD  (0) 2009.08.27
    TLP (Thread Level Parallelism)  (2) 2009.08.27
    ILP (Instruction Level Parallelism)  (0) 2009.08.27
    Posted by Master Master.홈즈

    댓글을 달아 주세요