250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- XSS
- 공개키
- db
- SQL_Injection
- dsa
- Database
- StoredXSS
- 심층학습
- codeup
- RVA
- 코드업
- 인공지능
- 디피헬먼
- Cross Site Scripting
- injection
- 프로그래머스
- 기계학습
- 딥러닝
- 암호학
- SQL
- 파일구조
- 알고리즘
- C언어
- 머신러닝
- 웹
- dvwa
- ImageBase
- ReflectedXSS
- 보안
- RSA
Archives
- Today
- Total
Ye0ngJae
[하드웨어] 추측 실행과 분기 예측 본문
728x90
분기예측과 추측 실행
분기예측
파이프라인이 등장하면서 CPU는 수행히 채 끝나지도 않은 명령어의 결과를 사용해야 하는 일이 생겼습니다. 분기예측은 조건문이 실행되어야 할 때 다음 조건문의 결과 값이 들어오지 않아서다음 실행될 조건문이 어떤 곳으로 분기할지 모를 때 사용하는 디지털 회로입니다.
조건 분기 명령에서 결과 값은 둘 중 하나이므로 분기 예측기는 특정 알고리즘에 따라 다음 명령을 예측하여 미리 실행합니다. 만일 예측이 맞으면 명령은 계속 실행되고 예측이 틀리면 해당 명령은 폐기되고, 다시 올바른 명령을 실행합니다. 분기 예측기가 예측을 실패할 때마다 CPU는 클럭 손실을 보게 됩니다.
추측 실행
성능을 위해서 다음 실행될 명령어를 미리 실행하는 기법입니다. 따라서 앞서 설명한 분기 예측은 추측 실행의 여러 종류 중 하나라고 볼 수 있습니다.
if(a != b):
print("hi~")
위 코드를 살펴보면 if문을 판단하는데에 어느정도 시간이 소요되게 됩니다. 이 때 print("hi~") 구문을 미리 실행하여 대기하다가 if문이 실행되면 그 시간 만큼 이득을 보게 되고, 만일 실행되지 않았다면 실행 결과를 폐기합니다. 하지만 이러한 방법들은 멜트다운 취약점이 발생할 수 있습니다.
728x90
'컴퓨터 시스템' 카테고리의 다른 글
[하드웨어] 파이프라이닝(Pipelining)과 비순차적 실행 (0) | 2022.06.13 |
---|---|
[하드웨어] Instruction Set Architecture (0) | 2022.06.13 |
[하드웨어] CPU 구조와 동작과정 (0) | 2022.06.09 |
[하드웨어] SSD에 대하여 알아보자 (0) | 2022.06.06 |
[하드웨어] HDD에 대하여 알아보자 (0) | 2022.06.06 |