전공/시스템 프로그래밍

[시스템 프로그래밍 2-2] 기본 마이크로 컴퓨터 디자인 (X86프로세서 각 장치별 동작 및 특징)(Cpu, RAM, Bus, Clock)

뜨거운 개발자 2023. 3. 19. 22:21

1. CPU

마이크로 컴퓨터 디자인

CPU 내부 구조

  • 레지스터(엄청 빠르고 작음) : 레지스터로 가져와서 일을 처리한다.
    • 캐시(caeche)도 cpu안에 있고 속도는 빠른편이지만 레지스터보단 느림
  • 고주파 Clock : CPU 내부 작업을 다른 시스템 구성요소와 동기화를 할 때 사용한다.
  • CU(컨트롤 유닛)-제어장치 : 읽어드리는 기계어를 컨트롤하는데 사용. 어떤 명령어를 가져올지..
  • ALU(산술 논리 장치) : 산술연산 및 논리 연산을 수행한다.

CPU는 컴퓨터의 마더보드의 CPU소켓에 부착된 핀을 통해 컴퓨터의 나머지 부분에 연결됩니다.

대부분의 핀은 데이터 버스, 제어버스 및 주소버스에 연결된다.

2. 메모리 저장 장치 (RAM)

  • 컴퓨터 프로그램이 실행되는 동안 명령과 데이터를 다 메모리 안에 적재해서 실행한다.
  • 메모리에 실행할 명령어가 쭉 놓여있으면 그걸 레지스터로 가져와서 명령을 수행하는 식이다.
  • CPU로부터 데이터 요청발생 → RAM(랜덤 액세스 메모리)에서 CPU로 데이터를 전송→ 연산 후 CPU에서 메모리로 데이터를 전송.
  • 모든 데이터 처리는 CPU 내에서 이루어지므로 메모리에 있는 프로그램은 실행하기 전에 CPU로 복사해야 합니다. (폰노이만 구조의 특징)
  • 개별 프로그램 명령어를 한 번에 하나씩 CPU에 복사하거나 명령어 그룹을 함께 복사할 수 있습니다.

3. 버스(Bus)

컴퓨터의 한 부분에서 다른 부분으로 데이터를 전송하는 병렬 전선 그룹입니다.

기기들간의 연결을 하고 통로역활을 해준다.

버스의 4가지 종류

  • Data bus : CPU와 메모리 간에 명령어와 데이터를 전송한다.
  • I/O bus : 시스템과 입/출력 디바이스와 신호를 주고 받을 때 (데이터 전송할 때)
  • Control bus : 바이너리 신호를 사용 해 동기화를 담당하는 버스 - 디바이스간의 컨트롤 담당
  •  Address bus : 현재 실행 중인 명령어가 CPU와 메모리 간에 데이터를 전송 할 때 명령어와 데이터의 주소를 보유한다.
    • 폰노이만 구조에서 램에는 명령어(코드)와 데이터가 들어있기 때문에 이 버스에서 주소는 명령어를 가리킬수도 데이터를 가리킬수도 있다.

4. 클락(Clock)

  • CPU내부의 시계이다.
  • CPU 및 시스템 버스와 관련된 각 작업은 일정한 속도로 펄싱되는 내부 클럭에 의해 동기화됩니다
  • 40억분에 1초에 째깍 하기 때문에 그것에 맞춰서 진행한다. 그 째깍 하는 한번을 틱이라고 부른다.
  • 컴퓨터가 하는 가장 작은 하는 일은 한 사이클 안에 실행이 되는 것이다. (한사이클이란 째깍 한번일라는 뜻)
  • 즉 머신 명령어를 실행하려면 최소 한번의 클록 사이클이 필요하다.

용어

  • 머신 사이클 (Machine cycle (or clock cycle)) : 머신 명령(machine instructions)의 기본 시간 단위
  • 주기 길이 (The length of a cycle) : 한번의 완전한 클럭 펄스에 필요한 시간
  • 클럭 주시 시간 (The duration of a clock cycle) : 시계속도의 역수로 계산된다. 
    • 예시 : 초당 10억번 진동하는 시계 (1GHz) : 10억 분에 1초 (1나노초)

명령어 중 가장 짧은명령어

wait states 라는 명령어로 딱 한클락 쉬라는 뜻이다.

이 명령어는 연산동기화 등의 이유로 사용한다.

또한 메모리 엑세스가 필요한 명령어 같은 경우 CPU, 시스템 버스 및 메모리 회로의 속도차이로 인해 빈 클록 사이클이 있는 경우가 많다.

728x90
반응형