개발자를 위한 컴퓨터 공학20 17. 장치 컨트롤러와 장치 드라이버 다양한 입출력 장치들이 컴퓨터와 소통하게 될 때는 장치 컨트롤러와 장치 드라이버라고 하는 개념을 통해서 이루어진다.CPU-입출력장치 정보 주고받기입출력 장치는 CPU나 메모리 보다 더 다루기가 까다롭다. 크게 두 가지 이유가 있는데입출력장치에는 종류가 너무나도 많다.장치가 다양하면 장치마다 속도, 데이터 전송 형식 등도 다양하다. 그렇기 때문에 정보를 주고받는 방식을 규격화하기 어렵다.일반적으로 CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮다.이런 이유로 입출력장치는 장치 컨트롤러를 통해 컴퓨터와 연결된다. 장치 컨트롤러의 역할CPU와 입출력장치 간의 통신중계오류 검출데이터 버퍼링 : 버퍼링 전송률이 높은 장치와 낮은 장치 사이에 주고 받는 데이터를 버퍼라는 임시 저장 공간에 .. 2024. 10. 16. 16. RAID의 정의와 종류 RAID의 정의Redundant Array of Independent Disks하드 디스크와 SSD로 사용하는 기술데이터의 안전성 혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치럼 사용하는 기술RAID 레벨- RAID를 구성하는 기술- RAID 0, RAID 1, RAID 2 ... RAID 6RAID 0데이터를 단순히 나누어 저장하는 구성 방식각 하드 디스크는 번갈아 가며 데이터를 저장한다. 저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장스트라입 stripe : 마치 줄무늬처럼 분산되어 저장된 데이터스트라이핑 striping : 분산하여 저장하는 것장점 : 입출력 속도의 향상단점 : 저장된 정보가 안전하지 않음 RAID 1미러링 mirroring : 복사본을 만드는.. 2024. 10. 13. 15. 다양한 보조기억장치 하드디스크 구성 저장단위 데이터 접근 과정하드 디스크가 저장된 데이터에 접근하는 시간- 탐색 시간 seek time : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간- 회전 지연 rotational latency : 헤드가 있는 곳으로 플래터를 회전시키는 시간- 전송 시간 transfer time : 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간플래시 메모리전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치로 NAND 플래시 메모리와 NOR 플래시 메모리가 있다.셀 cell- 플래시 메모리에서 데이터를 저장하는 가장 작은 단위- 셀이 모여서 MB, GB, TB 저장 장치가 된다.- 1비트를 저장할 수 있는 플래시 메모리 : SLC- 2비트를 저장할 수 있는 플래시 메모리 : MLC- .. 2024. 10. 12. 14. 캐시 메모리 저장 장치 계층 구조CPU가 메모리에 접근하는 시간은 CPU 연산 속도보다 느리다.CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.즉, 낮은 가격대의 대용량 저장 장치를 원한다면 느린 속도를 감수해야 하고, 빠른 속도의 저장 장치를 원한다면 비싼 가격을 감수해야 한다. 저장 장치들은 'CPU에 얼마나 가까운가'를 기준으로 계층적으로 나타낼 수 있다. 캐시 메모리CPU와 메모리 사이에 위치한, 레지스터보다 용량이 크고 메모리보다 빠른 SRAM기반의 저장 장치CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생CPU가 매번 메모리에서 왔다 갔다 하는 건 시간이 오래 걸리기 때문에 메모리에서 CPU가 사용할 .. 2024. 10. 10. 13. 메모리의 주소 공간 메모리 내 주소 체계는 크게 논리주소와 물리주소로 나뉜다. "CPU와 실행 중인 프로그램은 메모리 몇 번지에 무엇이 저장되어 있는지 알 수 있을까?"> 알 수 없다. 왜냐하면 메모리에 저장된 값들은 아래의 이유로 시시각각 변하기 때문이다.새롭게 실행되는 프로그램은 새롭게 메모리에 적재된다.실행이 끝난 프로그램은 메모리에서 삭제된다.같은 프로그램을 실행하더라도 실행할 때마다 적재되는 주소는 달라진다.물리 주소와 논리 주소물리 주소메모리 입장에서 바라본 주소말 그대로 정보가 실제로 저장된 하드웨어상의 주소논리 주소CPU와 실행 중인 프로그램 입장에서 바라본 주소실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소물리 주소와 논리 주소의 변환MMU라는 메모리 관리 장치 하드웨어에 의해 변환 CPU ->.. 2024. 10. 9. 3.데이터 0과 1로 문자를 표현하는 방법 문자 집합과 인코딩문자 집합 character set : 컴퓨터가 이해할 수 있는 문자의 모음인코딩 encoding- 코드화하는 과정- 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정디코딩 decording- 코드를 해석하는 과정- 0과 1로 표현된 문자 코드로 문자를 변환하는 과정 대중적으로 사용되는 문자 집합 세가지아스키 ASCII 코드초창기 문자 집합 중 하나알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자7비트로 하나의 문자 표현8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트 parity bit아스키 코드로 표현할 수 있는 총 문자의 개수는 2의 7승계, 128개이다.문자에 부여된 값들을 그대로 인코딩 값으로 쓰면 되기 때문에 인코딩 방식이 아주 간단하다.그러나 한글을 포함.. 2024. 9. 28. 이전 1 2 3 4 다음