CS/컴퓨터구조(10)
-
보조기억장치
HDDHDD는 자기적인 방식으로 데이터를 저장하는 장치를 의미한다. HDD의 중요한 구조는 트랙과 섹터이다. (102동 704호처럼 Track이 102동, Sector가 704호라고 생각하면 된다.)하나의 섹터는 512bytes정도의 데이터를 읽고 쓸 수 있다. 하지만 새로운 데이터를 쓸 때는 기존에 위치한 섹터의 정보를 지우는 것이 아니라 overwrite하고 그 횟수도 정해져있다. HDD는 여러 겹의 플래터가 겹쳐있는데, 여러 겹의 플래터 상에서 같은 트랙이 위치한 곳을 모아 연결한 논리적인 단위를 실린더라고 한다. 연속된 정보는 보통 한 실린더에 기록된다. HDD가 저장된 데이터에 접근하는 시간은 다음과 같다.탐색 시간 : 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간회전 시간 : 헤드..
2024.05.17 -
물리 주소와 논리 주소
주소에는 물리 주소와 논리 주소가 있다.logical = virtual ➡ 가상 메모리 주소 physical ➡ 실제 메모리 주소 왜 두 개의 주소로 분리를 했을까? 이유는 CPU와 실행 중인 프로그램이 현재 메모리 몇 번지에 무엇이 저장되어있는지 전부 알지 못하기 때문이다. 같은 프로그램을 실행하더라도 실행할 때마다 실제 메모리에 저장되는 주소는 달라진다. 그리고 프로그램은 매우 짧은 시간에 실행되다가 종료되기도 한다. 이때마다 일일히 현재 메모리에 어떤 것이 저장되었는지 기억하는 것은 매우 어렵다. 그래서 각 프로그램들은 물리 주소가 아닌 0번지부터 시작하는 자신만을 위한 논리 주소를 가지고 있다. 논리 주소는 실행중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소를 의미한다.물리 주소는 데이터가..
2024.05.17 -
메모리와 캐시 메모리
RAM의 특징과 종류주기억장치의 종류에는 RAM과 ROM이 있다. 그 중 1차 메모리로 대부분 지칭하는 RAM에 대해 정리하자.RAM의 특징은 휘발성 저장 장치라는 점이다. 즉, 전원이 꺼지면 RAM에 저장된 명령어와 데이터가 날아간다.반면에 HDD, SSD, CD-ROM, USB 메모리 같은 보조기억장치는 비휘발성 저장 장치이다.이 특징을 이용해서 보조기억장치에는 보관할 대상을 저장하고 주기억장치 RAM에는 실행할 대상을 저장한다. RAM의 용량이 크다면 보조기억장치에서 많은 데이터를 가져와 미리 RAM에 저장할 수 있으므로 많은 프로그램을 동시에 실행하는 데 유리하다. 하지만 필요 이상으로 커진 경우에는 속도가 그에 비례하여 증가하지는 않는다. DRAM (Dynamic RAM)DRAM은 시간이 지나면..
2024.05.17 -
CPU 성능 향상 기법
멀티코어 프로세서와 멀티스레드 프로세서빠른 CPU를 위한 설계 기법에는 어떤 것이 있을까? 먼저 클럭 속도를 높이는 방법이 있다. 클럭 신호를 높이면 CPU를 비롯한 컴퓨터 부품들이 빠른 박자에 맞춰 움직이고 명령어 사이클이 더 빠르게 반복된다. 하지만 무작정 클럭 속도를 높이면 발열 문제가 심각해지고 CPU 성능 향상에 한계가 있다. 클럭 속도를 높이는 방법 말고 대표적인 해결책으로 코어를 늘리는 방법이 있다.우선 과거 CPU는 명령어를 실행하는 부품으로 원칙적으로 하나만 존재했다. 하지만 오늘날의 CPU는 명령어를 실행하는 부품을 여러 개 포함하는 부품으로 명칭의 범위가 확장되었다.코어를 여러 개 포함하고 있는 CPU를 멀티코어 CPU, 멀티코어 프로세서라고 부른다.하지만 CPU의 연산 속도는 꼭 코..
2024.05.16 -
명령어 사이클과 인터럽트
명령어 사이클프로그램 속 각각의 명령어들은 일정한 주기가 반복되며 실행되는데 이 주기를 명령어 사이클이라고 한다.CPU가 메모리로부터 명령어를 읽어오는 주기를 인출 사이클이라고 하며, CPU 내부의 제어장치가 명령어 레지스터로부터 명령어를 읽고 제어신호를 발생시켜 명령어를 실행하는 사이클을 실행 사이클이라고 한다. 하지만 모든 명령어들이 인출 사이클과 실행 사이클만 반복하는 것은 아니다.예를 들어 간접 주소 지정 방식은 메모리에 곧바로 접근하는 것이 아니라 유효 주소를 가지고 있는 메모리에 한번 더 접근이 이루어져야한다. 이렇게 메모리 접근이 더 필요한 경우를 간접 사이클 단계라고 한다.인터럽트인터럽트는 CPU의 정상적인 작업을 방해하는 신호이다.인터럽트의 종류에는 동기 인터럽트와 비..
2024.04.24 -
CPU의 작동원리2️⃣ - 레지스터
프로그램 속 명령어와 데이터는 실행 전후로 반드시 레지스터에 저장된다. CPU마다 레지스터의 이름, 크기, 종류가 매우 다양하다. 대표적인 레지스터 8가지에 대해 정리하자. 프로그램 카운터 명령어 레지스터 메모리 주소 레지스터 메모리 버퍼 레지스터 플래그 레지스터 범용 레지스터 스택 포인터 베이스 레지스터 우선 7번과 8번은 주소 지정 방식에 사용되는 레지스터이다. 1번부터 정리해보자. 프로그램 카운터는 메모리에서 읽어 들일 명령어의 주소를 저장한다. 명령어 포인터라고 부르는 CPU도 있다. 명령어 레지스터는 방금 메모리에서 읽어 들인 명령어를 저장한다. 제어장치가 이 명령어 레지스터에 저장된 명령어를 해석하고 제어신호를 보낸다. 메모리 주소 레지스터는 메모리의 주소를 저장하는 레지스터이다. CPU가 읽..
2024.04.18