CONCEPT/Computer Architecture18 [컴퓨터구조] 다양한 입출력 방법 세 가지 입출력 방식1) 프로그램 입출력: 프로그램 속 명령어로 입출력장치를 제어하는 방법 = 입출력 명령어로써 장치 컨트롤러와 상호작용함. 메모리에 저장된 정보를 하드 디스크에 백업 = 하드디스크에 새로운 정보 쓰기즉, CPU가 장치 컨트롤러의 레지스터 값을 읽고 씀으로써 이루어진다. Q) CPU가 많은 장치 컨트롤러들 중 원하는 장치 컨트롤러를 하나 찾고 또 그 안에 레지스터들 중에서 주소 정보를 가진 레지스터를 어떻게 알 수 있는걸까? 인식하는 방법(프로그램 입출력 방식): 메모리 맵 입출력 / 고립형 입출력- 메모리 맵 입출력- 고립형 입출력2) 인터럽트 기반 입출력 인터럽트: 이벤트가 발생할 때만 CPU가 작업을 처리하도록 하는 방식 (효율적, 실시간 응답성)폴링: CPU가 주기적으로 장치나 .. 2025. 2. 21. [컴퓨터구조] 장치 컨트롤러 / 장치 드라이버 입출력장치는 앞서 학습한 CPU, 메모리보다 다루기가 까다롭다. 1) 입출력장치에는 종류가 너무나도 많다.: 장치가 다양하면 장치마다 속도, 데이터 전송 형식 등도 다양하다. 따라서 다양한 입출력장치와 정보를 주고받는 방식을 규격화하기 어렵다. 2) 일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.* 전송률(transfer rate): 데이터를 얼마나 빨리 교환할 수 있는지를 나타내는 지표 장치 컨트롤러의 역할- CPU와 입출력장치 간의 통신 중개 (번역가 역할)- 오류 검출 (장치 컨트롤러와 연결된 입출력 장치에 오류가 있는건 아닌지 확인하는 역할) - 데이터 버퍼링* 버퍼링: 전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이터를 '버퍼'라는 임시 저장 공간에.. 2025. 2. 20. [컴퓨터구조] RAID의 정의와 종류 RAID 레벨: RAID를 구성하는 기술 - 스트라입(stripe): 마치 줄무늬처럼 분산되어 저장된 데이터- 스트라이핑(striping): 분산하여 저장하는 것 장점: 백업과 복구가 쉽다. (안전하게 데이터 저장) 2025. 2. 19. [컴퓨터구조] 다양한 보조기억장치(하드 디스크, 플래시 메모리) Hard Drive HDD working in slow motion 플래시 메모리 종류: NAND 플래시 메모리 / NOR 플래시 메모리오늘 정리할 플래시 메모리는 " NAND 플래시 메모리"임. * 플래시 메모리 (USB, SSD, SD카드)와 하드 디스크에는 수명이 있다. 일정 횟수 이상 썼다 지웠다하면 수명이 닳음.ex) 종이에 연필로 썼다 지웠다하면 종이가 나중에는 흐물흐물해지는 현상과 동일. * 같은 플래시 메모리라도 타입에 따라 수명, 가격, 성능이 다르다. - 레거시(legacy): "구식의, 오래된" 기술이나 시스템을 가리키는 말. 사용되지만 시대에 뒤떨어진 것.- 가비지(garbage): "사용되지 않는, 불필요한" 데이터나 자원을 의미, 주로 메모리나 저장 공간 관리에서 중요하게.. 2025. 2. 19. [컴퓨터구조] 캐시 메모리 CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 압도적으로 느리다. - CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.- 속도가 빠른 저장장치는 저장 용량이 작고, 가격이 비싸다. 레지스터 / 캐시 메모리 / 메모리(RAM) / USB or SSD or HDD- CPU와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 용량이 작지만 빠른 SRAM 기반의 저장 장치- CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생 "CPU가 매번 메모리에 왔다갔다 하는 건 시간이 오래 걸리니,메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 쓰자" 메모리 접근 = 물건을 사러 가는 것메모리 = 물건은 많지만 집과는 멀리 떨어져있.. 2025. 2. 19. [컴퓨터구조] 메모리의 주소 공간 Q) CPU와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장되어 있는지 다 알고 있을까? : 메모리 몇 번지에 무엇이 저장되어 있는지 알지 못함. Q) 논리 주소와 물리 주소로 주소 공간을 나눈 이유?: CPU가 프로그램의 각각의 주소인 논리주소를 통해서 실제 메모리의 주소인 물리주소와 상호작용하여 메모리 관리함. = CPU가 메모리와 상호작용하기 위해! Q) 논리 주소를 물리 주소로 변환하는 방법?: MMU(메모리 관리 장치)라는 하드웨어에 의해 변환됨. * MMU는 논리 주소와 베이스 레지스터(프로그램의 기준주소) 값을 더하여 논리 주소를 물리 주소로 변환함.CPU는 메모리에 접근하기 전 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사함.실행 중인 프로그램의 독립적인 실행.. 2025. 2. 19. [컴퓨터구조] RAM의 특징과 종류 주기억장치의 종류에는 크게 RAM과 ROM 두 가지가 있고, '메모리'라는 용어는 그 중 RAM을 지칭하는 경우가 많다.- RAM은 휘발성 메모리로, 데이터를 빠르게 읽고 쓰기 위해 사용되고,- ROM은 비휘발성 메모리로, 주로 시스템의 기본 프로그램이나 초기 설정을 저장하는 데 사용 1) DRAM (Dynamic RAM)- Dynamic = '동적의'- 저장된 데이터가 동적으로 사라지는 RAM- 데이터 소멸을 막기 위해 주기적으로 재활성화 해야함.- 일반적으로 메모리로 사용되는 RAM: 상대적으로 소비 전력이 낮고 저렴함, 집적도가 높아 (빽빽하게 설계가능) 대용량으로 설계하기 용이함. 2) SRAM (Static RAM)- Static = '정적의'- 저장된 데이터가 정적인 (사라지지 않는) RA.. 2025. 2. 19. [컴퓨터구조] 명령어 집합 구조, CISC와 RISC "CPU는 명령어를 실행한다"= 명령어의 세세한 생김새, 연산, 주소 지정 방식 등은 CPU 모델마다 다르다. 인텔의 CPU는 일반적으로 "X86(X86-64)" 명령어 집합을, 애플의 CPU는 일반적으로 "ARM" 명령어 집합을 따름.따라서, 명령어가 달라지면 명령어 해석 방식, 레지스터의 종류와 개수, 파이프라이닝의 용이성 등 많은 것들이 달라짐.명령어 집합의 두 축: CISC(x86-64) & RISC(ARM) 2025. 2. 18. [컴퓨터구조] 명령어 병렬 처리 기법 - 스레드: 프로세스 내에서 실행되는 작업 단위로, 여러 쓰레드를 활용하여 하나의 프로세스 내에서 동시 작업을 처리함.- 명령어 파이프라인: 여러 프로세스를 연결하여 데이터 흐름을 처리하는 방식. 각 명령어는 독립적인 프로세스로 실행되며, 각 프로세스가 내부에서 쓰레드를 활용할 수 있음. 2025. 2. 18. [컴퓨터구조] 빠른 CPU를 위한 설계 기법 컴퓨터 부품들은 '클럭 신호'에 맞춰 일사불란하게 움직인다.CPU는 '명령어 사이클'이라는 정해진 흐름에 맞춰 명령어들을 실행한다. Q) 클럭 신호가 빠르게 반복되면 CPU를 비롯한 컴퓨터 부품들은 그만큼 빠른 박자에 맞춰 움직이나?: 꼭 그런건 아니지만 일반적으로는 YES ex) intel core i7는 max가 4.9GHz 이다. = 1초에 클럭이 순간적으로 최대 49억(4.9x109)번 반복된다. * 클럭 속도는 일정하지않다. 느릴때는 느리고 빨라야할때는 빠르다.* 필요 이상으로 클럭을 높이면 발열이 심각하다. Q) 클럭 이외에 CPU의 속도를 빠르게 늘리는 방법은?- 코어 수 늘리기 ex) 듀얼 코어, 멀티 코어- 스레드 수 늘리기 ex) 멀티 스레드 Q) 코어를 두.. 2025. 2. 18. 이전 1 2 다음