[컴퓨터개론] 3강. 컴퓨터의 구조

컴퓨터 개론 (3강 - 2020.03.21)

컴퓨터의 구조


컴퓨터 시스템의 기본 구조


컴퓨터의 내부 구조 : 중앙처리장치를 중심으로한 자료 신호와 명령 신호를 나타냄



Stored Program : 폰노이만에 의해 고안되었으며, 메모리에 자료와 프로그램이 함께 저장된다.


중앙처리장치(CPU)

CPU <=> RAM Memory Address <- HDD(SSD) (OS에 의해 관리)

메모리에서 연산장치로 이동되는 순서

메모리 (명령어) -> Fetch 입출력 버스 (I/O Bus) -> 버스 인터페이스 -> 컨트롤 유닛 -> ALU (연산장치)

명령어 (Instructioin)

연산 부분 (Operation part)


피연산 부분 (Operand part)


명령어가 16비트로 구성될 때

15~12 Opcode (ADD)
11~0 Address (피연산자 1의 주소)


명령어 종류

명령어 구문형식 기능
ADD ADD A 피연산자의 자료 A와 레지스터의 자료를 더하는 명령어
LDA LDA B 피연산자의 자료 B를 레지스터에 가져오는 명령어
STA STA C 레지스터의 내용을 피연산자 C에 저장하는 명령어
HLT HLT 컴퓨터를 종료하는 명령어


기억장치

주기억장치


주소


버스

[ 주소 (address) ]  [ 실제 메모리 ]
    00000000       [          ]
    00000004       [          ] <- 주소버스, 자료버스, 제어버스 -> 중앙처리장치나 다른 주변장치
    00000008       [          ]
...


메모리의 종류


RAM


DRAM : 동적 RAM


SRAM : 정적 RAM


ROM


Flash 메모리


캐시 메모리


캐시의 종류

[CPU (레지스터)] <- [Level-1] 캐시 - [Level-2] 캐시 -> 주기억장치 <- 디스크 캐시 -> 디스크 저장 장치


메인 메모리 : 모든 캐시에 원하는 내용이 없을 때 접근 L1 캐시 : CPU Core와 소통하며, 가장 작고 빠르다. L2 캐시 : 상위 레벨 캐시의 내용을 모두 담고 있음 (중간 용량, 중간속 도) L3 캐시 : L2 캐시에서 쫓겨난 내용들을 담고 있음 (가장 큰 용량, 가장 느린 속도)


SSD라는 요즘에는 HDD와 메모리가 결함된 형태로 속도가 개선되어 나온 장치들도 있다. (메모리는 아님)


중앙처리장치


CPU 코어


멀티 코어 프로세스


연산장치 (Arithmetic and Logic Unit)


레지스터의 이용


제어장치


레지스터


레지스터 심볼 레지스터 이름 기능
DR 자료 레지스터 (Data Register) 연산에 필요한 피연산자를 저장하는 레지스터
AR 주소 레지스터 (Address Register) 현재 접근할 기억장소의 주소를 기억하는 레지스터
AC 누산 레지스터 (Accumulator Register) 연산장치의 입출력 데이터를 임시적으로 기억하는 레지스터
IR 명령어 레지스터 (Instruction Register) 현재 수행중인 명령어를 저장하고 있는 레지스터
PC 프로그램 카운터 (Program Counter) 다음에 실행할 명령어의 메모리 주소가 저장된 레지스터
TR 임시 레지스터 (Temporary Counter) 임시로 자료를 저장하는 레지스터로 범용레지스터라고도 부름

PC, 프로그램 카운터는 꼭 기억하기


기계주기

추출 -> 해독 -> 실행

추출 : 메모리에서 실행할 명령어를 추출
해독 : 명령 레지스터의 내용 해독
실행 : 명령 레지스터의 연산 실행


명령어 사이클

  1. 인출 사이클 (fetch cycle) : 주기억장치(RAM)으로부터 데이터 불러옴
  2. 실행 사이클 (execution cycle) : 읽어온 데이터 실행
  3. 간접 사이클 (indirect cycle) : 외부의 데이터를 불러오거나 하는 작업을 수행 (필요시)
  4. 간접 사이클 (interrupt cycle) : 잠시 하던일을 멈추고 다시 돌아갔다 옴


명령어 실행


[         제어장치       ]    [     산술논리연산 장치    ]

인출(주기억장치: RAM) -> 해독 -> 처리 -> 저장(주기억장치: RAM)

명령어 인출 (Instruction fetch)
명령어 해독 (Instruction decode)
데이터 인출 (Data fetch)
데이터 처리 (Data processing)
데이터 저장 (Data store)


마이크로프로세서


무어의 법칙


메트칼프의 법칙


명령어에 따른 프로세서 분류


CISC


RISC


CISC 구분 RISC
많고 복잡한 명령어 구조 명령어 구조 적고 단순한 명령어 구조
100~250개로 명령어 수가 많음 명령어 세트의 크기 레지스터 기반의 명령어들로서 명령어 수가 적음
가변 형식: 명령어당 16~64 비트 명령어 형식 고정 형식: 32비트
복잡함: 12~24개 주소 지정 모드 간단함: 3~5개
적은 레지스터: 8~24개 정도
느린 처리 속도
높은 호환성
레지스터 많은 레지스터: 32~192개
빠른 처리 속도
낮은 호환성
제어 메모리(ROM) 사용 CPU 제어 방식 하드 와이어드(Hard-wirds) 방식 사용


명령어 파이프라이닝


병렬 처리 시스템


마이클플린의 분류법

단일 명령어 흐름, 단일 데이터 흐름


단일 명령어 흐름, 다중 데이터 흐름


다중 명령어 흐름, 단일 데이터 흐름


다중 명령어 흐름, 다중 명령어 흐름