CPU 구성 :
메모리 :
보조기억장치(하드 디스크 드라이브)
CPU는 보조기억장치에 저장된 프로그램을 메모리로 복사해서 실행할 수 있음
저장장치를 CPU와 가까운 순으로 정리하면
레지스터 > 캐시 메모리 > 메모리 > 보조기억장치
CPU가 명령어를 처리하는 과정에서 프로그램 속 각각의 명령어들을 일정한 주기를 반복하며 실행
1. 인출 사이클 (명령어를 메모리에서 CPU로 인출)
2. 실행 사이클 (CPU로 가져온 명령어를 실행하는 단계)
CPU의 작업을 방해하는 신호
1. 동기 인터럽트
CPU에 의해 발생, 프로그래밍 오류와 같은 예외적인 상황
2. 비동기 인터럽트
입출력장치에 의해 발생하는 인터럽트
하드웨어 인터럽트라고도 불리우는데 이러한 인터럽트는 CPU의 작업을 효율적으로 만들어준다. 예컨데 프린터와 같은 I/O의 작업은 상대적으 로 느린데 이걸 기다리겠다고 CPU가 대기하거나 매번 체크 할 수는 없 으니 프린터의 작업이 완료되었을 때 인터럽트를 받는 것이다.
CPU의 코어 명렁어를 읽고, 해석하고, 실행하는 부품 ALU, 레지스터 제어장치등이 들어있음
스레드, 하드웨어 스레드는 하나의 코어가 동시에 처리하는 명령어의 단위로 예컨데 코어 하나의 스레드 작업 2개 처리 가능하면 2코어 4스레드라고 한다.
소프트웨어 스레드란 하나의 프로그램에서 독립적으로 실행되는 단위 보통 운영체제에서 등장하는 스레드를 의미한다.
병렬성 : 작업을 물리적으로 처리하는 성질입니다.
동시성 : 동시에 작업을 처리하는 것처럼 보이는 성질입니다.
명령어 병렬 처리 기법이란 여러 명령어를 동시에 처리하며 CPU를 한시도 쉬지 않고 작동시킴으로써 CPU의 성능을 높이는 기법
명령어 인출 -> 명령어 해석 -> 명령어 실행 -> 결과 저장
하나의 명령어를 처리하는 과정의 4단계를 4개의 CPU가 각각 처리하도록 하기
그러면 누구는 저장하고 있는 동안 어떤 CPU는 다음 명령어를 인출하게 된다. 이걸 명령어 파이프 라이닝 이라고 한다.
RAM은 랜덤 액세스로 특정 주소를 찾기 위해 순차 접근하는게 아닌 그냥 곧장 접근하는 것이 가능하다는 의미
DRAM은 RAM의 휘발성이 시간이 지나며 저장된 데이터가 점차 사라지는 특징
소비전력이 낮고 집적도가 높아 대용량 메모리 설계 가능
SRAM은 시간이 지나도 저장된 데이터가 사라지지 않음 BUT 전원이 공급되지 않으면 내용 사라짐
캐시 메모리는 메모리보다 용량이 작음
캐시 메모리는 메모리의 일부를 복사하여 저장
뭘 저장하냐면
메모리 전원이 꺼져도 보관할 것, CPU가 사용할 법한 것을 저장
CPU가 실제로 사용한다면 캐시히트
캐시 메모리에 없어서 메모리에 가서 찾아야 한다면 캐시미스이다.
나아가 캐시 적중률이 있으며 (캐시히트 횟수 / 캐시히트횟수 + 캐시미스횟수) 로 표현
시간 지역성 : CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다. (EX. 프로그래밍 변수)
공간 지역성 : CPU는 접근한 메모리 공간의 근처에 접근하려는 경향이 있다. (EX. 배열, 순차적으로 쌓아가느냐 랜덤으로 데이터를 넣느냐)
CPU가 캐시 메모리에 데이터를 쓸 때는 캐시메모리에 새롭게 쓰여진 데이터와 메모리 상의 데이터가 일관성을 유지해야 한다.
1.즉시 쓰기 (메모리를 항상 최신 상태로 유지하여 캐시메모리, 메모리 간의 일관성을 유지)
단점은 데이터 쓸 때마다 참조해야 하므로 버스의 사용 시간과 쓰기 시간이 늘어남
데이터의 안전성 혹은 성능을 확보하기 위해 여러 개의 독립적인 보조기억장치를 마치 하나의 보조기억장치처럼 사용하는 기술을 의미한다.