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

Computer Science/컴퓨터 구조18

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.
7. 명령어 사이클과 인터럽트 📱명령어 사이클과 인터럽트📱 CPU는 기본적으로 메모리에 저장되어 있는 명령어를 순차적으로 처리한다.(일정한 주기,흐름이 있음) -> 명령어 사이클 이러한 사이클을 끊는 신호를 인터럽트 라고 함. 명령어 사이클 프로그램 속 명령어들은 일정한 주기에 따라 반복되며 실행됨. ex. 메모리로부터 CPU에 명령어를 가져오는 것 -> 인출 사이클 / 이를 실행 -> 실행 사이클 ... 인출 - 실행 - 인출 - 실행 ... cf. 간접 사이클 인터럽트 CPU의 흐름을 끊는 것이 인터럽트.. CPU가 빠르게 처리해야 하는 다른 작업이 생겼을 때 인터럽트가 발생함. 동기 인터럽트(exception) 에러핸들링이 자연스레 떠오르는 동기 인터럽트 비동기 인터럽트(하드웨어 인터럽트) - 주로 입출력 장치에 의해 발생함. .. 2023. 8. 13.
6. 레지스터 📱레지스터📱 레지스터는 'CPU 내부의' 작은 임시저장장치이다. 프로그램 속 명령어와 데이터는 실행 전/후로 레지스터에 저장된다. 레지스터의 종류는 다양하며 각기 역할도 다르다. 레지스터의 종류는 사실 CPU의 종류마다 다르기도 하다. 1. 프로그램 카운터 - 메모리에서 가져올(읽어 드릴) 명령어의 주소 (Instruction Pointer _명령어 포인터)라고 부르기도 함. 2. 명령어 레지스터 - 해석할 명령어(1번에서 읽어 들인 명령어) _ 해석은 제어장치가 함 3. 메모리 주소 레지스터 - 메모리의 주소를 저장함. (CPU가 주소 버스를 이용해야 하는 경우_ 시스템버스(데이터,제어,주소) 즉 CPU가 읽으려는 메모리의 주소를 주소 버스로 보낼 때 거치는 레지스터 4. 메모리 버퍼 레지스터 - 메모.. 2023. 8. 13.