-프로세서는 인출,해석,실행 사이클을 계속 반복수행한다.
-1) 메모리에서 다음에 처리할 명령어를 인출(다음 메모리에 위치하거나, 지정된 위치에 있는 명령어 일 수도 있다)
-2) 명령어 해석 (무슨일을 하는지 파악, 수행에 필요한 준비)
-3) 명령어 실행 (메모리에서 정보를 가져오고, 산술/논리 연산을 수행, 결과를 저장)
=>이후 인출의 단계로 돌아간다.
컴퓨터 아키텍처 : 프로세서 설계 + 프로세서와 컴퓨터 나머지 부분간의 연결방식 설계를 다루는 분야
컴퓨터 아키텍처 의 주요 관심사 중 하나는 명령어 집합이다.
->프로세서가 제공하는 명령어 레퍼토리를 뜻한다.
Q) 폭넓고 다양한 종류의 계산이 처리 되도록 많은 수의 명령어가 있는것이 좋을까?
Q) 작성하기 쉽고 더 빨리 실행되도록 적은수의 명령어가 있는것이 좋을까 ?
-> 기능성, 속도, 복잡도, 전력소모 정도, 프로그램가능성등 상충하는 요구간 복잡한 트레이드 오프를 수반한다.
-> 폰노이만 '일반적으로 산술장치의 내부 자원운영은 빠른 연산속도에 대한 욕구와 , 기계의 단순성 또는 저비용에 대한 욕구사이의 절충으로 결정된다'
=>뭐가 좋은지 정답은 없고 대부분 비용과 욕구를 절충해서 결정하게 된다는것!
-프로세서의 속도 (1나노 초 보다 더 짧은 시간내에 수행한다)
-메모리는 10~20 나노 초 정도 걸림
=>프로세서의 입장에서는 명령어 수십개를 수행하고도 남을 시간
=>캐시 (고속메모리)사용
캐시 : 프로세서와 메모리 사이에 있고, 최근 사용된 명령어와 데이터를 담고 있다.
캐시에서 찾을수 있는 정보에 접근하는 편이 메모리에서 정보가 오기를 기다리는것보다 빠르다.
q) 단일 칩에 더 많은 프로세서 코어를 담거나 두개이상의 칩을 넣는다
집적회로의 선폭이 작아질수록 칩에 트랜지스터를 더 많이 넣을 수 있다.
->트랜지스터/칩/프로세스코어의 관계?
**프로세서 참고
https://www.earlyadopter.co.kr/12496
-데스크톱 : 전력과 물리적 공간이 비교적 넉넉하기 때문에, 가능한 빨리 작동하는데 집중
-노트북 : 전력을 적게 쓰고, 공간을 줄이는데 집중 (다른 조건이 같다는 가정하에, 데스크톱보다 느리다)
-휴대전화, 태블릿 : 설계를 수정하는것으로는 불충분. ARM이라는 프로세서 설계를 사용한다.
-캐싱 : 컴퓨팅 이외에도 여러분야에 폭넓게 적용 가능한 아이디어다.
-프로세서에는 캐시가 2~3개 존재 (L1,L2,L3 레벨) 뒤로 갈수록 용량은 크지만 속도는 느리다.
-가장 큰 캐시는 몇 MB정도 담을 수 있다.
-정보를 블록단위로 동시에 불러온다.
-단일 바이트에 대한 요청이 들어오면, 연속된 메모리 위치를 포함한 블록을 불러온다.
-브라우저도 캐시를 사용 (오래된 항목부터 삭제)