본문 바로가기
728x90

분류 전체보기220

[컴퓨터 구조] 플래시 메모리 ■ 플래시 메모리 (Flash Memory)플래시 메모리란, 전기적으로 데이터를 읽고 쓰는 반도체 기반의 저장 장치이다. 비휘발성 기억장치인 ROM에도 사용이 되고, DRAM/SRAM 등의 휘발성 장치에도 사용이 되어진다.  주로 사용되는 보조기억장치로는 HDD, SSD, USB 등이 있다. 이중에서 SSD, USB는 플래시 메모리에 속하는 저장장치이다. ▼ 출처 (PaxDisk) 플래시 메모리는 크게 NAND 메모리, NOR 메모리의 종류로 나뉜다. 이 중에서 대용량 저장장치로 주로 사용되어지는 것은, 비교적 저렴한 가격의 특징을 가진, NAND 플래시 메모리이다.■ NAND 플래시 메모리 논리적 구조플래시 메모리는 셀(Cell)을 가장 작은 단위로 사용하고 있다. 이 셀들이 모여 KB부터 TB 등의 .. 2024. 12. 1.
[컴퓨터 구조] 메모리 계층 구조, 캐시 메모리 ■ 메모리 계층 구조 (Memory Hierarchy)저장 장치의 예로 레지스터, 메모리(RAM), USB 메모리가 있다. 이러한 저장 장치의 대표적인 특징 두 가지로는  첫째, CPU와 가까울 수록 저장 장치의 접근 속도는 빠르고, 멀리있을 수록 느리다.둘째, 속도가 빠른 저장 장치는 비싸고 용량이 작으며 거리가 멀어질수록 반대된다. 이러한 특징으로 인하여 컴퓨터는 여러 개의 저장 장치를 혼용해서 사용한다. 그 여러 개의 저장 장치의 계층 구조를 세 가지 특성을 기준으로 나타낸 것을 메모리 계층 구조(Memory Hierarchy)라고 한다.* 여기서 말하는 Memory 는 Ram이 아니라 저장 장치 Memory를 의미한다. ■ 캐시 메모리 (Cache Memory)CPU가 메모리에 접근하는 시간은 C.. 2024. 12. 1.
[컴퓨터 구조] 메모리 주소 ■ 물리 주소 & 논리 주소(1) 물리주소 : 메모리 하드웨어가 사용하는 주소 (정보가 실제로 저장된 하드웨어상의 주소)(2) 논리주소 : CPU와 프로세스가 사용하는 주소 (프로세스 각각에 부여된 0번지 부터 시작되는 주소) * CPU와 프로세스는 현재, 물리적 주소인, 메모리 몇 번지에 무엇이 저장되어 있는지 다 알고 있지 않다. 그 이유는 프로그램이 메모리에 적재될 때마다 주소가 달라지고, 다른 프로그램이 실행되거나 삭제될 때마다 모든 주소가 달라지기 때문이다. 이런 상황에서 현재 프로세스와 CPU가 특정 메모리 주소에 접근할 때 어떻게 동작할까?  먼저 CPU가 이해하는 주소는 논리주소이기 때문에 메모리와 상호작용을 하려면 논리주소와 물리주소 간의 변환이 이루어져야 한다. 서로 다른 주소 체계를 .. 2024. 12. 1.
[컴퓨터 구조] RAM ■ RAM의 종류1. DRAM (Dynamic Ram)저장된 데이터가 주기적으로 소멸되는 RAM이다. 이를 방지하기 위해 주기적으로 데이터를 재활성화해야 하는 단점이 존재한다. 하지만, 그럼에도 불구하고 우리가 일반적으로 사용하는 메모리는 DRAM이다. 이는 경제적인 이유에서 오는데소비 전력이 낮고 저렴하면서 집적도가 높기 때문에 대용량으로 설계하기가 용이하기 때문이다.  * 집적도: 집적도란 1개의 반도체 칩에 몇 개의 소자가 들어가 있는지를 나타내는 정도이다. 즉, 집적도가 높다는 것은 소자들이 더 빽빽하게 들어갈 수 있다는 뜻. (출처: 토스) ※ 늘 그렇듯 비쌀수록 성능이 좋고 단점이 적으며, 저렴할수록 성능은 비교적 안좋고 단점이 많아진다. 2. SRAM (Static Ram)시간이 지나도 저장.. 2024. 12. 1.
[컴퓨터 구조] ISA, CISC, RISC ■ ISACPU는 제조사마다 생김새, 연산 및 주소 지정 방식에 차이가 있다.이러한 CPU가 이해할 수 있는 명령어들의 모음을 '명령어 집합(Instruction Set)' 또는 '명령어 집합 구조(ISA; Instructio Set Architecture)'라고 부른다. 즉 CPU마다 각기 다른 ISA를 가질 수 있다. 예로 인텔이나 AMD의 x86, x86-64의 ISA와 애플의 ARM ISA는 서로 다른 ISA이기 때문에 별도의 작업 없이 인텔의 CPU에서 빌드한 실행 파일을 그대로 아이폰에 옮겨 실행하면 바로 실행이 안된다. 왜냐하면 실행 파일(exe)은 명령어로 이루어져 있고, CPU마다 이해할 수 있는 명령어가 다르기 때문이다. 예시로 동일한 C++ 코드를 gcc 14.2라는 동일한 컴파일러를.. 2024. 10. 6.
[컴퓨터 구조] 명령어 병렬 처리기법 (ILP) ■ 명령어 병렬 처리 기법 (ILP; Instruction-Level Paallelism)좋은 성능의 CPU 제작을 위해 높은 클럭 속도, 멀티 코어, 멀티 스레드를 지원하는 CPU를 만드는 것도 중요하다. 하지만, 코어와 하드웨어 스레드 개수에 상관없이 효율적으로 CPU 자원을 사용하기 위해서는 명령어 병렬처리 기법이 필요하다. 대표적인 종류는 (1) 명령어 파이프라인(2) 슈퍼스칼라(3) 비순차적 명령어 처리 위 세 가지가 있다.  ■ 명령어 파이프라인명령어 처리 과정은 크게 '인출', '해석', '실행', '메모리 접근', '결과 저장' 의 여러 단계를 순서대로 진행된다.처리 단계가 겹치지만 않다면 CPU는 각 단계를 동시에 [클럭 한 번에] 실행할 수 있다. 그렇기에 여러 개의 명령어를 단계가 겹.. 2024. 10. 6.
[컴퓨터 구조] 명령어 사이클, 인터럽트 ■ 명령어 사이클 (Instruction Cycle)우리가 실행하고 있는 프로세스는 수 많은 명령어로 구성이 되어있다.CPU는 이 명령어를 하나씩 실행하게 되고, 각각의 명령어들은 일정한 주기로 반복되며 실행되어진다.이렇게 하나의 명령어를 처리하는 정형화된 주기를 명령어 사이클이라고 한다. [단계]일단 아래와 같이 크게 두 가지의 사이클이 반복된다. (1) 인출 사이클 (Fetch Cycle)아래 레지스터(Register) 관련 포스팅에서 메모리로부터 명령어를 CPU 내 IR(Instruction Register)로 갖고 오는 단계까지가 인출 사이클의 과정이다. 이와 같이 메모리로부터 실행해야할 명령어를 CPU로 가져오는 단계를 '인출 사이클'이라고 한다.https://yjhdevelopdiary.tis.. 2024. 10. 2.
[Unity] 메모리 최적화를 위한 에셋 관리 [영상]https://www.youtube.com/watch?v=52ehLUfk3DQ&list=PL7g8Lh8G4gEfPhXO06haByx6KNzCrEoXR&index=10 [정리] [1. 오디오] - 모바일 같은 경우 Force To Mono를 활성화하는 것을 권장. 왼쪽 오른쪽 구분해서 사운드를 듣는 경우는 별로 없으니 - Decompress On Load는 말 그대로 메모리이 올려놓는거니 권장하지 않음. 짧은 사운드( - Compression Format은 엄청 짧으면 ADCPM을 그 외 웬만하면 Vorbis 권장. IOS는 MP3를 하드웨어 레벨에서 디코딩하는데 유니티 자체에서는 하드웨어 레벨에서 디코딩 하지않기 때문에 IOS의 이점을 이용할 수 없음. - Mute인 상태에서도 메모리에 올라가있음.. 2024. 9. 29.
공부해야 할 강의 목록 (대학 공개 강의) 보호되어 있는 글 입니다. 2024. 9. 18.
728x90