Machineboy空
방법 1)클럭(clock) 속도 컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다. CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행한다. → 빠른 CPU를 위해 클럭신호를 빨리 만들어볼까? → 클럭 신호가 빠르게 반복되면 (= 클럭 속도가 빨라지면 ) CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직이겠지? 꼭 그런 것은 아니지만 일반적으로는 맞다. 그래서 클럭 속도가 CPU 속도로 측정되기도 함. 클럭 속도는 일정한 것이 아니라 필요에 따라 느려졌다 빨라졌다 한다. → 클럭 속도를 무조건 높인다고 좋을까? 필요 이상으로 클럭 높이면 발열이 심각해짐! 방법 2)코어(core) 수를 늘리기 전통적으론 단일한 코어가 즉 CPU였지만 멀티코어가 가능하며 다양한 부품..
CPU는 메모리로부터 명령어나 데이터를 가져와서 실행하기도 하고 필요하면 메모리에 값을 저장하기도 한다. 명령어 사이클 ? CPU가 메모리의 실행 프로그램을 실행하는데 일정한 패턴이 있고, 정해진 패턴 흐름에 따라 명령어를 처리한다. 인터럽트 ? 정해진 흐름을 방해받기도 한다. 정해진 흐름을 끊는 신호. 1) 명령어 사이클 (Instruction cycle) 프로그램 속 명령어들은 일정한 주기가 반복되며 실행되고 이 주기를 명령어 사이클(Instruction cycle)이라고 한다. 인출 사이클 (Fetch Cycle) 메모리에 저장된 명령어를 실행하려면 가장 먼저 CPU로 가져와야 한다. 실행 사이클 (Execution Cycle) 가져 와서 실행 하지만 CPU로 명령어를 가지고 와도 바로 실행이 불가..
CPU 구성품 중 레지스터 시스템, 임베디드, 해킹 분야의 경우 레지스터 안에 어떤 값이 담겼는지 관찰하게 되는 경우가 많다. ALU나 제어장치에 비해 좀 더 중요하게 살펴 볼 필요가 있다! 반드시 알아야 하는 레지스터 종류 * CPU 종류마다 레지스터의 갯수, 종류가 다르다 * 하지만 공통적으로 포함하는 레지스터들. 이름 저장하는 내용과 용도 1 프로그램 카운터 메모리에서 가져올 명령어의 주소 = 메모리에서 읽어들일 명령어의 주소 *타 CPU에서는 명령어 포인터( Instruction Pointer)라고 부르기도 함 2 명령어 레지스터 해석할 명령어 = 방금 메모리에서 읽어 들인 명령어 제어장치가 해석 3 메모리 주소 레지스터 메모리의 주소 CPU가 읽어 들이고자 하는 주소를 주소 버스로 보낼 때 거치..
CPU의 구성품 중 ALU(Arithmetic Logic Unit)와 제어 장치(Control Unit) 1) ALU(Arithmetic Logic Unit) = 계산기 ALU가 받아들이는 정보: 계산을 하기 위해 필요한 정보 피연산자 (from 레지스터) 수행할 연산 (from 제어장치의 제어 신호) ALU가 내보내는 정보: 계산한 결과값 계산한 결과값을 레지스터에 저장한다. *메모리가 아닌 레지스터에 저장하는 이유: CPU가 메모리에 접근하는 속도보다 레지스터에 접근하는 속도가 더 빠르기 때문 플래그값을 플래그 레지스터에 저장한다. *플래그: 연산 결과에 대한 부가 정보 연산결과가 결과를 담을 레지스터에 비해 너무 클 때도 플래그 래지스터에 담는다. *오버플로우(overflow) 2) 제어 장치(Co..