본문 바로가기
Computer Science

컴퓨터 구조와 레지스터

by 개발자 데이빗 2022. 1. 21.

컴퓨터의 구성 요소

하드웨어 

  • 중앙처리장치
    • CPU(Central Processing Unit): 실행 프로그램의 명령 해석, 실행, 장치제어, 각종 레지스터로 구성된다.
    • MPU(Micro Processor Unit): CPU를 LSI(고밀도 집적회로)화 한 일종의 통합 장치
    • 사물 인터넷 디바이스 H/W 플랫폼 (ex - 아두이노: 대표적인 오픈소스 H/W 플랫폼, Respberry Pi 등등)
  • 주변장치
    • 기억장치(Memory unit)
      • RAM(Random Access Memory)
        • DRAM(주기억장치)
        • SRAM (2차 캐시기억장치)
      • ROM(Read Only Memory)
    • 보조기억장치 
      • FlashMemory
      • 하드 디스크
    • 입력장치

 

소프트웨어

  • 시스템소프트웨어
  • 응용 소프트웨어

 

주 기억장치와 보조기억장치의 관계

  1. 전원 부팅 시 CPU는 자동으로 ROM에 있는 프로그램 실행
  2. 보조기억장치는 데이터를 RAM에 적재
  3. CPU는 RAM으로부터 실행할 명령어와 데이터를 가지고 와서 처리
  4. RAM은 다시 보조기억장치로 저장

디스크 접근 시간

탐색 시간 + 회전 지연 + 데이터 전송시간

  • 탐색시간: 헤드를 해당 트랙으로 이동하는 시간
  • 회전 지연: 데이터가 포함된 섹터가 회전되어 헤드 아래로 올때까지 대기하는 시간
  • 데이터 전송시간: 데이터 전송에 걸리는 시간

 

데이터의 표현

정보

  • 어떤 사물에 대한 소식이나 자료
  • 가공된 데이터

 

데이터

  • 정보를 작성하기 위해 필요한 자료나 정보를 처리하거나 전송할 때 이진이나 디지털과 같은 좀 더 편리한 형태로 바뀌어진 자료
  • 정보의 원재료

 

데이터의 표현 

  • 수치 데이터: 연산용 데이터
  • 비 수치 데이터: 입출력용 데이터
  • 특수문자: 입출력/연산용 데이터

 

데이터의 단위

  • Bit: 0, 1
  • Byte: 8bit
  • Word: 기계에 따라 상이함, 1Word = 32bit or 64bit
  • KB, KiloByte: 1024byte =  2¹⁰ byte
  • MB, MegaByte: 1024Kbyte = 2²⁰ byte
  • GB, GigaByte: 1024Mbyte = 2³⁰ byte
  • TB, TeraByte: 1024Gbyte = 2⁴⁰ byte

디지털 정보의 단위

  • 1nibble = 4bit
  • 1byte = 8bit
  • 1byte = 1문자 (character)
  • 영어는 1byte로 1 문자 표현, 한글은 2byte가 필요
  • 1워드: 특정 cpu에서 취급하는 명령어나 데이터의 길이에 해당하는 비트 수
  • 워드 길이는 8, 16, 32, 64 등 8의 배수가 가능

 

양자컴퓨터의 개념

양자 컴퓨터는 중첩, 얽힘 등 양자의 고유한 물리학적 특성을 이용하여, 다수의 정보를 동시 처리할 수 있는 새로운 개념의 컴퓨터

정보처리 및 연산속도가 지수함수적으로 증가하여 빠른 속도로 문제해결이 가능

 

CPU 구성요소와 레지스터

CPU

컴퓨터에서 데이터 처리동작을 수행하는 부분을 중앙 처리장치라고 하며 줄여서 CPU(Central Processing Unit) 라고 한다.

CPU는 레지스터세트, 산술논리장치(ALU, Arithmetic and Logic Unit), 제어장치(CU, Control Unit)로 구성된다.

 

  • MAR (Memory Address Register)
    • 데이터의 주소를 기억하는 레지스터
  • MBR (Memory Buffer Register)
    • 데이터를 임시로 기억하는 레지스터로 데이터를 처리하기 위해 반드시 거쳐간다.
  • PC (Program Counter)
    • 다음에 수행될 명령어가 들어있는 주기억장치의 주소를 기억하고 있는 레지스터
  • IR (Instruction Register)
    • PC가 지정하는 주소에 기억되어 있는 명령어를 해독하기 위해 임시 기억하는 레지스터
  • ID(Instruction Decoder)
    • IR에 들어있는 명령코드의 해석을 담당하는 논리회로
  • 제어장치
    • ID로부터 보내져온 신호에 따라 명령어를 실행
  • GR(General Purpose Register)범용 레지스터
    • 작업 레지스터에서 데이터가 용이하게 처리되도록 임시로 자료를 저장하는 경우에 사용
  • WR(Working Register)
    • 산술논리연산을 실행할 수 있도록 자료를 저장하고 그 결과를 저장
  • SR(Status Register)상태 레지스터
    • CPU 상태를 나타내는 레지스터
    • 연산결과 상태, 영(zero), 부호(sign), 오버플로우(ovcerflow), 캐리(carry), 인터럽트(interrupt)

 

CPU 내의 다양한 디바이스들간 상호 연결방법

  • 직접 연결
    • 연결 복잡도가 장치수의 제곱에 비례
  • 버스 연결
    • 공용선에 의한 연결
    • 가장 가성비 높은 연결 방식
    • 관리를 위한 다양한 방법이 제시된다.

 

명령어 구성과 실행

명령어 실행순서

  1. 다음 실행할 명령어의 주소를 MAR로 이동
  2. MAR이 지정하는 주소의 내용을 MSR로 이동
  3. MBR의 내용을 명령어 레지스터 IR로 이동
  4. 명령어 레지스터의 주소 부분을 MAR로 이동
  5. 명령어에 해당하는 내용을 MBR로 이동
  6. IR에서 지정하는 GR의 내용을 WR로 이동
  7. 명령어 작업 - data(WR) + data(MBR)
  8. WR의 결과를 GR로 이동
  9. 다음 명령어 수행을 위해 PC값 증가

 

레지스터 전송 언어

레지스터에 저장된 데이터의 조작을 위해 실행되는 동작을 마이크로 연산이라 한다.

이는 하나의 클럭 펄스 내에서 실행되는 기본적인 동작이다 (shift, count, clear, road ...)

 

클럭펄스

동일한 시스템 내에서 동작하는 각 구성 요소의 모든 동작을 동기화(Synchronize)하기 위해 사용하는 전자적인 펄스

 

컴퓨터 구조를 정의하기 위해 논의 되어야 할 내용

  • 레지스터 종류와 기능
  • 레지스터에 저장된 이진 정보를 가지고 수행되는 일련의 마이크로 연산들
  • 일련의 마이크로 동작을 온/오프 시킬 수 있는 제어기능

'Computer Science' 카테고리의 다른 글

OSI 7 Layer 와 TCP/IP  (0) 2022.02.16
네트워크 정의와 구조  (0) 2022.02.15
Pthread  (0) 2022.01.19
쉘 스크립트  (0) 2022.01.14
시스템 프로그래밍 - 프로세스 관리  (0) 2022.01.10

댓글