컴퓨터 공학 기초)컴퓨터 구조

Dec 28, 2023
컴퓨터 공학 기초)컴퓨터 구조

폰 노이만 구조


notion image

CU(Control Unit)가 메모리에서 명령어를 가져와 연산(ALU)을 하고 다시 메모리에 결과를 저장
 
CPU : 연산 장치
필요한 Data를 RAM에게 요청 > 연산 > 결과 RAM에 반환(저장)
 
RAM : 저장장치, 메모리
8 bit 단위로 데이터를 저장함
메모리의 번지 수가 0번지부터 시작함
notion image
💡
빠른 전류가 돌면 데이터를 바로 랜덤 액세스 > 매우 빠름
** 랜덤 액세스(Random Access) : 데이터나 메모리의 위치에 상관없이 직접 액세스(접근)
💡
메모리 커패시터 이용 > 전류가 끊기면 데이터가 날아감 휘발성
** 커패시터 : 컴퓨터 시스템에서 주로 사용되는 컴퓨터 메모리의 일부 구성 요소
 
Hard Disk : 컴퓨터에서 데이터를 저장하고 읽고 쓰는 데 사용되는 비 휘발성 저장장치
상처를 내서 Data를 기록
데이터를 영구적 기록하고 싶을 때 사용하는 장치
대용량의 데이터 저장이 가능하고, 비교적 저렴한 가격으로 제공되는 장점
notion image
** 풀스캔 : 데이터를 순차적으로 읽는 것
💡
데이터를 저장하고 찾는데 오래 걸림

하드 디스크의 동작 원리


자기적 원리를 사용하여 데이터를 저장하고 액세스하는 저장 장치
 
하드 디스크의 동작 원리
  • 하드 디스크 : 여러 개의 원판인 플래터로 구성
  • 플래터(Platter) : 금속 또는 유리로 만들어진 원판
자기적으로 정보를 기록할 수 있는 특성
디스크의 회전축 주위를 회전하며 데이터를 저장
  • 자기 헤드(Magnetic Head) : 플래터 위에 위치
전자기적인 신호를 생성하고 읽어들이는 역할
플래터의 표면에 매우 가까이 위치하여 데이터의 자기적인 패턴을 읽고 쓸 수 있음
플래터 위를 이동하면서 특정 위치의 데이터에 액세스
  • 섹터(Sector) : 작은 조각으로 나뉘어져 있음
각 섹터는 고유한 주소를 가지고 있고, 데이터를 저장하는 최소 단위
보통 크기 : 512 Byte부터 4KB까지
  • 자기적인 기록과 읽기
기록 과정 : 자기 헤드가 플래터의 표면에 자기적인 패턴을 생성 > 데이터를 표현
읽기 과정 : 플래터 위의 자기적인 패턴을 자기 헤드가 읽어들여 데이터를 복구
  • 회전과 헤드 이동
플래터는 일정한 속도로 회전, 자기 헤드는 플래터 위를 이동하여 특정 섹터에 액세스
회전 속도와 헤드 이동 속도는 하드 디스크의 성능에 영향을 미침
빠를수록 빠른 데이터 액세스 가능

 
CPU가 RAM에게 자료를 요청 > RAM에 있으면 응답
 
CPU가 요청 > 페이지 폴트(부재) : 없음 > HD에 요청 > RAM이 꽉 차 있음
> 페이지 교체 > RAM에 데이터 로드 > 응답
💡
RAM이 클수록 들고 있는 데이터가 많아 HD에 갈 일이 줄어들고 속도가 빨라짐
💡
LRU(Least Recently Used)
가장 오랫동안 사용되지 않은 데이터를 우선적으로 제거하는 캐시 교체 알고리즘
가장 최근에 사용했던 데이터만 남겨두고 페이지 교체
 
notion image
Register : CPU의 저장장치
가장 빠른 연산 장치
초당 20억번이 떨리면서 연산을 함
많이 떨릴수록 열이 많이 발생함
용량이 8 MByte 정도 밖에 안됨
→ 데이터를 빨리 전달해주는 것이 컴퓨터의 성능을 좌우함
 
CPU가 RAM에게 자료를 요청 > RAM에 있으면 응답 > 레지스터에 저장 > CPU가 연산
캐싱 : 한번 사용한 데이터가 레지스터에 남아있으면 다시 요청하지 않고 작업
레지스터는 RAM에 안가고 바로 읽을 수 있으니 캐시가 됨

캐시 메모리


캐시 : 더 빠르게 엑세스 할 수 있는 모든 공간 / 상대적 의미
레지스터는 RAM에 안가고 바로 읽을 수 있으니 캐시가 됨
예시) 자주 읽는 책을 책상에 자주 안 읽는 책을 책장에 넣어놨을때
책장에 갔는데 책이 있으면 그냥 읽어온 것
책장보다 더 가까운 책상에 있어 빨리 읽을 수 있음

 
** 로드 : HD에 있는 Data를 메모리가 가져가는 것
** 기록 : RAM에 있는 Data를 HD에 기록하는 것
** 리프래쉬 : 안쓰는 데이터를 HD에 주고 필요한 Data를 가져오는 것
** I/O : Input Output → 컴퓨터의 속도를 좌우함
** 버스 : 한번에 전송하는 것
** 참조 : 레퍼런스
해당 번지에 가서 다른 번지를 참조하겠음 > 점프해서 찾아감
 
32bit 컴퓨터 : CPU가 한번에 처리할 수 있는 데이터 양이 32bit(42억 9천개)
레지스터 하나가 32bit
최대 4GB까지 일할 수 있음
64bit 컴퓨터 : CPU가 한번에 처리할 수 있는 데이터 양이 64bit(42억 9천개)
레지스터 하나가 64bit
 
64bit를 지원하는 컴퓨터)
64bit 프로그램을 다운받으면 속도가 느리지만 오류가 나진 않음
 
32bit를 지원하는 컴퓨터)
64bit 프로그램을 다운받으면 32bit를 버리게 되니 오류가 남
 
notion image
int = 4Byte → 숫자를 저장하는 자료형
메모리에 4칸에 10을 저장할 수 있음
notion image
 
-21억~ + 21억까지 저장 가능함
 
int: 자료형
num: 변수
‘=’ : 대입 연산자
우변: 값
우변의 값을 대입 연산자를 통해서 변수에 넣음
notion image
 
Share article
RSSPowered by inblog