본문 바로가기

Computer Science/컴퓨터구조

[컴퓨터 구조] 벡터처리

이 글은 www.youtube.com/watch?v=zGA4pvvya2I&list=PLc8fQ-m7b1hD4jqccMlfQpWgDVdalXFbH&index=41 보고 공부한 글 입니다.

 

벡터처리

병렬로 처리해야할 데이터, 자료구조로 따지면 array, 스택, 큐 같이 데이터 스트림을 다룬다.

행렬데이터처리
병렬데이터처리

위 코드는 1~100까지의 array데이터를 더하는 것

 

벡터연산으로 명령을 짜는거라면 간단하게 가능하다.

 

벡터 명령어

Base addres source1 = A(1: <-부분
Base addres source2 = B(1: <-
부분
Base address destination = C(1 <-
부분
Vector length =
벡터의 길이

고급언어를 벡터명령어로 바꿔주는 벡터 컴파일러가 필요하다.

 

 

메모리 인터리빙(Interleaving)

-두 개 이상의 명령어가 동시에 메모리를 접근하는 경우
-
메모리를 여러 모듈로 분할 구성


파이프라인의 자원 충돌 문제 해결

자원충돌을 방지하기 위해 메모리를 나눈다. 이를 메모리 뱅크라고한다.

moduler를 사용해서 서로 다른 주소를 접근할 때 주소만 다르면 같은 시간에 접근할 수 있다.
그래서 벡터처리 할 때 유리하다.

 

 

 

 

슈퍼컴퓨터

정의

-벡터 명령어 제공
-
파이프라인된 부동 소수점산술연산 제공(부동 소수점연산할 때 파이프라인이 작동되야 한다.)
-
상업용 컴퓨터

 

성능 요소

-고속의 연산을 위한 설계
-
고속 위주의 소재, 부품 사용

 

Flop
초당 처리할 수 있는 floating point 연산의 수
MFlop, Gflop
단위

 

 

 

 

배열 프로세서

여러 개의 프로세서가 array로 만들어져 가지고 메인 프로세서 뒤에 백엔드로 사용된다.
대량의 데이터 처리전담
Local memory
에 데이터 저장


트렌스퓨터 라고도 지칭

 

 

Main프로세서 데이터 전송 프로그램 실행

 

 

 

 

SIMD 배열 프로세서

PE + Local Memory를 합쳐서 PE라고 부른다.
PE
array형태로 되어 있다.

 

 

 

728x90