[컴퓨터구조] #6 단일 사이클 구현 1

2023. 4. 23. 15:08·전공/컴퓨터구조
목차
  1. 가정
  2. 버스(Bus)
  3. 버스(Bus)와 크로스바(Cross bar)
  4. 싱글포트 vs. 듀얼포트 메모리/레지스터
  5. 데이터패스(Datapath)
  6. 샘플 MIPS 프로세서 구조
  7. 마이크로프로그래밍
  8. 지연(delayed) 분기
  9. 분기명령어
  10. Load/Store Data path(R-type)
  11. Full Datapath
  12. 단일 사이클 구현의 문제
  13. 멀티 사이클 구현
728x90
반응형

가정

- rising edge 사용

- 한 사이클 내에서는 피드백이 일어나지 않음

- 데이터는 32비트 폭

- 레지스터는 듀얼포트(dual port) 설계 - add $r1, $r2, $r1

- 데이터패스는 검정색 / 컨트롤패스는 파란색

 

버스(Bus)

컴퓨터 안의 부품들 간에, 또는 컴퓨터 간에 데이터와 정보를 전송하는 통로

- ISA -> E-ISA -> PCI - PCI express(PCI-E) -> 1x -> ... -> 8x -> 16x

- Local Bus

  • AGP -> PCI-e 8x
  • Graphis / SSD(NVMe -> PCI-E 3/4/5)

 

버스(Bus)와 크로스바(Cross bar)

- 버스는 한 번에 두 개의 노드만 선택해서 통신가능

- 여러 노드가 같이 통신하려면 스케줄링 필요함(보통 TDMA방식)

- 크로스바는 여러 노드가 동시에 통신가능하지만 복잡함

크로스바

 

싱글포트 vs. 듀얼포트 메모리/레지스터

싱글포트

- 한 번에 read 또는 write를 선택

 

듀얼포트

- 동시에 write와 read가 가능하게 설계

- 메모리핀이 두 개가 존재

- 비디오램(VRAM/GDDR)에 많음

 

데이터패스(Datapath)

구성요소(MIPS)

  • 명령어 메모리
  • 데이터 메모리
  • 레지스터 파일 - 레지스터들의 집합으로 구성된 상태소자
  • ALU 
    • 제어신호 4비트(16가지)
    • 32비트 입력 2개, 32비트 출력 1개와 zero여부(1비트)

 

  •  Adder
  • PC(프로그램 카운터) - +4(32비트 워드)씩 증가
  • R형식 명령어 - 레지스터 피연산자(Operand) 3개
  • 레지스터 - 제어신호 read/write
  • 부호확장 유닛
  • 데이터 메모리 유닛

 

샘플 MIPS 프로세서 구조

명령어 Fetch
레지스터 파일
ALU
데이터 메모리 유닛
부호확장기(Sign Extension Unit)

 

마이크로프로그래밍

- 어셈블리 명령어를 실행하기 위해 제어신호를 어떻게 줄 것인가

  • 데이터패스도 여러개 가능
  • 제어신호도 다 다름

 

- x86-64(amd64) 어셈블리는 동일

  • AMD/인텔의 마이크로 프로그램은 틀림

 

지연(delayed) 분기

조건의 참/거짓과 관계없이 다음 명령어를 항상 실행

  • 조건이 거짓이면 그대로 분기하지 않고 다음 명령어를 실행
  • 조건이 참이면 지연분기명령어 다음 명령어 실행 후 분기주소로 점프

 

파이프라이닝을 위해

 

분기명령어

Load/Store Data path(R-type)

Full Datapath

 

단일 사이클 구현의 문제

모든 평령어에서 클럭사이클이 같은 길이를 가져야 함

- 전체적인 성능 감소

- 크리티컬 패스는 적제(Load) 명령어 - 명령어메모리, 레지스터 파일, ALU, 데이터메모리, 레지스터 파일 사용

- 클럭사이클은 적재 명령어에 맞춰야 함

 

멀티 사이클 구현

- 각 단계를 한 사이클씩 사용

- 명령어마다 필요한 클럭 수가 달라질 수 있음

- 한 명령어 실행 네에서 기능 유닛을 공유 가능

- 하드웨어 비용감소

 

728x90
반응형

'전공 > 컴퓨터구조' 카테고리의 다른 글

[컴퓨터구조] #8 파이프라이닝  (0) 2023.04.23
[컴퓨터구조] #7 단일 사이클 구현 2  (0) 2023.04.23
[컴퓨터구조] #5 프로세서  (0) 2023.04.15
[컴퓨터구조] #4 컴퓨터 연산  (0) 2023.04.15
[컴퓨터구조] #3 명령어 종류, 기능과 형식  (0) 2023.04.15
  1. 가정
  2. 버스(Bus)
  3. 버스(Bus)와 크로스바(Cross bar)
  4. 싱글포트 vs. 듀얼포트 메모리/레지스터
  5. 데이터패스(Datapath)
  6. 샘플 MIPS 프로세서 구조
  7. 마이크로프로그래밍
  8. 지연(delayed) 분기
  9. 분기명령어
  10. Load/Store Data path(R-type)
  11. Full Datapath
  12. 단일 사이클 구현의 문제
  13. 멀티 사이클 구현
'전공/컴퓨터구조' 카테고리의 다른 글
  • [컴퓨터구조] #8 파이프라이닝
  • [컴퓨터구조] #7 단일 사이클 구현 2
  • [컴퓨터구조] #5 프로세서
  • [컴퓨터구조] #4 컴퓨터 연산
dev_ares
dev_ares
대학에서 컴퓨터공학을 전공하고 있는 학생입니다.
    반응형
    250x250
  • dev_ares
    노트
    dev_ares
  • 전체
    오늘
    어제
    • 분류 전체보기 (187)
      • IT 트랜드 (2)
      • 백엔드 (18)
        • Java + Spring (8)
        • Kotlin + Spring (5)
        • 백엔드 (5)
      • 프론트엔드 (1)
        • React (1)
      • 대외활동 (17)
        • 42서울 (17)
      • 백준 (6)
        • Java (2)
        • C++ (3)
      • 전공 (121)
        • 객체지향프로그래밍 (17)
        • 자료구조 (23)
        • 리눅스시스템관리 (16)
        • 컴퓨터구조 (25)
        • 네트워크 (25)
        • 데이터베이스 (15)
        • 기타 전공 (0)
      • 프로그래밍 언어 (18)
        • Java (5)
        • Swift (4)
        • C++ (1)
        • Kotlin (8)
      • 기타 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    컴공 포트폴리오
    사설 문제
    추가 문제
    티스토리챌린지
    C++
    명령어
    반복자
    상속
    오블완
    자바
    자료구조
    단일 사이클
    컴퓨터구조
    리눅스
    데이터패스
    메모리 계층 구조
    백준
    42서울
    코틀린
    컴퓨터 구조 및 설계
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dev_ares
[컴퓨터구조] #6 단일 사이클 구현 1
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.