Presentation is loading. Please wait.

Presentation is loading. Please wait.

제4장 명령어 처리.

Similar presentations


Presentation on theme: "제4장 명령어 처리."— Presentation transcript:

1 제4장 명령어 처리

2 4장에 나오는 이야기들 CPU 명령어 사이클과 병렬계산 i4004 이후 μ-프로세서는 여전히 작은 처리장치? (×)
1990’s 말부터 슈퍼컴퓨터는 수많은 μ-프로세서들을 연결해 대 규모 병렬컴퓨터로 설계 병렬계산을 하지 않는 대부분의 컴퓨터 1940’s 폰 노이만이 설계한 명령어의 순차실행을 기반 파이프라인 구조 1980’s 인텔 486 등에서 이미 보편화 슈퍼스칼라, SIMD 구조 1990’s 인텔 펜티엄 프로세서 등에서 널리 사용 VLIW, 멀티코어 프로세서 구조 2000’s 말 이미 개인용 컴퓨터에까지 대중화

3 제4장의 구성 4.1 CPU 명령어 사이클 4.2 병렬계산 4.3 파이프라인 구조 4.4 슈퍼스칼라 구조 4.5 VLIW 구조
4.6 병렬컴퓨터

4 4.1 CPU 명령어 사이클

5 4.1 CPU 명령어 사이클 명령어 기본 사이클 명령어 인출 사이클 명령어 실행 사이클 간접 사이클 서브루틴 호출과 복귀
인터럽트 사이클 CPU 명령어 사이클

6 CPU 명령어 사이클 CPU 사이클(cycle) CPU 사이클 ☞ 일반적으로 명령어 사이클을 의미
사이클은 일반적으로 순환이나 회전을 뜻함 (cf.) 명령어 사이클과 혼동되는 경우 CPU 내장 캐시의 액세스 타임 등에서 사이클 개수 ☞ CPU 클럭 개수 7장의 버스 사이클 ☞ 메모리나 I/O 장치를 읽고 쓰는 동작

7 명령어 기본 사이클 CPU의 명령어 사이클(instruction cycle) CPU 명령어 사이클의 기본 구조
프로그램에서 주어진 명령어를 실행하기 위해 반복 적으로 수행해야 하는 일련의 연속적인 동작 명령 또는 명령어(instruction) CPU가 동작을 수행하는데 필요한 설명이나 지시 CPU 명령어 사이클의 기본 구조 명령어 인출(instruction fetch) 사이클 CPU가 메모리에서 명령어를 읽어오는 단계 명령어 실행(instruction execution) 사이클 CPU가 명령을 수행하는 단계

8 명령어 기본 사이클 명령어 기본 사이클 명령어 인출 사이클 + 명령어 실행 사이클

9 제어장치와 명령어 사이클

10 제어장치와 명령어 사이클 CPU 제어장치의 중요한 역할 [그림 4-2] ☞ 명령어를 인출하여 해독하고 실행하는 일
명령어 인출 사이클 ① 명령어가 저장된 주소를 지정 ② 메모리의 해당 주소에 들어있는 명령어를 꺼내옴 ③ 프로그램 카운터에 다음번 명령어의 주소를 준비 명령어 실행 사이클 ④ 명령어를 해독 ⑤ 명령어 실행에 필요한 CPU 내외부 제어신호 발생

11 명령어 인출 사이클 명령어 인출 사이클 프로그램 카운터 PC가 가리키는 메모리 주소에서 명 령어를 순서대로 인출해 명령 레지스터 IR로 전송 명령어 인출 사이클을 <연속된 μ-연산>으로 표시 t1 : MAR ← PC PC에 저장된 명령어 주소를 MAR로 전송 t2 : MBR ← M[MAR], PC ← PC+1 MAR 번지 메모리의 명령어를 MBR로 전송하고, PC를 증가시켜 다음번 명령어의 주소를 준비 PC 값 증가는 가변 ☞ 4바이트 명령을 인출하면 PC+4 t3 : IR ← MBR 메모리에서 인출해온 명령어를 IR로 전송

12 명령어 실행 사이클 명령어 실행 사이클 <가상>의 어셈블리 명령어 설계
명령 레지스터 IR에 저장된 명령을 해독하고 CPU 내 외부에서 명령어 실행에 필요한 제어신호들을 발생 <가상>의 어셈블리 명령어 설계 <어셈블리 명령어 ; 레지스터 전송 언어>로 표시 데이터 처리 및 메모리 연산 명령 MOV 산술연산 명령 ADD 흐름제어 연산 명령 JUMP 명령어 실행 사이클을 <연속된 μ-연산>으로 표시 어큐뮬레이터 AC, 범용 레지스터 B, 프로그램 카운터 PC, 명령 의 오퍼랜드 필드에 포함된 유효주소 Y 사용

13 명령어 실행 사이클 어셈블리 명령어 MOV 설계 MOV B, [Y] ; B ← M[Y]
명령어 실행 사이클을 <연속된 μ-연산>으로 표시 t1 : MAR ← Y 메모리 주소 Y를 MAR로 전송 t2 : MBR ← M[MAR] MAR 번지 메모리 내용을 MBR로 전송 t3 : B ← MBR MBR의 내용을 B 레지스터에 전송

14 명령어 실행 사이클 어셈블리 명령어 ADD 설계 ADD [Y] ; AC ← AC + M[Y]
AC의 내용을 오퍼랜드에 포함된 주소 Y의 내용과 더해 저장 명령어 실행 사이클을 <연속된 μ-연산>으로 표시 t1 : MAR ← Y 메모리 주소 Y를 MAR로 전송 t2 : MBR ← M[MAR] MAR 번지 메모리 내용을 MBR로 전송 t3 : AC ← AC + MBR AC와 MBR의 합을 구해 다시 AC에 저장

15 명령어 실행 사이클 어셈블리 명령어 JUMP 설계 JUMP Y 명령어 실행 사이클을 <μ-연산>으로 표시
t1 : PC ← Y 분기 주소 Y를 PC로 전송

16 유효주소와 간접주소 유효주소와 간접주소 ☞ 3장 참조 유효주소(effective address)
실제 피연산자가 저장된 메모리 위치 간접주소(indirect address) 유효주소가 저장된 메모리 위치

17 간접 사이클 간접 사이클(indirect cycle) ☞ 실행 사이클의 일부
오퍼랜드 필드에 포함된 간접주소로부터 실제 피연 산자가 저장된 위치인 유효주소를 읽어 오는 단계 간접 사이클을 <연속된 μ-연산>으로 표시 IR(오퍼랜드) ☞ 명령 레지스터 IR의 오퍼랜드 필드 t1 : MAR ← IR(오퍼랜드) 오퍼랜드에 있는 간접주소를 MAR로 전송 t2 : MBR ← M[MAR] MAR 번지 메모리 내용인 유효주소를 MBR로 전송 t3 : IR(오퍼랜드) ← MBR MBR의 내용을 IR(오퍼랜드)로 전송 ☞ 명령어의 새로운 오퍼랜드 필드에 유효주소가 준비

18 서브루틴 호출과 복귀 메모리의 스택(stack) 영역
서브루틴을 호출할 때 메인 프로그램의 위치로 다시 돌아올 복귀 주소를 저장 스택포인터(stack pointer, SP) CPU 레지스터 중 하나, 현재 상태에서 이용 가능한 스택 영역 의 최종 위치를 표시 항상 스택 영역의 최상위나 최하위 주소를 가리킴 스택 영역에 내용을 넣거나 꺼낼 때는 SP를 기준 주로 후입 선출(last-in first-out, LIFO) 방식 서브루틴이 완료되면 복귀 주소는 스택 영역에 들어간 역 순으로 출력됨

19 다중 서브루틴과 스택 영역의 변화

20 서브루틴 호출과 복귀 어셈블리 명령어 설계 흐름제어 연산 명령 CALL, RETURN
서브루틴 호출과 복귀 명령에 관한 고려사항 스택 영역은 번지가 감소하는 방향으로 늘어나고, 복귀 주소 는 메모리 번지 하나를 차지하는 것으로 가정 스택포인터 SP, 프로그램 카운터 PC, 명령어의 오퍼랜드 필드 에 포함된 유효주소 Y 사용

21 서브루틴 호출과 복귀 어셈블리 명령어 CALL 설계 CALL Y 명령어 실행 사이클을 <연속된 μ-연산>으로 표시
t1 : MBR ← PC 메인 프로그램의 복귀 주소인 PC의 내용을 MBR로 전송 t2 : MAR ← SP, PC ← Y 스택포인터 SP가 가리키는 주소를 MAR로 전송하고, PC를 Y 번지로 이동시켜 서브루틴의 시작 주소를 준비 t3 : M[MAR] ← MBR, SP ← SP-1 MBR에 저장된 복귀 주소를 MAR 번지에 저장하고, SP를 감소시켜 다음번 저장소의 위치를 준비

22 서브루틴 호출과 복귀 어셈블리 명령어 RETURN 설계 RETURN
서브루틴을 끝내고 메인 프로그램으로 복귀 명령어 실행 사이클을 <연속된 μ-연산>으로 표시 t1 : SP ← SP+1 메인 프로그램의 복귀 주소가 저장된 스택 위치를 계산 t2 : MAR ← SP 현재 스택포인터 SP가 가리키는 주소를 MAR로 전송 t3 : PC ← M[MAR] MAR 번지 메모리에 저장된 복귀 주소를 PC로 전송

23 인터럽트 사이클 인터럽트(interrupt) 프로그램의 정상 처리순서를 방해하는 서비스 요구
일반 서브루틴과 달리 대부분 전혀 예상치 못한 시점에서 CPU 에 서비스를 요구(request) CPU 외부장치나 프로그램 요청에 의해 발생 하드웨어 인터럽트 ☞ 주로 CPU 외부장치에서 발생 소프트웨어 인터럽트 ☞ 프로그램 요청으로 발생 인터럽트 요구 수용하려면 CPU가 작업을 중단하고 인터럽트 서비스 루틴(interrupt service routine, ISR)=인터럽트 핸들러(handler) 프로그램을 먼저 실행 인터럽트 처리 전에 복귀 주소, CPU 레지스터 상태, 메모리 참 조 주소 값 등을 스택에 저장, 처리 후 복원

24 다중 인터럽트 다중 인터럽트 인터럽트 서비스 프로그램이 진행되는 도중 또 다른 인터럽트가 발생하는 환경 ≒ 다중 서브루틴의 개념 인터럽트 마스크(mask) 혹은 마스킹(masking) 방법 인터럽트가 발생했을 때 특정한 것을 받아들이지 않도록 금지 플래그 설정 인터럽트 불가능 설정 ☞ 새로운 인터럽트 서비스는 허용되지 않고 대기 인터럽트 가능 상태 ☞ 새로운 인터럽트 요구 수용 우선순위 방법 현재 작업보다 순위가 낮은 인터럽트가 들어오면 대기 순위가 높은 인터럽트가 들어오면 먼저 처리

25 인터럽트 사이클 인터럽트 사이클(interrupt cycle)
명령어 사이클의 일부로 인터럽트 서비스 루틴의 시 작 주소를 호출해 인터럽트 요구를 처리하는 단계 ISR 호출을 <연속된 μ-연산>으로 표시 t1 : MBR ← PC 메인 프로그램의 복귀 주소인 PC의 내용을 MBR로 전송 t2 : MAR ← SP, PC ← ISR의 시작 주소 스택포인터 SP가 가리키는 주소를 MAR로 전송하고, PC를 인터럽트 서비스 루틴의 시작 주소로 이동 t3 : M[MAR] ← MBR, SP ← SP-1 MBR에 저장된 복귀 주소를 MAR 번지에 저장하고, SP를 감소시켜 다음번 저장소의 위치를 준비 서브루틴 호출과 다른 부분

26 CPU 명령어 사이클

27 CPU 명령어 사이클 CPU 명령어 사이클 기본 사이클 + 간접 사이클 + 인터럽트 사이클 [그림 4-4] ☞ 각 단계 특징
☞ 필요할 때만 추가 [그림 4-4] ☞ 각 단계 특징 명령어 인출 메모리에서 명령어를 읽어 CPU로 가져옴 간접 사이클 오퍼랜드 필드의 간접주소에서 유효주소 읽음 명령어 실행 명령어를 해독하고 연산을 실행 인터럽트 사이클 인터럽트 요구에 해당하는 서비스 루틴을 실행

28 4.2 병렬계산

29 4.2 병렬계산 병렬처리와 순차처리 병렬계산 속도상승과 효율

30 병렬처리와 순차처리 병렬처리 병렬처리 하드웨어의 구성 작업을 동시에 병렬로 처리한다는 일반 의미
병렬처리(parallel processing) 여러 개의 처리장치로 여러 개의 작업을 동시에 처리 순차처리(sequential processing) 동시에 실행하지 않고 시간적인 순서대로 작업을 처리 병렬처리 하드웨어의 구성 명령어를 여러 개의 장치에 분산시켜 동시에 처리해 작업 시간을 줄이도록 설계 병렬처리와 순차처리 할 작업을 효과적으로 구분하고 각 프로 세서 간 통신문제가 해결되어야

31 병렬계산 병렬계산(parallelism) 혹은 패러렐 컴퓨팅(parallel computing)
컴퓨터의 병렬처리 작업에 대한 보다 전문적인 용어 병렬처리 작업을 수행하는 방법이나 구조 동시에 많은 계산이 수행되는 계산 형태 큰 문제는 작게 쪼개어 작은 문제들로 만들어 동시에 풀 수도 있다는 논리에서 출발 병렬계산은 처음에 고성능 컴퓨터에 시작되었으나, 멀티코어 프로세서가 발달하면서 광범위하게 사용됨

32 병렬계산의 유형 비트 레벨 병렬계산(bit-level parallelism) 작업 병렬계산 외는 싱글코어 프로세서도 가능
반도체 CPU 프로세서 내부에서 컴퓨터 워드의 비트 수를 늘려 한 번에 처리할 수 있는 비트 수를 늘린 것

33 병렬계산의 유형 명령어 레벨 병렬계산(instruction-level parallelism)
프로그램의 결과에 영향을 주지 않으면서 명령어의 순서를 재 배열하고 그룹으로 묶어 병렬로 실행 데이터 병렬계산(data parallelism) 각 처리장치가 같은 작업을 하면서 데이트를 분산시킨 서로 다른 데이터 조각을 처리하는 구조 처리방법은 동일하나 많은 데이터를 가질 때 유용 작업 병렬계산(task parallelism) ☞ 기능(function) 병렬계산, 제어(control) 병렬계산 다중프로세서를 이용한 작업 실행 장치가 서로 다른 병렬컴퓨터에 작업을 분배하는데 중점, 같은 작업이나 서로 다른 작업을 나누어 실행

34 속도상승과 효율 병렬계산의 속도상승(speedup) S 병렬계산의 효율(efficiency) E
병렬계산과 순차계산에 걸린 시간의 비율로 정의 속도상승의 이론적인 최대치 ☞ 병렬계산에 사용된 프로세서 개수 P 병렬계산의 효율(efficiency) E 속도상승의 이론적인 최대치에 비해 실제로 얼마나 효과가 있는지 표시, 0~1 사이의 값

35 4.3 파이프라인 구조

36 4.3 파이프라인 구조 명령어 파이프라인 파이프라인의 속도상승 슈퍼 파이프라인 파이프라인의 한계

37 명령어 파이프라인 명령어 파이프라인(pipeline) 구조 2단계 파이프라인 구조
하나의 명령어 사이클을 여러 단계로 나누고 각 단계 에서 동시에 다른 명령어를 처리하도록 CPU 설계 이런 작업을 파이프라이닝(pipelining) 파이프라인의 깊이(depth)는 총 단계(step) 수 각 단계는 독립적인 모듈로 구성되어 서로 다른 명령어를 다 른 단계에서 동시에 처리하도록 설계 2단계 파이프라인 구조 명령어 파이프라인의 단계 수, N=2 단계 1 : 명령어 인출(instruction fetch, IF) 단계 2 : 명령어 실행(instruction execution, IE)

38 2단계 파이프라인 구조

39 명령어 사이클의 단계 구분 명령어 사이클의 단계 설계 최소 다음 단계의 순차 실행을 고려 ① 메모리에 저장된 명령어를 인출
② 명령어를 해독 ☞ 연산코드와 오퍼랜드 필드 분리 ③ 오퍼랜드 필드에서 유효주소를 찾아냄 ④ 유효주소로 메모리에 저장된 실제 피연산자를 인출 ⑤ 연산을 실행해 명령어 수행을 완료 ⑥ 연산결과를 저장 실제 피연산자가 명령어 자체에 포함되거나 레지스터에 저 장된 경우 ☞ ③,④ 과정 생략 앞으로 4장에서는 ☞ ③~⑤를 ⑤의 실행 단계로 묶은 4단계 명령어 파이프라인 구조를 가정해 설명

40 4단계 파이프라인 구조 4단계 파이프라인 구조 (단계 수, N=4) 요즘은 수십 단계로 나누지만 무한정 늘리지 않음
단계 1 : 명령어 인출(instruction fetch, IF) 단계 2 : 명령어 해독(instruction decode, ID) 단계 3 : 연산 실행(execution, EX) 단계 4 : 연산결과 저장(write-back, WB) 요즘은 수십 단계로 나누지만 무한정 늘리지 않음 분기가 발생하면 버리는 단계가 더 많아져 효율 저하 요즘 CPU ☞ 여러 개의 명령어 파이프라인과 연산 파 이프라인을 갖도록 설계 인텔 486 등 1980’s 말 프로세서에서 이미 ☞ 파이프라인 10 여 단계, 프로그램과 데이터 영역 분리 처리 3D 그래픽 데이터를 처리하는 파이프라인 별도 구축

41 4단계 명령어 파이프라인 구조

42 파이프라인의 속도상승 병렬계산 않을 때 명령어 처리에 걸리는 총시간 이 구조가 전체 명령어 처리에 걸리는 총시간
단계 수 N, 명령어 개수 i, 각 단계 시간은 T로 동일 이 구조가 전체 명령어 처리에 걸리는 총시간 첫 명령어 통과에 N×T시간, 두 번째 명령어부터 나머지 i-1개는 주기 T씩 추가 파이프라인 구조 사용시 병렬계산의 속도상승 명령어 개수 커지면 i∞ ☞ 단계 수 N에 근접

43 슈퍼 파이프라인 슈퍼 파이프라인(super-pipeline) 구조
기존 파이프라인의 단계 수는 유지하면서 각 단계 내 에서 처리속도를 몇 배로 높여주는 CPU 설계 기술 단계 내부에서 더 작은 단계들로 세분화시키고 클럭 속도를 높여 빠르게 처리 슈퍼 파이프라인 차수 sp를 정의 파이프라인 구조의 한 단계 내에서 처리 속도를 몇 배로 높이 는지 나타내는 비율

44 슈퍼 파이프라인 [그림 4-7]은 [그림 4-6]의 처리속도를 2배로 높인 것 슈퍼 파이프라인 차수 sp=2
파이프라인 단계 수 N=4

45 슈퍼 파이프라인의 속도상승 슈퍼 파이프라인 차수 sp 이 구조가 전체 명령어 처리에 걸리는 총시간
단계 수 N, 명령어 개수 i, 각 단계 시간은 T로 동일 이 구조가 전체 명령어 처리에 걸리는 총시간 첫 명령어 통과에 N×T시간, 두 번째 명령어부터 나머지 i-1 개는 T÷sp씩 추가 슈퍼 파이프라인 구조 사용시 병렬계산의 속도상승 명령어 개수 커지면 i∞ ☞ sp×N에 근접

46 파이프라인의 한계 파이프라인의 동작원리 파이프라인의 한계 파이프를 통해 물이 순차적으로 아래로 흐르는 이치
컨베이어 벨트로 물건을 대량 생산하는 원리 파이프라인의 한계 단계를 늘려도 작업이 무한정 빨라지지 않음 공장에서 작업자가 작업을 무한정 빨리 할 수 없음 10분에 1대 꼴로 생산하던 자동차 생산라인의 단계 수를 2배로 늘리면 5분에 1대 꼴로 자동차가 생산될까? ☞ 확신할 수 없음 각 단계의 작업 속도가 자재투입 속도를 따르지 못하면 생산 성 향상에는 한계

47 파이프라인의 제약조건 파이프라인의 단계 수를 늘릴수록 파이프라인의 제약 조건 대체로 속도상승 비율은 좋아짐
그러나 이론적인 최대치까지 개선되지는 않음 파이프라인의 제약 조건 시스템 자원의 사용에 충돌이 없어야 다른 단계에서 메모리나 입출력장치 등 시스템 자원을 먼저 차지해 사용하고 있으면 기다려야 명령어 간에 상호 의존성이 없어야 앞 명령의 실행 결과로 얻은 데이터나 주소를 사용해야 한다 면 실행 순서를 지키고 기다려야

48 파이프라인의 제약조건 모든 명령어가 같은 단계를 거쳐야 낭비가 없음 각 단계의 처리시간이 동일해야
모든 명령이 모든 단계를 거치는 것이 아니므로 단계가 적어 도 되는 명령은 시간 낭비 각 단계의 처리시간이 동일해야 한 단계 주기는 가장 긴 단계를 기준 낭비 줄이려면 가능한 각 단계별 처리 시간이 같아지도록 잘 게 나눠야 명령어는 순차적으로 실행되어야 인터럽트나 서브루틴으로 분기가 발생하면 파이프라인에 있 던 명령어들을 버리게 되므로 처리가 지연

49 파이프라인의 성능개선 파이프라인의 성능저하를 줄이는 방법 지연분기(delayed branch) 활용
분기 명령 앞뒤에 위치한 다른 명령어들의 순서를 적절히 재 배치해 실행 순서를 바꾸는 것 분기예측(branch prediction) 명령이 분기하는지 예측했다 분기하면 파이프라인에 유입된 명령들을 변화시켜 처리지연 방지 정적 예측 ☞ 컴파일러에서 분기를 미리 예측 동적 예측 ☞ 실행 도중 발생된 자료를 활용 효율 높고 비순차적 추론이 가능한 실행엔진과 다중 분기예측, 데이터 흐름분석, 예측실행 등의 기술 필요

50 4.4 슈퍼스칼라 구조

51 4.4 슈퍼스칼라 구조 슈퍼스칼라와 파이프라인 슈퍼스칼라와 슈퍼 파이프라인

52 슈퍼스칼라 슈퍼스칼라(superscalar) 구조
한 명령어 사이클 동안 여러 개의 명령어를 동시에 처 리할 수 있도록 설계한 CPU 구조 여러 개의 여분의 실행 장치들이 필요 요즘 대부분의 CPU는 슈퍼스칼라 구조를 가짐 펜티엄(Pentium) 등 1990’s 프로세서들도 이미 CPU 설계에 슈퍼 스칼라 구조를 채택 슈퍼스칼라 차수 ss를 정의 한 명령어 사이클 동안 동시에 처리할 수 있는 명령어 개수

53 슈퍼스칼라 슈퍼스칼라 구조에 필요한 장치들 여러 개의 명령어 인출 장치 실행순서에 관계없이 동시에 실행되어도 무관한 서로 독립적 인 명령어들을 판단해 골라내는 장치 동시에 병렬로 처리할 수 있는 여러 개의 독립적인 명령어 실 행 장치들 한 명령어 사이클 동안 여러 명령어를 읽어와 어떤 명 령이 독립적인지 찾아 그것들을 먼저 동시에 실행 병렬처리를 방해하는 단골 메뉴 이전에 실행된 명령어의 결과에 종속된 명령어들은 동시에 실행되지 못하고 기다려야 하므로 속도 저하

54 슈퍼스칼라와 파이프라인 슈퍼스칼라 차수 ss=3 파이프라인 단계 수 N=4

55 슈퍼스칼라와 파이프라인의 속도상승 슈퍼스칼라 차수 ss 이 구조가 전체 명령어 처리에 걸리는 총시간
단계 수 N, 명령어 개수 i, 각 단계 시간은 T로 동일 이 구조가 전체 명령어 처리에 걸리는 총시간 명령어는 i÷ss 세트로 나누어진다. 첫 명령어 세트 통과에 N×T시간, 두 번째 세트부터 나머지 i/ss-1 세트는 T씩 추가 슈퍼스칼라와 파이프라인에서 병렬계산의 속도상승 명령어 개수 커지면 i∞ ☞ ss×N에 근접

56 슈퍼스칼라와 슈퍼 파이프라인 슈퍼 파이프라인 차수 sp=2 슈퍼스칼라 차수 ss=3 파이프라인 단계 수 N=4

57 슈퍼스칼라와 슈퍼 파이프라인의 속도상승 슈퍼 파이프라인 차수 sp, 슈퍼스칼라 차수 ss
단계 수 N, 명령어 개수 i, 각 단계 시간은 T로 동일 이 구조가 전체 명령어 처리에 걸리는 총시간 명령어는 i÷ss 세트로 나누어진다. 첫 명령어 세트 통과에 N×T시간, 두 번째 세트부터 나머지 i/ss-1 세트는 T÷sp씩 추가 슈퍼스칼라와 슈퍼 파이프라인 병렬계산의 속도상승 명령어 개수 커지면 i∞ ☞ sp×ss×N에 근접

58 4.5 VLIW 구조

59 4.5 VLIW 구조 RISC VLIW IA-64 구조 VLIW와 파이프라인

60 RISC와 CISC CISC(complex instruction set computer, 시스크)
간단한 명령부터 복잡한 명령까지 종류가 다양 복잡한 기계어 명령까지 고려하므로 실행단계가 많고 회로 설 계 복잡, 필요 클럭 개수도 제각기 다름 RISC(reduced instruction set computer, 리스크) ☞ <명령 축약형 컴퓨터>의 영문약자 복잡한 명령을 모두 없애고 명령어 처리구조를 단순 화해 기계어 명령의 수를 최소로 줄인 CPU 이론적으로 1클럭에 1명령어가 고속 처리되도록 설계 가능한 하드웨어만으로 처리해 속도를 증가 범용 레지스터 개수를 대폭 늘려 외부 메모리의 액세스 횟수 를 최소로 줄여 실행 속도 높임

61 RISC의 장점 RISC의 장점 병렬처리 프로세서 설계에 효율적 과거의 통념은 RISC가 고성능 CPU의 정석
CISC 구조에 비해 내부 캐시나 여러 개의 명령어 파이프라인 과 슈퍼스칼라 구조를 구성하기에 유리 프로그램 개발에도 유리 운영체제, 컴파일러 제작사, 응용프로그램 제작자 모두 ☞ 적 은 수의 명령어만 조합해 사용하므로 편리

62 RISC의 한계 RISC의 한계 명령어 종류만 줄여 CPU 성능을 높이는데 한계
컴파일러가 번역해준 명령어를 판독해 병렬처리가 가능한 명 령이 무엇인지 다시 조사하고 판단 성능을 더 높이려면 하드웨어의 복잡성이 다시 증가 <해결책>의 하나 ☞ VLIW처럼 명령어 구조를 개선하 고 컴파일러의 정밀성과 비중을 확대 컴파일러가 명령어의 병렬처리에 직접 관여

63 VLIW VLIW(very long instruction word) 구조 여러 명령을 묶어 매우 긴 명령어 형식을 만든 구조
<매우 긴 명령어 워드>의 영문약자 128, 256, 512비트 혹은 그 이상까지 사용 분명하게 명시한 명령어들은 동시에 병렬로 실행 병렬 처리할 명령을 컴파일러에서 미리 판단 동시에 실행될 수 있는 명령들을 하나로 묶어 긴 명령어 형식 내에 재배열, CPU는 별도 판정 없이 병렬처리 하드웨어 설계의 복잡성을 갖지 않는 대신 정교한 컴 파일러 기술 필요 프로그램 자체에 의존해 어떤 명령이 동시에 실행이 가능하고 충돌을 어떻게 피할지 판단

64 VLIW와 기존의 방법들 프로세서 구조와 성능 개선 방향
전통적인 접근 방법은 <모든 결정을 프로세서가>해 야 하는 점에서 하드웨어의 복잡성 증가 파이프라인 구조 ☞ 명령어들을 작은 단계로 나누고 그것들이 병렬로 동시에 실행 슈퍼스칼라 구조 ☞ 해독된 개별 명령어들이 프로세서의 다른 부분에서 완전히 독립적으로 실행 RISC ☞ CPU가 명령어를 재분류하고 프로그램에서 명령어의 순서를 바꾸어 실행 VLIW ☞ 하드웨어 자원의 효율적 활용과 기계어 명령 을 적절히 배열해 주는 컴파일러 기술이 결합 64비트 프로세서 대중화 ☞ VLIW를 구현할 여건 성숙

65 IA-64 구조 IA-64 명령어 구조 인텔과 HP가 공동으로 개발한 64비트 프로세서용 명 령어 구조 ☞ IA(instruction architecture)-64 일명 <명시적 병렬 명령 계산(explicitly parallel instruction computing, EPIC)>기술 VLIW 구조 중 하나, 2000’s 초 아이테니엄부터 채택

66 IA-64 구조 IA-64 구조 ☞ 정교한 컴파일러 기술 이용 128비트 길이 명령어 번들(bundle, 묶음) 형식 사용
번들당 41비트 길이 명령어 슬롯(instruction slot) 3개 실제 프로세서들은 여러 개 명령어 번들 형식을 사용 템플릿(template) ☞ 번들 내에 포함된 명령 슬롯이 실 행되는 방법을 적어 놓은 표 하드웨어 자원이 부족할 때는 병렬처리 않고 일부 명령만 임 시로 정지할 수 있도록 지정해주는 역할 5비트 0x01~1F에서 최대 32가지 실행방법 0x00 ☞ 정지하지 말고 동시에 모두 실행 0x03 ☞ 명령 슬롯 1, 2의 실행 뒤 한 번씩 정지

67 VLIW와 파이프라인 VLIW 실행 차수 v를 정의
(ex.) VLIW 실행 차수 v=3, 파이프라인 단계 수 N=4

68 intel vs. ARM processor 프로세서 산업의 양대 산맥 intel vs. ARM

69 이동용 CPU의 시장점유율이 지속 상승 (26%31%)
MPU 시장 점유율 Top 5 ( 금액 기준, 2013 ) 인텔이 여전히 시장 지배적인 사업자 인텔 + AMD 66.8% ☞ x86 호환 범용 PC와 서버용 이동용 CPU의 시장점유율이 지속 상승 (26%31%) ☞ ARM 기반 이동용(mobile) RISC 프로세서

70 ARM Holdings는 어떤 회사? ARM Holdings (1990) 영국에 있는 다국적 반도체 및 소프트웨어 설계회사
영국의 Acorn Computers와 미국의 Apple Computer, VLSI Technology사의 합작투자 ARM : Acorn RISC Machine (1983) ☞ Advanced RISC Machines (1990) RISC 기반의 ARM 프로세서 설계와 라이선스 판매 이동용(mobile) 기기 및 내장형(embedded) 시스템용 프로세서 시장에서 독보적인 위치 2014 현재 라이선스 현황 라이선스 계약 건수 ☞ 1,198개 ARM 기반 반도체 부품 생산업체 ☞ 389개

71 지적재산권(intellectual property, IP) 업체
ARM Holdings는 반도체 IP 업체 설계만 하고 생산은 전문 반도체 제조사에서 함 각 사가 기능 추가 및 다른 하드웨어와 조합해 설계 (ex.) 엔비디아, 퀄컴, 삼성의 ARM 기반 프로세서들

72 ARM 프로세서 혹은 ARM 구조(architecture)
RISC 기반의 ARM 프로세서 명령어 수가 적어 적은 수의 트랜지스터로 설계 칩의 크기 작고, 비용, 발열, 소비전력이 낮음 가장 널리 사용되던 32비트 명령어 세트 구조에서 64비트 ARMv8 구조로 이동용 및 서버 시장 확대 ARM 프로세서의 시장 점유율 ( 수량 기준, 2014 ) ARM 칩 판매 : 120억개, 시장점유율 37% 54억개 ☞ 이동용(mobile) 기기의 프로세서 스마트폰, 이동용 컴퓨터 등 ☞ 시장 점유율 86% 66억개 ☞ 내장형(embedded) 시스템 등의 프로세서 디지털 TV, 소형가전, 자동차, 산업용 디지털기기 등 인텔+AMD 등이 63%

73 ARM 프로세서 기반 칩의 수요 용도 및 사용 프로세서 라이선스 비율 (2014)

74 멀티코어 ARM 프로세서의 예 ARM Cortex-A15 MPCore 프로세서 (2012)
비순차적 슈퍼스칼라 파이프라인 명령어 세트 ARMv7 구조 32비트 RISC 적용 예 Broadcom SoC HiSilicon K3V3 Nvidia Tegra 4 Samsung Exynos 5 etc. 쿼드코어

75 64비트 ARM 프로세서의 예 ARMv8 (2013) 기존 32비트 ARMv7 구조와의 호환성 포함
64비트 운영체제와 32/64 응용프로그램 지원 ARMv8 (2013) 32비트 구조 64비트 구조

76 4.6 병렬컴퓨터

77 4.6 병렬컴퓨터 플린의 분류법 벡터 프로세서 다중프로세서 하이퍼스레딩 비노이만형 컴퓨터

78 병렬컴퓨터(parallel computer)
다중프로세서(multi-processor), 병렬컴퓨터 구조 복수의 프로세서를 연결해 동시 처리 복수의 프로세서가 복수의 프로그램을 처리하거나, 하나의 프로그램을 복수의 프로세서에 분할해 처리 대규모(massively) 병렬컴퓨터, 초병렬컴퓨터 수만 개 이상 프로세서를 서로 연결해 사용하는 구조 최근 경향 ☞ 멀티코어 프로세서를 집중 연결해 설계 대규모 프로세서를 갖는 컴퓨터시스템 그리드 컴퓨팅(grid computing) 분산된 지역에서 필요할 때 상호 연결되어 성능 발휘 클러스터 컴퓨팅(cluster computing) 한 군데 모여 공동의 작업

79 미국의 슈퍼컴퓨터 사례 ☞ Mira IBM 설치(2012), 78만개 이상의 프로세서 코어 사용
(cf.) 미국 아르곤(Argonne)국립연구소 에너지와 국방과학을 주로 연구하는 핵물리학연구소 시스템보드가 장착된 랙(rack, 선반)과 캐비닛을 고속 광 네트워크로 연결

80 플린의 분류법 플린의 분류법(Flynn's taxonomy, 1966)
컴퓨터의 구조를 명령어(instruction)와 자료의 흐름 (data stream)으로 분류해서 설명 병렬컴퓨터라고 할 수 있는 것 ☞ SIMD, MIMD

81 플린의 분류법 SISD(single instruction, single data stream)
단일 명령, 단일 데이터 흐름 구조 하나의 처리장치나 프로세서를 갖고 단일 명령으로 단일 데이 터를 순차적으로 처리 이 구조는 파이프라인 기법으로 병렬처리 효과 가능 SIMD(single instruction, multiple data stream) 단일 명령, 복수 데이터 흐름 구조 복수의 처리장치나 프로세서를 갖고 단일 명령으로 복수의 데 이터를 처리 벡터 프로세서나 그래픽처리장치가 해당 각 배열은 동일 연산을 수행하나 처리 데이터는 다른, 비슷 한 패턴을 갖는 멀티미디어 데이터 처리에 적합

82 플린의 분류법 MISD(multiple instruction, single data stream)
복수 명령, 단일 데이터 흐름 구조 복수의 처리장치나 프로세서를 갖고 복수의 명령으로 단일 데 이터를 처리 복수의 처리장치가 명령은 다르나 자료는 같은 비실용 존재하기 힘든 구조, 우주왕복선을 제어하는 컴퓨터들 MIMD(multiple instruction, multiple data stream) 복수 명령, 복수 데이터 흐름 구조 복수의 처리장치나 프로세서를 갖고 복수의 명령으로 복수의 데이터를 동시에 처리 명령과 데이터가 독립적으로 실행되는 다중프로세서 일을 균등하게 배분해야 고효율, 분산처리시스템 등

83 벡터 프로세서 벡터 프로세서(vector processor)
복수의 연산장치를 병렬로 연결해 큰 규모의 행렬이 나 배열 연산을 고속으로 한꺼번에 처리하는 장치 배열 프로세서(array processor)라고도 함 (cf.) 스칼라 프로세서(scalar processor) 한 번의 명령으로 하나의 데이터를 처리, SISD 구조 SIMD 구조의 하나 ☞ SIMD는 명령어 하나로 대량의 데 이터를 처리할 수 있는 구조나 명령어 기술 데이터 속성상 비슷한 패턴을 갖게 되는 멀티미디어 데이터를 빠르게 처리하기에 적합 계속 반복되는 루프를 단 하나의 명령어로 실행 펜티엄 MMX 등 1990’s 말 프로세서들도 이미 채택

84 벡터 프로세서와 파이프라인 SIMD 구조를 갖는 벡터 프로세서와 파이프라인 구조 를 적용한 명령어 처리과정

85 다중프로세서 멀티프로세서(multi-processor, 다중프로세서) 구조 = 병렬컴퓨터
동시에 동작하는 여러 개의 프로세서를 병렬로 연결 외부 기억장치나 입출력장치는 공유할 수 있지만, 내부 레지 스터와 실행 장치는 독립적으로 사용해야 함 다중프로세서를 구성하는 방법 하나의 칩에 여러 코어를 내장한 멀티코어 프로세서 하나의 시스템보드에 여러 개의 프로세서 칩을 장착 한 컴퓨터 내에 여러 개의 시스템보드를 장착 여러 대의 컴퓨터를 공동의 작업을 위해 병렬로 연결

86 다중프로세서(병렬컴퓨터) 구성 방법

87 멀티코어 프로세서 멀티코어(multi-core, 다중코어) 프로세서 칩-레벨 다중프로세서, 병렬컴퓨터의 가장 기본형태
인텔은 2000’s 중반부터 대부분의 프로세서에 채택 코어로 불리는 2개 이상의 독립적인 실제 CPU 내장 듀얼코어(dual-core) ☞ 2개, 쿼드코어(quad-core) ☞ 4개, 옥타코 어(octa-core) ☞ 8개 등 (cf.) 멀티프로세서, 멀티 CPU ☞ 물리적으로 분리됨 칩 내부 코어가 동일 다이에 존재하지 않을 수 있음 다이(die) ☞ 실리콘 소자의 반도체 표면 위에 집적회로를 만들 고 회로 판을 잘라낸 것 칩(chip) ☞ 보통 반도체 부품을 가리키나, 반도체 공정상의 다 이, 인쇄회로기판의 표면실장 부품 등 지칭

88 멀티코어의 동작 <각 코어들은 강하게 또는 약하게 결합> 다중작업 설계에 유리 ☞ 하드웨어의 효율적 구성
공유 캐시를 사용할 수도 사용하지 않을 수도 코어 간 통신을 위한 공유 메모리, 명령어 인출 및 해독장치 부 분은 공유 가능 그래픽처리장치(GPU) 등 내장 코어가 꼭 동일치 않음 다중작업 설계에 유리 ☞ 하드웨어의 효율적 구성 프로세서 간 연동에 유리 칩당 소비전력은 증가하지만 분리된 칩보다 절감 소프트웨어 알고리즘도 이에 맞게 설계해야 각 코어가 일반적으로 같은 일을 나눔 OS가 각 코어에 작업량을 적절히 분산시키고 응용프로그램도 멀티코어에 적합하게 새로 설계해야

89 하이퍼스레딩 멀티스레드 개념과 CPU 활용도 파이프라인 단계 수가 많아지면 모든 스레드가 각 단계를 다 거치는 것이 아님
각 단계 길이는 줄고, 작업은 더욱 세분화 모든 스레드가 각 단계를 다 거치는 것이 아님 일하지 않고 쉬는 유휴 단계가 발생 <하나의 실행 장치에서 두 개의 스레드를 겹치지 않 게 동시에 작업할 수 있도록 설계> 작업이 할당되지 않은 실행 단계는 다른 스레드의 작업을 함 께 끼워 넣어 동시에 작업 하이퍼스레딩 ☞ CPU가 놀지 않게 쥐어짜려는 기술 하이퍼(hyper-) ☞ <지나치거나 과도한 것>

90 하이퍼스레딩 인텔의 하이퍼스레딩(hyper-threading) 기술
혹은 동시 멀티스레딩(simultaneous multi-threading) 일종의 멀티스레드, 하나의 물리적인 프로세서가 2개 의 가상 프로세서처럼 동작하도록 만든 기술 하나의 CPU 코어 내부에 2개의 ALU 장치와 하나의 명령어 실 행 장치를 넣어 가상의 듀얼 코어로 작동 운영체제에서 보면 마치 2개의 CPU가 있는 것처럼 보 이나, 실제 듀얼 코어에 비해 성능은 떨어짐 파이프라인의 단계 수가 많고, 각 단계의 길이가 짧고, CPU 클럭이 높을 때 더욱 유리 2000’s 초 개발했으나 CPU 소비전력 증가문제로 2000’s 말 대중 화

91 비노이만형 컴퓨터 노이만형(Neumann type) 컴퓨터 비노이만형(non-Neumann type) 컴퓨터
폰 노이만(Von Neumann) 구조, 노이만 모델 1940’s 폰 노이만이 제안한 원리를 기초에 두고 프로그 램 내장방식과 명령의 순차실행을 특징으로 함 ☞ 병렬처리를 하지 않는 과거 전통방식의 SISD 구조 비노이만형(non-Neumann type) 컴퓨터 노이만 타입이 아닌 컴퓨터를 통칭하는 말 순차실행 아닌, 데이터가 준비되는 상태에 따라 연산 병렬처리 가능한 명령을 골라 실행순서를 변경 명령 생략, 하드웨어로 데이터 자체에 처리 방법 부여 ☞ 병렬컴퓨터인 SIMD, MIMD와 데이터 플로우 구조

92 데이터 플로우 구조 데이터 플로우 구조(dataflow architecture) 비노이만형 컴퓨터 구조의 하나
프로그램의 실행에 필요한 데이터를 모두 갖춘 상태 에서 다음 처리장치로 보내 연산하는 컴퓨터 컴퓨터 내부 각 장치는 데이터가 도착할 때마다 차례로 처리 되기 때문에 대량의 데이터를 고속으로 처리 비록 이 구조로 성공한 범용 프로세서는 없지만 디지털 신호처리, 네트워크 라우팅, 그래픽 처리, 원격계측, 데 이터 창고업 등 특정 하드웨어에 성공적 구현 데이터베이스 엔진이나 병렬계산 체계를 설계하는 소프트웨 어 구조에도 유용하게 사용

93 데이터 플로우 구조 최소한 개념적으로는 프로그램 카운터가 필요 없음 함수의 변수를 변경하면 결과가 자동 재계산되는 원리
유효한 데이터가 입력되는지에 따라 실행 장치 작동

94 세계 500대 슈퍼컴퓨터 ( ) Rank 이름 제조사 국가 제작 코어수 PFLOPS MW 구조 프로세서 계열 GHz OS 1 Tianhe-2 NUDT China 2013 3,120,000 33.86 17.81 Cluster Intel IvyBridge 2.2 Linux 2 Titan Cray Inc. USA 2012 560,640 17.59 8.21 MPP AMD x86_64 3 Sequoia IBM 2011 1,572,864 17.17 7.89 PowerPC 1.6 4 Fujitsu Japan 705,024 10.51 12.66 Sparc 2.0 5 Mira 786,432 8.59 3.95 6 Piz Daint Switzerland 115,984 6.27 2.33 Intel SandyBridge 2.6 7 Shaheen II Saudi 2015 196,608 5.54 2.83 Intel Haswell 2.3 8 Stampede Dell 462,462 5.17 4.51 2.7 9 JUQUEEN Germany 458,752 5.01 2.30 10 Vulcan 393,216 4.29 1.97 193 Uri Korea 2014 10,752 0.35 0.16 FLOPS(FLoating point Operations Per Second, 플롭스) 초당 실행되는 부동소수점 연산명령의 개수 컴퓨터의 연산속도를 나타내는 척도 PFLOPS(petaFLOPS)=1015FLOPS MPP ☞ massive parallel processing (혹은 computing) 대규모 병렬처리 (혹은 계산), grid + cluster 방식

95 (1993~) 슈퍼컴퓨터 Top 500 컴퓨팅 구조 변화 클러스터 86.4% 대규모 병렬 13.6% (2015.06)
슈퍼컴퓨터의 컴퓨팅 구조 (1993~) 슈퍼컴퓨터 Top 500 컴퓨팅 구조 변화 클러스터 86.4% 대규모 병렬 13.6% ( ) 86.4%

96 (1993~) 슈퍼컴퓨터 Top 500 프로세서 기술 변화 인텔 프로세서 계열 86.2% 431대 (2015.06) 86.2%
슈퍼컴퓨터의 프로세서 기술 (1993~) 슈퍼컴퓨터 Top 500 프로세서 기술 변화 인텔 프로세서 계열 86.2% 431대 ( ) 86.2%

97 슈퍼컴퓨터의 보조프로세서 (2006~) 슈퍼컴퓨터 Top 500 코프로세서 변화 NVIDIA 9.6% 48대, Intel 6.6% 33대 ( ) 82.4% 412대는 별도의 코프로세서가 없다. 88대

98 슈퍼컴퓨터 Top 500 국가별 대수 점유율 미국 46.6% 일본 7.8% 중국 7.4% (2015.06) 한국 1.8% 9대
슈퍼컴퓨터 보유 국가 비교 (1) 슈퍼컴퓨터 Top 500 국가별 대수 점유율 미국 46.6% 일본 7.8% 중국 7.4% ( ) 한국 1.8% 9대 한국포함 상위 10개국 합계 87.8% 439대

99 슈퍼컴퓨터 Top 500 국가별 성능 점유율 미국 44.4% 중국 13.6% 일본 9.3% (2015.06) 한국 0.7%
슈퍼컴퓨터 보유 국가 비교 (2) 슈퍼컴퓨터 Top 500 국가별 성능 점유율 미국 44.4% 중국 13.6% 일본 9.3% ( ) 한국 0.7% 대수는 미국 > 일본 > 중국 성능은 미국 > 중국 > 일본

100 슈퍼컴퓨터 Top 500 제조사별 대수 점유율 HP 35.6% IBM 18.2% Cray 14.2% (2015.06)
슈퍼컴퓨터 제조사 비교 (1) 슈퍼컴퓨터 Top 500 제조사별 대수 점유율 HP 35.6% IBM 18.2% Cray 14.2% ( ) HP, IBM, Cray 상위 3개 업체 합계 68% (340대)

101 슈퍼컴퓨터 Top 500 제조사별 성능 점유율 Cray 23.9% IBM 20.2% HP 14.2% (2015.06)
슈퍼컴퓨터 제조사 비교 (2) 슈퍼컴퓨터 Top 500 제조사별 성능 점유율 Cray 23.9% IBM 20.2% HP 14.2% ( ) 대수는 HP > IBM> Cray 성능은 Cray > IBM> HP

102 데이터 마이닝(data mining) 대규모 데이터 집합에서 새로운 패턴이 나 정보를 찾아내는 것
광석을 캐는 과정에 비유, 데이터베이스 에서 지식을 발견하는 분석 단계 방대한 데이터 자료에서 새로운 유용한 정보 를 발견하기 위한 분석 기법 데이터 집합에 숨겨진 정보의 연관성을 파악해 가치 있는 정보로 가공 최종 목적은 추출한 정보를 향후 활용이 가능 한 구조로 바꾸는 것 종종 마케팅 용어에서 대규모 데이터나 정보 처리의 형태로 잘못 사용됨 채광(mining)

103 디지털 시대 진입으로 데이터가 폭발적 증가

104 빅 데이터 빅 데이터(big data) 데이터가 너무 크고 복잡해 전통적인 관리도구나 처 리 프로그램으로 다루기 어려운 대규모 데이터 집합 센서, 카메라, 무선기기의 발달 등과 함께 고속 인터넷과 네트 워크 서버의 증가로 데이터 규모가 급증함 자료의 수집, 저장, 검색, 공유, 전송, 분석 등이 방대함 큰 데이터 집합에서 얻을 수 있는 어떤 경향에 대한 추 가적인 정보는 향후 추세를 예측할 수 있게 해줌 사회현상의 새로운 법칙이나 변화의 시각을 발견 소비자나 업계 동향을 파악하고 상품연구의 질을 결정 질병이나 범죄를 예견하고 막을 수 있음 실시간 교통 상황을 파악해 통제에 이용 등

105 Practice ☞ 프로세서 확인 (실습) 윈도우 7 <시작><컴퓨터>에서 마우스 우측 버튼<속성> ☞ 프로세서, 메모리, 운영체제 버전 확인

106 Practice ☞ 멀티코어 동작 확인 (실습)
윈도우 7 <작업 표시줄>에서 마우스 우측버튼 <작업 관리자 시작><성능> ☞ 멀티코어 확인

107 Practice ☞ 프로세서 확인 (실습) 윈도우 8.1 <시작>에서 마우스 우측 버튼<시스템> ☞ 프로 세서, 메모리 크기, 운영체제 버전 확인

108 Practice ☞ 멀티코어 동작 확인 (실습)
윈도우 8.1 <시작>에서 마우스 우측 버튼<작업 관리 자><성능><리소스 모니터 열기> ☞ 멀티코어

109 Project ☞ Presentation (발표 과제)
<발표 과제> 4장 주제 추가 ☞ ARM 프로세서 응용 사례 현재 우리나라는 ARM 프로세서 설계 수요가 많음 이동용(mobile) 기기 ☞ 스마트폰, 태블릿 컴퓨터 등 내장형(embedded) 시스템 ☞ 디지털 TV, 소형가전, 자동차, 산업 용 디지털기기 등 ARM 프로세서를 이용한 응용 제품 설계 사례 조사 개인 자율로 독창적인 제품 주제를 선택할 것을 권장 제품 사진 첨부, 사용된 ARM 프로세서를 간략히 설명 이해 어려운 부분은 자신이 할 수 있는 만큼만 조사 <발표 과제> 요령 ☞ 1장 요령과 동일

110 Assignment ☞ final term report
<기말 리포트> 주제 ☞ ARM 프로세서 응용 사례 현재 우리나라는 ARM 프로세서 설계 수요가 많음 이동용(mobile) 기기 ☞ 스마트폰, 태블릿 컴퓨터 등 내장형(embedded) 시스템 ☞ 디지털 TV, 소형가전, 자동차, 산업 용 디지털기기 등 ARM 프로세서를 이용한 응용 제품 설계 사례 조사 개인 자율로 독창적인 제품 주제를 선택할 것을 권장 제품 사진 첨부, 사용된 ARM 프로세서를 간략히 설명 이해 어려운 부분은 자신이 할 수 있는 만큼만 조사 <리포트> 작성 요령 A4 용지 표지 포함 2~5 Page 정도 기말고사 이전까지 제출

111 - End of Chapter -


Download ppt "제4장 명령어 처리."

Similar presentations


Ads by Google