일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Database
- 공개키
- Cross Site Scripting
- codeup
- ImageBase
- 코드업
- ReflectedXSS
- SQL
- 프로그래머스
- 파일구조
- 심층학습
- 알고리즘
- dvwa
- 머신러닝
- 기계학습
- RVA
- XSS
- SQL_Injection
- StoredXSS
- 암호학
- 인공지능
- 디피헬먼
- RSA
- C언어
- 보안
- 웹
- dsa
- 딥러닝
- db
- injection
- Today
- Total
목록컴퓨터 시스템 (8)
Ye0ngJae
분기예측과 추측 실행 분기예측 파이프라인이 등장하면서 CPU는 수행히 채 끝나지도 않은 명령어의 결과를 사용해야 하는 일이 생겼습니다. 분기예측은 조건문이 실행되어야 할 때 다음 조건문의 결과 값이 들어오지 않아서다음 실행될 조건문이 어떤 곳으로 분기할지 모를 때 사용하는 디지털 회로입니다. 조건 분기 명령에서 결과 값은 둘 중 하나이므로 분기 예측기는 특정 알고리즘에 따라 다음 명령을 예측하여 미리 실행합니다. 만일 예측이 맞으면 명령은 계속 실행되고 예측이 틀리면 해당 명령은 폐기되고, 다시 올바른 명령을 실행합니다. 분기 예측기가 예측을 실패할 때마다 CPU는 클럭 손실을 보게 됩니다. 추측 실행 성능을 위해서 다음 실행될 명령어를 미리 실행하는 기법입니다. 따라서 앞서 설명한 분기 예측은 추측 실..
파이프라이닝과 비순차적 실행 파이프라인(Pipeline) 파이프 라인은 명령어를 병렬로 처리하는 방식입니다. 기존에 단일 사이클 방식의 경우에는 한 사이클이 끝나야 다음 명령어를 처리할 수 있었습니다. 하지만 파이프라인의 경우에는 여러행동을 중첩해서 사용이 가능하여 단일 사이클 방식에 비하여 매우 빠른 속도로 명령어를 처리할 수 있게 해줍니다. 이러한 파이프라인을 가장 효율적으로 진행하기 위해서는 한 사이클 안에 각 단계별 처리 시간이 일정하고 처리 단계가 균일해야 가장 효율적인 파이프라인을 구성할 수 있습니다. 비순차적 실행 일반적인 파이프라인은 순차적으로 명령어를 실행합니다. 그런데 이러한 순차적 파이프라인에서는 중간에 지연이 발생하면 값이 도착할 때까지 명령어 처리를 일시적으로 중단하게 되고 이 때..
Instruction Set Instruction Set은 명령어 집합 구조로 마이크로 프로세서가 이해할 수 있고 실행가능한 명령어들의 모음을 말하는 것입니다. 위 사진을 보면 ISA(Instruction Set architecture)은 Software와 Hardware 사이에 위치하고 있습니다. 따라서 ISA는 최하위 프로그래밍 인터페이스라고 볼 수 있습니다. 위 사진을 보면 Micro architecture가 있는데 Micro architecture은 마이크로프로세서가 사용하는 명령어 처리 방식을 뜻합니다. 마이크로 프로세서마다 사용하는 명령어 구조가 달라 ISA가 존재하는 것입니다. ISA 명령어 ISA 명령어는 다음의 기능을 합니다. 산술연산 명령 논리연산 명령 데이터 전송 명령 실행 제어 명령..
CPU 구조 CPU는 크게 ALU와 Register Set, Control Unit으로 구성되어 있습니다. 그리고 각 구성 요소들은 CPU 내부 버스로 연결되어 있습니다. ALU 산술연산, 논리 연산 등의 연산을 수행하는 CPU 속 부품입니다. ALU는 가산기와 누산기, 보수기 등으로 이루어져 있습니다. 보수기 덧셈 연산을 뺄셈 연산으로 바꿔주는 회로 가산기 두 데이터를 받아 덧셈 연산을 하는 회로 누산기 계산한 결과를 일시적으로 저장하는 회로 오버플로우 검출기 산술 연산 결과 값이 레지스터 용량보다 클 때 에러를 발생시킴 Control Unit Control Unit은 여러 컴퓨터 내부의 여러 부품들을 조작하는 부품입니다. 타이밍과 제어 신호를 제공함으로써 다른 장치들을 조작합니다. 컴퓨터의 모든 자원..
SSD는 HDD 같이 대용량의 데이터를 저장하는 보조기억장치이지만 HDD와 달리 반도체에 데이터를 저장하는 보조기억장치입니다. HDD는 물리적인 디스크에 기록을하여 속도가 느린 반면 SSD는 월등한 속도를 자랑합니다. 하지만 반도체에 데이터를 저장하는 특성 때문에 용량 대비 가격이 높아 속도가 중요한 소규모 데이터를 저장하는데에 주로 사용합니다. SSD는 플래시 메모리와 SSD 컨트롤러와 같은 칩과 기판으로 이루어져 있기 때문에 조그마한 충격에도 파손되어 쓰지 못하게 되는 HDD와 달리 비교적 충격에 강하다고 할 수 있습니다. SSD는 트랜지스터에 전자의 저장 여부에 따라서 0과 1로 구분합니다. 트랜지스터에 전자를 저장하고 해당 트랜지스터에 전자가 들어있는지 여부를 판단하여 저장하는 것이기 때문에 전원..
HDD는 컴퓨터의 파일을 저장하기 위한 보조기억장치로 데이터를 물리적인 디스크에 저장한다는 특징이 있습니다. 따라서 용량 대비 가격이 매우 저렴하여 주로 대용량의 데이터를 저장하는 데에 쓰입니다. HDD는 작동할 때 Spindle Motor에 의해 회전하는 Flatter를 Actuator Arm을 이용하여 Head를 원하는 장소에 이동시킨 다음 끝에 달린 Head를 이용하여 Flatter에 저장된 정보에 접근합니다. Flatter의 겉 면은 자성물질로 덮여있어 Head가 Flatter 위를 지나가며 Flatter의 자기 배열을 변화시키는 식으로 데이터를 저장하거나 수정, 삭제합니다. HDD는 Flatter 겉 면의 자기 배열 상태를 보고 제대로 정렬되어 있으면 1 아니면 0으로 판단합니다. 이때 Head..