2025/04/06 2

설계 목적에 따른 추상화

adder를 설계시 (ripple-carry adder) 위와 같이 짜야하는데 이걸 8비트 ripple-carry로 만들려면 8개를 이어붙이고 carry 연결하면 복잡해지고 길어짐  하지만 processor 설계를 예를 들면 1. 설계 목적에 따라 추상화 수준이 다름전체 데이터 경로(데이터패스)와 제어 흐름이 어떻게 연결되고 동작하는지를 보는 게 목적임 즉, “동작 흐름 설계”가 핵심이지, 개별 게이트까지 구현하는 게 핵심이 아님. 그래서 Adder는 내부 구조보다 “Adder가 있다”는 사실만 명확하게 표현하면 됨.  2. 합성 도구가 알아서 Gate-Level로 바꿔줌 assign sum = a + b; 위 코드는 컴파일러가 내부적으로 carry-lookahead adder, ripple-carry ..

개념 이것저것 2025.04.06

0~9까지 카운트하는 Dedicated Processor 설계하기

먼저 0~9까지 카운트하는  C언어 코드를 보겠습니다. 이 코드를 그대로 Data Path를 그리고 flow를 따라가보겠습니다.1. A = 0위는 전체적인 DataPath 그림입니다. Control Unit의 상태에 따라 DataPath의 Flow를 보겠습니다.a. 먼저 Control Unit에서 MuxSel = 0을 보내면 Data Path의 Mux에서 '0'을 내보냅니다.      b.그다음 Control Unit에서 En = 1을 보내면 register가 input의 '0'을 output으로 내보냅니다.(다음 CLK에)   c.reg의 output에서 나온  '0'은 비교기와 adder에 들어가게 됩니다. 비교기의 결과값은 Control Unit의 L10, Adder의 결과값은 Mux의 input으..

컴퓨터구조 2025.04.06