Hardware5 [FPGA] Field Programmable Gate Array 개념 정리 FPGA(Field Programmable Gate Array) - Field Programmable(프로그래밍 가능) : 사용자가 필요에 따라 회로의 구성을 변경할 수 있음. - Gate Array : 논리 게이트가 배열된 형태로, 배열된 게이트는 특정한 논리 회로를 구성하기 위해 연결 될 수 있음. → FPGA란, 사용자가 원하는 digital logic을 프로그래밍을 통해 구현할 수 있는 칩이다. 이때, FPGA는 NAND/NOR과 같은 단순한 gate를 사용하지 않고, LUT(Look-Up Table)을 이용하여 combinational logic을 구성하고, LUT 끝에는 플립플롭이 있어 sequential logic을 구현할 수 있도록 되어 있다. LUT가 chip 안에 Array 형태로 많이.. 2024. 7. 26. simplescalar[3] - victim cache 구현[1] <sim-outorder 분석> 시뮬레이터 도구로 'sim-outorder'을 사용하고자 한다. 내 최종 목표는 victim cache를 구현하는 것이므로 sim-outorder.c에서 cache와 관련된 부분을 하나씩 살펴보고자 한다. 1. 캐시 옵션과 성능 변수 우선, 가장 처음에 cache와 관련된 변수들이 선언되어있다. data, instruction cache의 레벨별 opt와 lat는 구성 설정과 hit 지연 시간을 의미한다. 1-1) cache_opt opt부분을 자세히 살펴보고자 caache_dl1_opt부분을 모두 확인해보았다. 'opt_reg_string' 함수는 options.c에서 관리하는 함수로, 옵션을 처리하는데 사용되는 함수이다. 명령행에서 전달되는 옵션 값을 처리하고 변수에 할당하는 작업을 수행한다. 인자를.. 2023. 8. 25. simplescalar[2] - 디렉토리와 파일 분석 및 실습 SimpleScalar는 앞서 설명했듯, 컴퓨터 아키텍처 시뮬레이션 및 성능 모델링 도구로 프로세서와 메모리 계층을 모델링하고 다양한 프로그램을 시뮬레이션하여 성능을 분석할 수 있는 환경을 제공하는 프로젝트이다. SimpleScalar에 있는 다양한 디렉토리와 파일이 포함되어 있으며, 각각의 역할을 알아보고자 한다. 아래는 전체 디렉토리와 파일이다. [1] config : 시뮬레이션을 실행할 때 사용되는 매개변수들을 정의 - 디렉토리에 포함된 파일들 - > alpha.cfg : alpha 아키텍처 시뮬레이션 > arm.cfg : arm 아키텍처 시뮬레이션 > x86.cfg : x86 아키텍처 시뮬레이션 > default.cfg : 시뮬레이션 기본 설정 파일 - 특정 아키텍처에 대한 설정 파일이 없는 경우.. 2023. 8. 18. simplescalar[1] - simplescalar란? SimpleScalar는 CPU, cache 및 memory hirachy등 가상 컴퓨터 시스템을 모델링하는 일련의 도구입니다. SimpleScalar 도구를 사용하여 모델링 애플리케이션을 구축하거나 프로세서 및 시스템에서 실행되는 실제 프로그램을 시뮬레이션 할 수 있습니다. 이 도구 내에는 빠른 기능 시뮬레이터부터 논블로킹 캐시, 추측 실행 및 분기 예측을 지원하는 동적 스케줄 프로세서 모델까지 다양한 샘플 시뮬레이터가 포함되어 있으며 시각화 도구, 통계 분석 리소스, 디버그 및 검증 인프라가 모두 포함되어 있습니다. 또한, SImpleScalar는 Alpha와 PISA(Portable ISA) 명령어 집합 아키텍처를 시뮬레이션할 수 있습니다. Alpha 아키텍처는 고성능 RISC 기반 아키텍처이며, .. 2023. 8. 11. [컴퓨터구조] Cache - 기억장치 계층 (Memory Hierarchy) 1. 기억장치 계층 (Memory Hierarchy) 1.1) 기억장치 시스템의 특성기억장치의 주요 특성은 용량(capacity)과 액세스 속도(access speed)이다. 기억장치에서 용량을 나타내는 단위는 바이트(1byte=8bit) 혹은 단어(word)다. 일반적으로 단어의 길이는 8, 16, 32, 64 bit이다. 단어의 길이는 CPU가 실행할 명령어의 길이 혹은 내부 연산에서 한 번에 처리할 수 있는 데이터 비트 수와 동일하다. CPU가 한 번의 기억장치 엑세스에 의해 읽거나 쓸 수 있는 비트 수를 전송 단위(unit of transfer)라 한다. 이는 기억장치 모듈로 들어가고 나오는 데이터 선들의 수와 같다. 외부 기억 장치에서는 데이터가 단어보다 훨씬 더 큰 단위로 전송되기도 하는.. 2023. 7. 11. 이전 1 다음