본문 바로가기

Computer Science/OS

컴퓨터 하드웨어의 구성(프로세서, 메모리, 시스템버스, 주변장치)

각 장별 요약

한 학기에 배울 내용들이다.

 

7~8장까지 계획하고 뒤에는 시간이 허락하면 진행한다.

 

컴퓨터 시스템의 구성 

 

크게보면 2개로 나눕니다.

 

응용, 시스템 소프트웨어로

 

시스템 버스로 연결되어 있습니다.

 

컴퓨터 하드웨어를 자세히 봐봅시다

cpu에는 

연산장치(ALU), 레지스터, 제어장치(유니트) 가 있습니다.

 

메모리에는 

RAM, ROM이 있습니다.

 

입출력 제어기에는 많은것이 있습니다.

 

각각은 시스템 버스로 통신을 합니다.

 

시스템 버스는 데이터버스, 주소버스, 제어버스로 구분되어 있습니다.

 

 

컴퓨터 하드웨어의 구성

- 프로세서

- 메모리

- 시스템 버스

 -주변장치

 

컴퓨터 하드웨어의 구성 - 프로세서

 

 

레지스터를 분류해봅시다.

 

레지스터 세트에 무엇이 있을까요? PC, AC, MAR, MBR, IR

 

전용 레지스터 - 용도가 딱 정해져있는 것

 

범용 레즈스터 - 다양하게 쓸 수 있는 것

 

cpu, 메모리, i/o를 그려놓은 것이다.

 

PC - 다음에 실행할 명령어의 주소를 가지고 있습니다.

 

IR - 가장 최근에 인출된 명령어 코드가 저장되어 있는 레지스터 입니다.

 

MAR - PC에 저장된 명령어 주소가 시스템 주소 버스로 출력되기 전에 일시적으로 저장되는 주소 레지스터 입니다.

 

MBR - 기억장치에 쓰일 데이터 혹은 기억장치로부터 읽힌 데이터를 일시적으로 저장하는 버퍼 레지스터 입니다.

 

AC - 다용도로 쓰입니다. 데이터를 일시적으로 저장하는 레지스터

 

메모리 - 명령어와 데이터가 들어있습니다.

 

 

기억장치 계층 구조

- 기억장치를 계층적으로 구성하여 비용, 속도, 용량, 접근시간 등을 상호 보완

 

빈칸은 캐시가 들어가면 됩니다.

 

cpu가 직접 엑세스 할 수있는 것은 내부 기억장치라 하고

제어기를 거쳐서 엑세스 하는 것은 외부 기억장치 입니다.

 

 

레지스터

- 프로세서 내부에 있으며, 프로세서가 사용할 데이터를 보관하는 가장 빠른 메모리

 

 

컴퓨터 하드웨어의 구성 - 메모리

메인 메모리로 Sram을 사용하냐? DRAM을 사용하냐? 뭐가 맞을까요?

 

DRAM을 많이 사용합니다.

 

SRAM은 DRAM보다 저장 밀도가 떨어집니다.

 

무언가를 실행할 떄 메인 메모리에 올라가 있습니다.

 

주소가 n비트라면 주소 범위는 0 ~ 2^n -1 입니다.

 

내용이 k비트라면 2^k 가지의 값을 저장 가능

 

프로세서는 주소를 주고, 데이터를 받아옵니다.

 

 

 

메모리 바인딩

논리적 주소를 물리적 주소로 변환하는 과정

 

메모리 속도는

 

메모리 사이클 시간과 메모리 접근시간 으로 표현합니다.

 

메모리 사이클 시간 : 연속적인 메모리 동작 사이에 필요한 최소 지연시간이다.

위의 그림을 보면 메모리 접근 시간이 메모리 사이클 시간보다 짧다.

, 메모리 사이클시간은 메모리 접근시간 + 준비시간이다

 

읽기 제어 신호라면 cpu까지 도착하는 시간 -> 다음 읽기 신호 까지의 시간이 다릅니다.

 

캐시

속도 차이를 보완합니다.

 

 

대역폭 - 데이터가 이동하는 통로 크기

시간당 몇 byte인지로 대역폭이 넓은지, 낮은지 구분할 수 있습니다.

 

빠른 기억장치가 대역폭이 큰거다

 

왜 메인메모리를 블록으로 나눌까? 캐시에 올라가고 내려올 때 블록단위로 하려고, 지역성이 있기 때문에 주변꺼도 퍼올리는 것 입니다.

 

프로세서가 원하는건 하나의 워드 입니다.

 

메인 메모리의 블록이 캐시의 들어갈 때 완전 연관사상이 있었습니다.

 

직접사상, 완전 연관사상, 세트연관 사상 3가지ㅏ 있습니다.

 

여기서 캐시 메모리의 한 줄(캐시라인)메모리의 블록입니다.

 

블록을 왜 만들까요? 1개의 블록을 엑세스 했다면 근처 블록을 엑세스 할 가능성이 높기 때문에 블록주변을 퍼서 캐시에 올립니다. 그래서 블록으로 만듭니다.

 

 

위 메인메모리 주소는 블록에 대한 것 일까요? 단어에 대한 것 일까요?

단어 단위입니다. cpu 가 어떤 단어를 달라는 것 입니다.

 

프로세서는 캐시 메모리에게 무엇을 원할까요? 하나의 워드 입니다.

그러면 cpu가 메인 메모리에 워드를 요청합니다.

그 워드를 캐시 메모리에 있는 태그와 비교합니다.

만약 일치하는게 있다 하면 캐시 라인에 있는 단어를 꺼냅니다.

 

그러면 한 라인에 어떤 단어를 꺼낼까요?

뒤에 2비트를 보고 판단합니다.

 

ex) 한 라인에 4개의 워드가 있다고 보면

00,01,10,11를 보고 판단 합니다.

 

 

캐시의 성능

캐시히트, 캐시 미스를 보고 기능을 판단 합니다.

 

 

1,2가 공간적 지역성 발생 원인입니다.

 

3,4가 시간적 지역성 발생 원인입니다.

 

 

보조기억장치

 

 

 

컴퓨터 하드웨어의 구성 - 시스템 버스

제어 신호의 예는 무엇이 있을까? 

  • 데이터 입출력 신호
  • 인터럽트 요구와 허가 신호
  • 클록(clock) 신호

 

 

컴퓨터 하드웨어의 구성 - 주변장치 

 

 

컴퓨터 시스템의 동작 원리

- 명령어의 구조

- 명령어의 실행

- 인터럽트

1. 처리를 하려면 먼저 처리 대상들이 입력이 되야 합니다. 어디에? 메모리에 저장이 되야 합니다.

 

2. 처리는 cpu가 합니다.(메모리에 들어있는 것만 처리합니다)

cpu는 전원 들어온 순간부터 계속해서 똑같은 일만 합니다.

명령어 실행만 합니다.

 

3. 생산적으로 출력을 합니다.

 

cpu는 죽을 때 까지 프로그램(명령어 집합) 을 수행합니다.

 

 

컴퓨터 시스템의 동작 원리 - 명령어의 구조

명령부 - 연산 부호

연산 코드가 n비트이면 최대 2^n개의 연산이 가능합니다.

 

 

주소부 - 피연산자

 

 

메인 메모리에 저장된 명령어 예시

메모리는 주소에 따라 나뉘게 됩니다.

 

메모리에 있는 명령어의 길이가 다 다릅니다.

연산 부호와 피연산자가 셋트로 되어 있습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90