1. 명령어 인출 (Instruction Fetch) 2.명령어 해석 (Instruction Decode) 3. 명령어 실행(Execute Instruction) 4. 결과 저장(Write Back) 전공서에 따라 다르다. 명령어 파이프라인 같은 단계가 겹치지만 않는다면 CPU는 '각 단계를 동시에 실행할 수 있다.' ex) 컨베이어 벨트에서 반복작업하는 노동자 명령어 파이프라인이 없다면 한 명령어를 끝까지 처리하고 다음에 또 끝까지 처리해야 한다. > 시간이 오래 걸린다 파이프라인 위험(중요) 명령어 파이프라인이 성능 향상에 실패하는 경우 데이터 위험, 제어 위험, 구조적 위험 데이터 위험 : 명령어 간의 의존성에 의해 발생 모든 명령어를 동시에 처리할 수는 없다.(이전 명령어를 끝까지 실행해야만 비로..
1. 컴퓨터 부품들은 클럭 신호에 맞춰 일사불란하게 움직인다. 2. CPU는 명령어 사이클이라는 정해진 흐름에 맞춰 명령어들을 실행한다. 따라서 클럭이 빠르게 반복되면, 일반적으로는 빠른 속도를 보장한다. 클럭 속도 클럭 속도: HZ 단위로 측정 HZ : 1초에 클럭이 반복되는 횟수 똑-딱이 1초 1 반복이면 1HZ, 1초에 100번 반복되면 100HZ i7 코어인 4.9GHz의 경우, 순간적으로 1초에 49억(4.9 * 10^9)번 반복된다. 필요 이상으로 클럭을 높이면 발열이 심각해진다. TMI : 발열은 트랜지스터 반도체의 제어 전압인 0.7v를 파괴할 수 있기 때문에 조심해야 한다. 따라서 속도를 더 올리려면 코어 수를 늘리거나, 스레드 수를 늘려야 한다. 코어와 멀티 코어 CPU에는 명령어를 실..
https://www.youtube.com/watch?v=3Yz7OnVUM28&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&index=13 초심으로 돌아가서 다시 정리하는 개념입니다. 이미 알고 있어 스킵하는 부분도 있으니, 직접 보시는 걸 추천드립니다. 컴퓨터 구조에서 중요한 파트중 하나입니다. MCU에서도 중요한 개념이므로 임베디드 개발자도 익혀야 하는 내용입니다. 명령어 사이클 프로그램이 실행되는 주기를 명령어 사이클이라고 한다. CPU는 메모리 안에 있는 프로그램을 일정한 주기로 정해진 흐름대로 명령어를 처리하나(명렁어 사이클) 간혹 정보 흐름을 방해하는 신호를 받을 수도 있는데, 이를 인터럽트라 한다. 인출 사이클: 가장 먼저 CPU로 가지고 온다. 실행 사이클 : 가..
비전공자를 위한 CS 지식: 2. CPU 의 작동 원리 ALU는 계산하는 부품으로서 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 수행한 연산을 알려주는 제어신호를 받아들입니다. ALU는 레지스터와 저장장치로부터 받아들인 피연산자와 velog.io https://www.youtube.com/watch?v=lehWiAsIDrQ&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&index=11 초심으로 돌아가서 다시 정리하는 개념입니다. 이미 알고 있어 스킵하는 부분도 있으니, 직접 보시는 걸 추천드립니다. ALU CPU에 들어 있는 연산장치 제어장치로부터 제어신호를 받아 레지스터로부터 데이터를 받는다. ALU가 내보내는 정보는 레지스터에 결과값으로 내보낸다. 접근속도가 더 빠르..
https://www.youtube.com/watch?v=B8TDaBp3UWo&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&index=8 초심으로 돌아가서 다시 정리하는 개념입니다. 이미 알고 있어 스킵하는 부분도 있으니, 직접 보시는 걸 추천드립니다. 고급 언어와 저급 언어 고급 언어는 개발자의 언어(C,python,java 등등) 저급 언어는 기계어와 어셈블리어 기계어를 사람이 읽기 편하게 어셈블리어로 변환 어셈블리어를 알아두면 좋은 개발을 할 수도 있다. 고급 언어를 저급 언어로 변환하는 방식은 컴파일 방식, 인터프리트 방식이 있다. 고급 언어로 작성된 소스 코드를 저급 언어의 목적 코드로 바꾸는 걸 컴파일이라고 한다. 컴파일방식은 컴파일러가 필요하다. 컴파일은 한 줄씩 ..
https://www.youtube.com/watch?v=peg8c6Gn-zc&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&index=6 초심으로 돌아가서 다시 정리하는 개념입니다. 이미 알고 있어 스킵하는 부분도 있으니, 직접 보시는 걸 추천드립니다. 정보 단위 비트: 0과 1을 표현하는 가장 작은 정보 단위 n비트로 2^n의 정보 표현 가능 보통 비트보다 더 큰 단위를 사용한다. 1000 바이트=1킬로바이트(kB) 요즘에는 1024개씩 묶으면 kiB로 구분해서 쓰는 추세이다. (옛날에 배울 떄는 무조건 1024였는데..) 워드 CPU가 한 번에 처리할 수 있는 정보의 크기 단위 하프, 풀, 더블이 있다. 이진법으로 음수를 표현하는 법 0과 1로 음수 표현하기 2의 보수법을 ..