728x90
반응형

분류 전체보기 226

[Computer Architecture] Enhancing Performance with Pipelining

Pipelining 복잡한 프로세스를 여러 단계로 나누어 각 단계가 병렬적으로 동작할 수 있도록 함으로써, 전체적인 처리 속도를 향상시키는 방법입니다. 파이프라인 기술은 일련의 데이터 처리 단계를 마치 공장의 조립 라인처럼 연속적으로 배치하여, 한 번에 하나의 명령어만 처리하는 대신 여러 명령어가 동시에 각기 다른 처리 단계를 수행할 수 있도록 합니다. 크게 5가지 동작으로 Fetch, Decode, Execute, Memory Access, Write Back 나눌 수 있고, 하나의 명령어가 Write Back 단계까지 끝나고 다음 명령어를 시작하는 것이 아니라 각 단계마다 일을 배치하는 방식으로 한 명령어가 Fetch가 끝나고 Decode 단계로 들어가면 Fetch 단계에는 그 다음 명령어를 실행합니..

[MySQL] 프로그래머스 276013. Python 개발자 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/276013 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPER_INFOS WHERE SKILL_1 = "Python" OR SKILL_2 = "Python" OR SKILL_3 = "Python" ORDER BY ID; SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPER_INFOS WHERE "Pytho..

[MySQL] 프로그래머스 131123. 즐겨찾기가 가장 많은 식당 정보 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 SELECT FOOD_TYPE, REST_ID, REST_NAME, FAVORITES FROM REST_INFO r1 WHERE FAVORITES = ( SELECT MAX(FAVORITES) FROM REST_INFO r2 WHERE r2.FOOD_TYPE = r1.FOOD_TYPE ) ORDER BY FOOD_TYPE DESC; WITH RankedRestaurants AS ( S..

[MySQL] 프로그래머스 276035. FrontEnd 개발자 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/276035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 WITH FRONTEND_SKILLS AS( SELECT CODE FROM SKILLCODES WHERE CATEGORY = "Front End" ) SELECT DISTINCT ID, EMAIL, FIRST_NAME, LAST_NAME FROM DEVELOPERS JOIN FRONTEND_SKILLS ON SKILL_CODE & CODE ORDER BY ID; # 여러 개의 skil..

[MySQL] 프로그래머스 131534. 상품을 구매한 회원 비율 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131534 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 SELECT YEAR(SALES_DATE) AS YEAR, MONTH(SALES_DATE) AS MONTH, COUNT(DISTINCT USER_ID) AS PUCHASED_USERS, ROUND(COUNT(DISTINCT USER_ID)/(SELECT COUNT(USER_ID) FROM USER_INFO WHERE YEAR(JOINED) = 2021), 1) AS PUCHASED_R..

[MySQL] 프로그래머스 131533. 상품 별 오프라인 매출 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 SELECT PRODUCT_CODE,SUM(PRICE * SALES_AMOUNT) AS SALES FROM PRODUCT JOIN OFFLINE_SALE USING (PRODUCT_ID) GROUP BY PRODUCT_CODE ORDER BY SALES DESC, PRODUCT_CODE; 문제가 상품코드 별이 아니라 카데고리 코드(상품 코드의 맨 앞 두 글자) 별 합을 구하는 것이었다..

[MySQL] 프로그래머스 59045. 보호소에서 중성화한 동물

https://school.programmers.co.kr/learn/courses/30/lessons/59045 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 SELECT ANIMAL_INS.ANIMAL_ID, ANIMAL_INS.ANIMAL_TYPE, ANIMAL_INS.NAME FROM ANIMAL_INS JOIN ANIMAL_OUTS USING(ANIMAL_ID) WHERE ANIMAL_INS.SEX_UPON_INTAKE NOT IN ("Spayed Female", "Neutered Male") AND ANIMAL_OUTS.SEX_UPO..

[MySQL] 프로그래머스 59044. 오랜 기간 보호한 동물(1)

https://school.programmers.co.kr/learn/courses/30/lessons/59044 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 코드 SELECT ANIMAL_INS.NAME, ANIMAL_INS.DATETIME FROM ANIMAL_INS LEFT JOIN ANIMAL_OUTS USING(ANIMAL_ID) WHERE ANIMAL_OUTS.DATETIME IS NULL ORDER BY ANIMAL_INS.DATETIME LIMIT 3; 입양을 못 간 동물들은 ANIMAL_OUTS에서 입양일을 나타내는 DATETIME..

[Computer Architecture] Datapath

Datapath 컴퓨터 아키텍처에서 처리 장치 내부에서 데이터가 이동하는 경로 프로세서 내부의 구성요소들 사이에서 데이터가 이동하는 방식과 처리되는 방식을 포함 레지스터, 산술 논리 장치(ALU), 제어 장치 등으로 구성 Sequential Elements 데이터를 보관하는 용도로 사용 Register 저장될 값을 업데이트하는 시점을 결정하기 위해 clock signal을 이용 Edge-triggered: Clk(clock 신호)이 0에서 1로 바뀌는 순간 내부의 값이 update 입력값이 바뀔 때가 아니라, Clock 신호가 0에서 1로 바뀌는 시점의 입력값이 output에 반영됩니다. 즉, Clock edge에서 입력값이 무엇인가에 따라서 sequential element 값이 변경되고, 그에 따라 ..

[Computer Architecture] Clocking Methodology

Clocking Methodology Clock 신호의 정확한 타이밍에 의존하여 데이터를 변환하는 과정 Clock signal의 변화는 'Rising Edge'와 'Falling Edge'라고 불리우는 두 지점을 통해 이루어집니다. Rising Edge: 신호가 낮은 수준에서 높은 수준으로 변할 때 Falling Edge: 신호가 높은 수준에서 낮은 수준으로 변할 때 Rising Edge와 Falling Edge에서만 값을 읽고 쓰는 동작이 발생할 수 있습니다. Combinational logic은 clock cycles 동안에 데이터를 변환합니다. 즉, 어떤 Input이 주어지면 그것을 기반으로 여러 logic gate가 동작되어 output 값이 결정되는데 이것이 clock cycles 동안 이루어지..

728x90
반응형