2025/04 4

빠른 CPU를 위한 설계 기법

CPU 속도를 빠르게 하려면?컴퓨터 부품들은 ‘클럭 신호’에 맞춰 일사불란하게 움직인다.CPU는 ‘명령어 사이클’이라는 정해진 흐름에 맞춰 명령어들을 실행한다.클럭 속도단위: [Hz]헤르츠[Hz]: 1초에 클럭이 반복되는 횟수 1초에 한 번 똑딱이면 1Hz 무조건 클럭 속도가 빠르다고 좋은 것은 아니다.필요 이상으로 클럭을 높이면 발열이 심해진다.클럭 속도를 늘리는 것 말고 CPU를 빠르게 하려면?코어 수를 늘리는 방법 (듀얼 코어, 멀티 코어 등)스레드 수를 늘리는 방법 (멀티 스레드) 코어전통적으로 명령어를 실행하는 부품은 원칙적으로 하나만 존재하지만 오늘날 CPU에는 명령어를 실행하는 부품이 여러 개 존재‘명령어를 실행하는 부품’을 코어라는 용어로 사용코어를 여러 개 갖고 있는 CPU를 ‘멀티 ..

명령어 사이클과 인터럽트

명령어 사이클: CPU는 명령어를 수행하는데 일정 주기를 반복한다. 이를 명령어 사이클이라고 한다.메모리에 저장된 명령어를 실행하려면? 메모리에 저장된 명령어를 인출해 CPU로 가져온다. (인출 사이클) - 인출한 것을 실행한다. (실행 사이클) 이 과정을 반복한다. 인터럽트의 종류에는 동기 인터럽트, 비동기 인터럽트가 있다. 비동기, 하드웨어 인터럽트 비동기 인터럽트가 없다면 작업이 완료되었는지 계속해서 확인을 해주어야 한다. 입출력장치가 CPU에 인터럽트 요청 신호를 보낸다.항상 실행사이클이 끝나고 플래그 레지스터에서 인터럽트 플래그를 확인한다. 하지만 모든 인터럽트를 인터럽트 플래그로 막을 수 있는 것은 아니다. 하드웨어 고장이나 정전 같은 경우가 있을 수 있기 때문이다.Maskabl..

CPU의 내부 구성 - 레지스터

레지스터CPU 내부의 작은 임시저장장치프로그램 속 명령어, 데이터는 실행 전후로 레지스터에 저장레지스터의 종류프로그램 카운터메모리에서 가져올 명령어의 주소메모리에서 읽어 들일 명령어의 주소Instruction Pointer, 명령어 포인터라고 부르는 CPU도 있다.명령어 레지스터해석할 명령어를 저장방금 메모리에서 읽어 들인 명령어, 이 명령어를 제어장치가 해석하고 제어신호를 내보낸다.메모리 주소 레지스터메모리의 주소를 저장CPU가 읽어 들이고자 하는 주소를 버스로 보낼 때 거치는 레지스터메모리 버퍼 레지스터메모리와 주고받을 값(데이터와 명령어)을 저장CPU가 정보를 데이터 버스로 주고받을 때 거치는 레지스터다음에 실행할 명령이 1101이고 주소가 1000이므로 프로그램 카운터에 1000이 저장된다. 명령..

PIO 통신

적외선(IR)을 이용한 통신 장치이다. 마스터-슬레이브 간 Input/Output 신호를 비접촉으로 주고 받을 수 있다.  로봇-설비 간 통신에 이용된다.로봇이 “작업을 수행해도 되는지?” 요청하는 역할이므로 설비에 신호를 보내야 한다. → Master설비는 고정된 위치에서 로봇의 요청을 수신하고 응답한다. → Slave 매뉴얼을 보면로봇 --> PIO 로 총 3바이트가 전송되고PIO --> 로봇으로 총 6바이트가 전송되며, 이때 1~3바이트는 PIO로 전송한 3바이트를 그대로 받는다.이를 이용해 송신한 3바이트의 데이터가 그대로 수신되었는지 검증을 통해 통신 상태를 확인했다.

로봇 2025.04.02