728x90
반응형

데이터패스 5

[컴퓨터구조] #9~11 추가 사설 문제

문제 해저드(Hazzard)의 정의와 유형에 대해 설명하세요. 데이터 해저드의 발생 원인과 해결 방법에 대해 설명하세요. 버퍼의 정의와 사용 이유에 대해 설명하세요. CPU 성능 향상을 위한 슈퍼스칼라와 하이퍼스레드에 대해 설명하세요. 파이프라인 분기의 정의와 분기 비용을 줄이기 위한 방법에 대해 설명하세요. 예외의 정의와 파이프라인에서의 예외 처리 방식에 대해 설명하세요. 명령어를 통한 병렬성과 병렬성을 높이기 위한 방법에 대해 설명하세요. 메모리 계층 구조와 지역성의 원리에 대해 설명하세요. 캐시와 버퍼의 차이점에 대해 설명하세요. 플래시 메모리의 종류와 Wear Leveling에 대해 설명하세요. 정답 해저드(Hazzard)는 명령어가 파이프라인에서 정상적으로 실행되지 않는 상황을 의미합니다. 이로..

[컴퓨터구조] #10 데이터패스(파이프라인)

버퍼 큐(원형 큐) - 버퍼로 사용 스택 - 함수호출(인자 전달, 리턴)에 사용 버퍼 사용 이유 입출력 속도에 차이가 있을 때 사용 서버가 터지지 않도록 조절 - 시스템 안정성 증가 동기식 시스템의 단점 보안 - 모든 구성 요소가 동일한 클럭 속도로 작동해야 함, 버퍼를 사용해 보완 CPU 성능 향상 슈퍼스칼라 한 번에 여러 개의 명령어를 동시에 실행시킬 방법 - 파이프마다 실행하는 명령어 간의 연관관계없어야 함(병렬성) 슈퍼스칼라 사용 이유: 프로그램이 시작할 때 파이프라인을 채우기까지 시간이 걸림 하이퍼스레드 물리적으로 하나의 실행 장치를 가지고 있는 CPU에 가상 실행 장치를 두 개 할당 파이프라인 분기 비교문/반복문에서 조건 분기 발생 - 조건에 따라 파이프라인 지연 발생 분기 비용 줄이기 분기 ..

[컴퓨터구조] #7 단일 사이클 구현 2

R-type/Load/Store Datapath 단일 사이클 데이터패스 별도의 명령어 메모리, 데이터메모리를 가짐 - 별도의 형식(명령어, 데이터)을 가짐 - 메모리를 별도로 가지면 저렴함(듀얼포트 메모리에 비해) - 한 사이클에 명령어메모리와 데이터메모리 동시 접근가능 단순구현 - lw(load word) - sw(store word) - deq(branch if equal) - add, sub, or, set on less then ALU 동작(연산) - Load/Store는 add(메모리주소 계산) - Branch는 substract(같은지 비교를 위해) - R-type은 funct 필드(하위 6비트)의 값에 따라 동작 - funct 필드 + ALUOp(op코드의 2비트) -> ALU 제어입력 00..

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

가정 - 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) - 버스는 한 번에 두 개의 노드만 선택해서 통신가능 - 여러 노드가 같이 통신하려면 스케줄링 필요함(보..

[컴퓨터구조] #5 프로세서

샘플 MIPS 프로세서 구조 메모리 참조 명령어: lw(load doubleword), sw(store doubleword) 산술/논리 명령어: add, sub, AND, OR, slt 조건부 분기 명령어: beq(branch equal), j(jump) PC(Program Counter) - 메모리상의 현재 프로그램 실행위치(명령어 위치) Mux(Multiplex: 다중화기) - Data selector - 여러 개개 -> 하나 Demux(De-multiplex:역다중화기) - 하나 -> 여러 개 명령어 구현 PC를 프로그램이 저장되어 있는 메모리에 보내서 메모리로부터 명령어를 가져옴 읽을 레지스터를 선택하는 명령어 필드를 사용하여 레지스터를 읽음 MIPS 부분집합의 기본적 구현 프로세서 내의 데이터 ..

728x90
반응형