본문 바로가기

CS/컴퓨터구조

[컴퓨터구조] 기본 개념

 현재 게시물은 대학 강의 및 Computer Organization and Architecture 을 참고하여 작성되었습니다.


Architecture vs Organization

  • Computer Architecture
    • 프로그래머에게 보이는 시스템 속성으로, 프로그램의 논리적 동작에 대한 직접적인 영향력을 지닌다.
    • ex) instruction set, data type, I/O, word size 등 
  • Computer Organization
    • 아키텍처 명세를 구현하는 운영 단위 및 상호 연관성
    • ex ) 하드웨어 명세, 주변기기와 컴퓨터 사이의 인터페이스, 메모리 기술 등 ...

아키텍처와 구조의 예시

https://en.wikipedia.org/wiki/IBM_System/370

 

IBM System/370 - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Family of mainframe computers 1970-1990 The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970 as the successors to the System/360 family. Th

en.wikipedia.org

 IBM System/370 은 아키텍처라는 개념을 최초로 도입한 컴퓨터로, 동일 아키텍처를 사용하는 다양한 모델을 가진다.

 아키텍처는 시스템에 대한 일종의 명세로, 같은 아키텍처를 구현하는 모델은 동일한 instruction set 및 설정 구성을 사용함으로써 소프트웨어를 공유하여 사용할 수 있다는 장점이 존재한다. 따라서 동일 아키텍처를 사용하는 경우 소프트웨어에 대한 재투자 및 낭비 없이 하드웨어 및 모델만을 교체할 수 있게 된다.


Structure & Function 

Heirarchical System

  • 관계된 다양한 서브시스템의 집합.
  • 복잡한 시스템에 대해 계층적 특성을 기반으로 설명하는 경우, 디자인 및 설명이 편리해진다.
  • 개발자 및 디자이너는 자신이 담당하는 계층에 대해서만 고려할 수 있다.
  • -> structure 및 function 을 계층적으로 고려

Structrure & Function

  • Structure : 각각의 컴포넌트들이 서로 관계되어 있는 방식
  • Function : 각각의 컴포넌트들이 Structure 의 일부로서 수행하는 역할

Structure

참고

  1. Microprogramming
    • : 처음부터 거의 전체 명령어를 만들어두고 이를 사용하는 방식.
    • 보통 구조가 복잡.
    • CISC / Intel x86의 기반
  2. Hardwired logic
    • 게이트, 플립플롭과 같은 논리 회로를 기반으로 부울 대수를 이용하여 명령을 조합하는 방식.
    • 구조가 단순.
    • RISC / 스마트폰 칩셋

Multicore Structure

 하나의 CPU 내에 다수의 코어가 존재하는 구조

  • CPU 
    • instruction 을 메모리에서 읽어와 실행
    • ALU, control unit, register 등
  • Core
    • CPU 내에 탑재된 개별 프로세싱 유닛
    • 기능적으로 단일 CPU 시스템의 CPU와 유사
    • 다른 코어들과 상호작용하며 동작
  • Processor
    • 하나 이상의 코어를 가진 물리적인 조각 단위

Function 

  1. Data Processing
    : 데이터 처리 방식. 데이터는 다양한 형태 및 범위를 가지며, 각 데이터 처리에 대한 요구 사항은 다양할 수 있다.
  2. Data Storage
    : 데이터 처리 중 어느 순간은 잠시 저장할 필요가 있다 ( Short Term ). 
    오랜 기간 정보를 저장할 필요가 있다. ( Long Term ) .
  3. Data Movement
    : 주변 기기로부터의 I/O 작업 또는 멀리 떨어진 기기와의 Data Communication 이 필요하다.
  4. Control
    : 컴퓨터 안에서 리소스를 제공하거나 성능을 조율해야 한다.

Cache memory

  • 메인 메모리보다 훨씬 작고 빠른 메모리로, CPU가 사용할 데이터를 예측하여 저장해둔다.
  • 데이터 예측은 locality 을 이용한다.
  • 통상 hit ratio 는 95% 이상이므로 메모리에 직접 접근할 필요를 줄여 읽기 속도를 높인다.

Cache heirarchy

https://en.wikipedia.org/wiki/CPU_cache#/media/File:Cache,hierarchy-example.svg

L1 ~ L4 계층이 있으며 ( 경우에 따라 늘거나 감소 ), 통상적으로 L1 에서 L4 로 갈수록 성능이 감소하고 용량은 증가한다.

L1 및 L2 계층은 코어 내부에 존재하며, 상위 계층과는 달리 데이터(data)와 명령(Instruction) 을 구분하여 저장한다. 이 경우 캐시의 크기가 절반씩으로 고정되어 캐시 사용의 융통성은 감소하나, 데이터와 명령을 동시에 parallel 하게 읽을 수 있으므로 전반적인 효율 및 속도가 증가한다.