Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

분류 전체보기275

13. 캐시 메모리 📱캐시 메모리📱 CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 훨씬 느리다! 저장 장치 계층 구조(memory hierarchy)_여기서 memory는 RAM이 아니라 일반적인 저장장치 1. CPU와 가까운 저장 장치는 빠르고(ex. 레지스터), 멀리 있는 저장 장치는 느리다.(ex.메모리, USB) 2. 속도가 빠른 저장 장치는 저장 용량이 작고 비싸다. 캐시 메모리 CPU와 메모리 사이에 있으며, 레지스터보다 용량이 크고, 메모리보다 빠른 SRAM 기반의 저장장치. CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위해 탄생. CPU가 매번 메모리에 접근하는 것은 시간이 오래 걸리기 때문에, 메모리에서 CPU가 사용할 데이터의 일부를 미리 캐시 메모리로 가지고 와서 쓰는 것.(ex. 이.. 2023. 8. 21.
12. 메모리의 주소 공간 📱메모리의 주소 공간📱 메모리의 주소는 논리 주소, 물리 주소로 나눌 수 있다. CPU와 실행 중인 프로그램(프로세스)는 현재 메모리 몇 번지에 무엇이 저장되어 있는지 다 알고 있을까? 모른다. why? 메모리에 저장된 값들은 시시각각 변하기 때문이다. - 새로 실행되는 프로그램은 새롭게 메모리에 적재됨. - 실행이 끝난 프로그램은 메모리에서 삭제됨. - 같은 프로그램이더라도 실행할 때마다 적재되는 주소는 달라짐. -> 이런 점을 극복하기 위해 주소를 물리 주소와 논리 주소로 나눔 물리 주소 메모리 입장에서 바라보는 주소. 정보가 실제로 저장된 하드웨어상의 주소. 논리 주소 CPU와 실행 중인 프로그램 입장에서 바라보는 주소. 실행 중인 프로그램 각각에게 부여되는 0번지부터 시작하는 주소. 위 예시를 보.. 2023. 8. 20.
11. RAM의 특성과 종류 📱RAM의 특성과 종류📱 주기억장치의 종류 - 크게 RAM, ROM이 있고, 흔히 말하는 '메모리'는 주로 'RAM'을 지칭함. Random Access Memory 사용자가 자유롭게 내용을 읽고, 쓰고, 지울 수 있는 기억장치. 컴퓨터가 켜지는 순간부터 CPU가 연산을 하고 동작에 필요한 모든 내용이 전원이 유지되는 내내 RAM에 저장됨. Random Access란? 데이터를 순차적으로 읽거나 쓰는 것이 아니라, 특정 위치에 저장된 데이터에 바로 접근할 수 있는 것! RAM은 전원이 꺼지면 내용이 날아간다! 그럼 다다익램이라는 말은 왜 나왔을까? RAM 용량이 크면 뭐가 좋지? RAM이 작다면? 보조기억장치에 저장되어 있는 프로그램을 동시에 여러개 실행하지 못함.. (앱 리프레시를 생각해보자 공간이 부.. 2023. 8. 20.
10. 명령어 집합 구조, CISC, RISC 📱명령어 집합 구조, CISC, RISC📱 CPU는 명령어를 실행한다. 명령어의 모양, 연산, 주소 지정 방식은 CPU마다 다르다. 명령어 집합(구조)_ISA(Instruction Set Architecture) CPU가 이해 가능한 명령어들의 모음. 즉 CPU의 언어라고 이해할 수 있다. 하드웨어가 소프트웨어를 이해하기 위한 약속. (ex. 인텔 CPU는 X86 명령어 집합, 애플 CPU는 ARM 명령어 집합) 명령어가 달라지면 해석 방식, 레지스터의 종류와 개수, 파이프라이닝(인출,해석,실행,저장) 용이성 등 많은 것들이 달라짐. CISC(Complex Instruction Set Computer) 복잡한 명령어 집합을 활용하는 컴퓨터(CPU) (ex. x86, x86-64) '가변 길이 명령어' 활.. 2023. 8. 20.
9. 명령어 병렬 처리 기법 📱명령어 병렬 처리 기법📱 명령어 파이프라인 명령어들을 겹쳐서 실행 ! (명령어가 처리되는 과정을 비슷한 시간 간격으로 나눈다면?) 1. 명령어 인출(메모리로부터 가져옴) 2. 명령어 해석 3. 명령어 실행 4. 결과 저장 같은 단계가 겹치지만 않으면 CPU는 각 단계를 동시에 실행할 수 있다! 명령어 파이프라이닝 - 동시에 여러개의 명령어를 겹쳐서 실행하는 기법. 파이프라인 위험 명령어 파이프라인이 성능 향상에 실패하는 경우(병렬로 명령어가 제대로 처리되지 못하는 경우) 1. 데이터 위험 - 명령어 간 의존성에 의해 발생 (이전 명령어를 끝까지 실행해야 이후에 실행 가능한 경우) ex. R1 = R2 + R3(R2와 R3를 더한 값을 R1에 저장) R4 = R1 + R5 (이 경우 R1에 값이 할당되어.. 2023. 8. 18.
8. CPU 설계 기법(클럭, 코어, 스레드) 📱CPU 설계 기법📱 컴퓨터를 빠르게 하려면?? 1. 컴퓨터 부품들은 '클럭 신호'에 맞춰서 움직이고, CPU는 '명령어 사이클' 흐름에 맞춰 명령어들을 실행한다. -> 클럭 주기를 빠르게 만들어 주면 '일반적으로' CPU를 포함한 부품들이 빠르게 동작한다. but 클럭 속도를 과도하게 높이면.. '발열' 문제가 생김. 클럭 속도: 헤르츠(Hz) 단위 측정_ 1초에 클럭이 반복되는 횟수 (ex. 4.9GHz는 1초에 49억번) 2. 코어 수를 늘리기 전통적으로 명령어를 실행하는 부품은 CPU 내부에 하나만 존재했다. 하지만 기술이 발전함에 따라 CPU 내부에 명령어를 실행하는 부품이 여러개 존재하게 되었고, 이제 명령어를 실행하는 부품을 '코어'라 부른다. 코어를 여러개 가지고 있는 CPU를 '멀티코어 .. 2023. 8. 16.