top 25 computer architecture interview questions
다가오는 인터뷰를 준비하는 데 도움이되는 가장 자주 묻는 컴퓨터 아키텍처 인터뷰 질문 및 답변 목록 :
컴퓨터 아키텍처 인터뷰를 준비하는 지망자입니까? 이 분야에서 빛을 발하고 전문가가되고 싶습니까? 컴퓨터 아키텍처 기술을 습득 할 계획입니까? 지금 바로 이곳에 있으므로 걱정하지 마십시오!
컴퓨터 아키텍처는이 디지털 시대에서 매우 중요해졌습니다. 컴퓨터 시스템의 구현, 기능 및 구성은 다양한 규칙과 방법으로 자세히 설명됩니다.
컴퓨터 아키텍처의 핵심 구현을 통해 이루어지기 때문에 학생들이 컴퓨터 공학에서 이해해야하는 주요 과목 중 하나로 간주됩니다.
모든 아키텍처의 고유 한 정의는 컴퓨터의 기능과 관련 프로그래밍 모델을 정의합니다. 그러나 구현을 정의하지는 않습니다.
컴퓨터 아키텍처 직업을 찾고 있다면 컴퓨터 아키텍처 인터뷰 질문에 능숙해야합니다. 인터뷰 질문은 직업 프로필에 따라 다릅니다. 다음은 인터뷰를 준비하는 데 도움이되는 몇 가지 질문입니다.
학습 내용 :
최고의 컴퓨터 아키텍처 인터뷰 질문 목록
기본 면접 질문
Q # 1) 컴퓨터 아키텍처라는 용어로 무엇을 이해하고 있습니까?
(영상 출처 )
대답: 컴퓨터 아키텍처는 하드웨어 및 소프트웨어와 관련된 일련의 표준이 서로 상호 작용하여 컴퓨터 시스템 또는 플랫폼을 만드는 방법에 대한 세부 사양입니다.
간단히 말해서 컴퓨터 시스템의 설계와 기술과의 호환성을 의미합니다. 사용자, 기술 및 시스템에 필요한 사항을 결정한 다음 위의 요구 사항을 기반으로 논리적 표준과 디자인을 만드는 기술과 같습니다.
Q # 2) 컴퓨터 아키텍처는 컴퓨터 조직과 다른가요?
대답:
컴퓨터 아키텍처 | 컴퓨터 조직 |
---|---|
논리를 포함합니다. | 여기에는 물리적 구성 요소가 포함됩니다. |
하드웨어를 연결하여 컴퓨터 시스템을 만드는 방법입니다. | 컴퓨터의 디자인과 사용자가 인식하는 동작입니다. |
컴퓨터 아키텍처는 소프트웨어와 하드웨어 간의 연결입니다. | 시스템에서는 구성 요소의 연결을 처리합니다. |
시스템의 기능을 쉽게 이해할 수 있습니다. | 시스템의 모든 장치, 상호 연결 및 배열을 매핑합니다. |
레지스터, 명령어 및 주소 지정 모드는 아키텍처의 일부입니다. | 컴퓨터 아키텍처의 실현은 조직입니다. |
아키텍처는 컴퓨터 시스템 설계에서 우선입니다. | 조직의 기반은 아키텍처입니다. |
높은 수준의 디자인 문제를 다룹니다. | 낮은 수준의 디자인 문제를 다룹니다. |
질문 # 3) 마이크로 프로세서에서 사용하는 기본 구성 요소를 알고 있습니까? 설명.
(영상 출처 )
대답:
마이크로 프로세서는 일반적으로 세 가지 기본 구성 요소를 사용합니다.
- 주소 라인은 단일 블록의 적절한 주소를 참조하는 데 중요하므로 마이크로 프로세서의 주요 요소 중 하나입니다.
- 데이터 라인은 마이크로 프로세서의 데이터 전송을위한 주요 기준을 유지하는 요소입니다.
- 처리 데이터의 대상은 주소 지정 및 데이터 전송 완료 후에옵니다. IC 칩은 마이크로 칩의 데이터 처리에 필수적입니다.
Q # 4) 마이크로 프로세서 시스템의 다양한 인터럽트는 무엇입니까?
대답:
세 가지 유형의 인터럽트가 있습니다.
- 외부 인터럽트 외부 입력 / 출력 장치에서 발생합니다.
- 내부 인터럽트 프로그램 자체에 의해 발생한 예외의 결과입니다.
- 소프트웨어 인터럽트 명령 실행 중에 만 발생합니다. 이러한 인터럽트의 주요 목적은 사용자에서 감독자로 모드를 전환하는 것입니다.
Q # 5) 마이크로 프로세서의 공통 구성 요소는 무엇입니까?
(영상 출처 )
대답: 제어 장치, I / O 장치, 캐시, ALU 및 레지스터는 마이크로 프로세서의 일반적인 구성 요소 중 일부입니다.
기술적 질문
Q # 6) MESI에 대해 무엇을 알고 있습니까?
대답: MESI는 다시 쓰기 캐시를 지원하는 Invalidate를 기반으로하는 매우 인기있는 캐시 일관성 프로토콜 중 하나입니다. Urbana-Champaign의 일리노이 대학에서 개발되었으므로 일리노이 프로토콜이라고도합니다.
처음에는 막대한 대역폭 손실을 유발하는 연속 기입 캐시가 사용되었습니다. 쓰기 캐시는 시스템의 대역폭을 효율적이고 적절하게 관리하기 때문에 널리 사용되었습니다. MESI 프로토콜은이 캐시에있는 데이터가 메인 메모리 캐시에 저장된 데이터와 다르다는 것을 시스템에 나타내는 더티 스테이지라는 한 단계를 유지합니다.
Q # 7) 파이프 라이닝에 대해 알고 계십니까?
(영상 출처 )
대답: 파이프 라이닝은 여러 명령이 시스템에 입력 될 때 주로 사용되는 고급 마이크로 프로세서에서 가장 많이 사용되는 기술 중 하나입니다. 파이프 라인을 통해 프로세서에서 명령을 축적하고 순서에 따라 명령을 저장하고 실행할 수 있습니다.
이 과정은 여러 단계로 나뉘며 각 단계는 파이프와 같은 구조로 연결됩니다. 실행 중에 여러 명령이 겹치는 경우에 사용됩니다.
자동차 제조 회사와 마찬가지로 거대한 조립 라인과 로봇 팔의 각 설정은 특정 작업을 수행합니다. 하나의 작업이 완료되면 자동차는 다음 팔로 이동합니다.
Q # 8) 캐시 일관성에 대해 무엇을 알고 있습니까?
(영상 출처 )
대답: 캐시 메모리에 저장된 데이터의 일관성 또는 규칙 성을 캐시 일관성이라고합니다. 분산 공유 메모리 (DSM) 또는 다중 프로세서 시스템은 캐시 및 메모리 일관성을 유지하는 것이 필수적입니다.
캐시 관리는 데이터가 손실되거나 덮어 쓰여지지 않도록 구성되어 있습니다. 다양한 기술을 사용하여 캐시 일관성을 유지할 수 있으며 여기에는 스 내핑, 스누핑 및 디렉터리 기반 일관성이 포함됩니다.
DSM 시스템은 일관성을 유지하기 위해 이러한 기술을 모방하여 일관성 프로토콜을 사용하며 시스템 운영에 필수적입니다. 캐시 일관성에는 쓰기 전파와 트랜잭션 직렬화라는 두 가지가 필요합니다.
모든 캐시에서 데이터의 변경 사항은 피어 캐시에있는 해당 캐시 라인의 다른 복사본에 배포되어야합니다. 이것이 쓰기 전파가하는 일입니다. 트랜잭션 직렬화의 역할은 단일 메모리 위치에서 읽거나 쓰는 모든 것을 동일한 순서로 모든 프로세서에서 볼 수 있도록하는 것입니다.
Q # 9) 캐시 미스에 대해 알려주세요.
대답: 때때로 캐시에서 데이터의 일부를 쓰거나 읽는 데 실패한 경우가 있습니다. 이 누락으로 인해 주 메모리의 대기 시간이 길어집니다. 캐시 미스에는 콜드 또는 강제, 용량 및 충돌 미스의 세 가지 유형이 있습니다.
콜드 또는 강제 미스는 빈 캐시에서 시작되며 메모리 블록에 대한 가장 중요한 참조입니다. 첫 번째 손님이 아직 도착하지 않은 빈 호텔이라고 할 수 있습니다. 용량 누락은 캐시에 사용하려는 모든 블록을 수용 할 충분한 공간이 없을 때 발생합니다. 묵고 싶지만 공실이없는 호텔과 같습니다.
충돌 누락은 동일한 위치에 두 블록이 있지만 두 블록 모두에 충분한 공간이 없을 때 발생합니다. 간단한 예로, 호텔 3 층에 머물러야하는데 층에있는 모든 방이 꽉 차서 자리가없는 것과 같습니다.
Q # 10) 가상 메모리에 대해 무엇을 알고 있습니까?
(영상 출처 )
대답: 컴퓨터는 메모리를 사용하여 OS를로드하고 프로그램을 실행하며 실제 메모리 (예 : RAM)의 양은 제한되어 있습니다. 따라서 특히 한 번에 너무 많은 프로그램을 실행하는 경우 메모리가 부족할 가능성이 있습니다.
이것이 바로 가상 메모리가 유용한 곳입니다. '주소 공간', 즉 데이터를 저장할 수있는 메모리의 위치를 확대하여 컴퓨터에서 사용 가능한 메모리를 늘립니다. 추가 메모리 할당을 위해 하드 디스크 공간을 사용합니다.
그러나 하드 드라이브는 RAM에 비해 느리기 때문에 가상 메모리에 저장된 데이터를 사용할 실제 메모리로 다시 매핑해야합니다. 가상 메모리를 사용하면 컴퓨터에서 가능한 것보다 더 많은 프로그램을 실행할 수 있습니다.
Q # 11) DLX 파이프 라인의 5 단계는 무엇입니까?
대답: DLX는 RISC 프로세서 아키텍처입니다. David A. Patterson과 John L. Hennessy가 디자인했습니다. 그 아키텍처는 프로그램에서 가장 자주 사용되는 프리미티브의 관찰을 기반으로 선택되었습니다.
5 단계는 다음과 같습니다.
- CPU 피연산자 저장소
- 명시 적 피연산자
- 조작
- 위치
- 피연산자의 유형 및 크기
문 # 12) Superscalar 머신과 VLIW 머신에 대해 알려주세요.
(영상 출처 )
대답: 수퍼 스칼라 프로세서는 단일 프로세서 내에서 명령 수준 병렬 처리를 구현하는 CPU입니다. 클록 사이클 동안 둘 이상의 명령을 실행할 수 있습니다. 동시에 여러 명령을 프로세서의 다른 실행 장치로 디스패치합니다.
따라서 주어진 클럭 속도에서 다른 것과 비교할 때 더 많은 처리량을 허용합니다.
VLIW 또는 Very Long Instruction Word는 ILP 또는 명령어 수준 병렬 처리를 활용하도록 설계된 CPU 아키텍처를 나타내지 만 하드웨어 복잡성은 최소화합니다. VLIW 방식은 프로그램이 컴파일 될 때 결정되는 고정 된 일정에 따라 작업을 병렬로 실행합니다.
Q # 13) 분기 예측이란 무엇이며 위험을 어떻게 제어 할 수 있습니까?
(영상 출처 )
대답: 파이프 라인을 처리하는 정보 처리 단위에서 분기 예측 제어 장치는 분기 예측을위한 주소를 생성한다. 이 주소는 추론 적으로 실행되는 명령을 확인하는 데 사용됩니다.
장치는 예측을 위해 반환 주소를 저장하는 첫 번째 반환 주소 저장 장치를 가지고 있습니다. 그리고, 호출 명령의 실행 결과에 따라 생성 된 리턴 주소를 저장하는 두 번째 리턴 주소에 대한 저장 부가있다.
또한 저장된 예측 리턴 주소를 분기 예측 주소로 전송하고 전송 된 분기 예측 주소를 저장하는 분기 예측 주소에 대한 저장 장치도 있습니다.
분기 예측 주소와 다른 분기 명령을 실행 한 후 복귀 주소가 생성되면 두 번째 복귀 주소에 대한 저장 장치에 저장된 내용이 첫 번째 복귀 주소에 대한 저장 장치에 복제됩니다.
Q # 14) 크기와 캐시 방식으로 주어진 세트 수를 계산할 수 있습니까?
대답: 기본 스토리지 계층에서 캐시는 수집 된 캐시 라인을 세트로 전달합니다. 캐시는 각 세트가 k 라인을 보유하는 경우 k-way 연관이라고 할 수 있습니다. 데이터 요청에는 요청 된 데이터의 위치를 지정하는 주소가 있습니다.
하위 수준에서 청크 크기의 캐시 라인 데이터를 하나만 하나의 집합에 배치 할 수 있습니다. 주소는 배치 할 수있는 세트를 결정합니다. 세트와 주소 간의 매핑은 빠르고 쉽게 구현되어야합니다. 빠른 구현을 위해 주소의 일부만 집합을 선택합니다.
그 후 요청 주소는 아래와 같이 세 부분으로 구분됩니다.
- 캐시 라인 내의 특정 위치는 오프셋 부분으로 식별됩니다.
- 요청 된 데이터가있는 세트는 세트 파트로 식별됩니다.
- 세트에 넣을 수있는 다른 주소를 구별하기 위해 각 캐시 라인에 데이터와 함께 저장된 태그 부분이 있어야합니다.
Q # 15) 캐시에서 블록을 어떻게 찾습니까?
대답: 블록의 태그는 데이터와 함께 캐시의 각 위치에 기록됩니다. 캐시의 위치는 비어있을 수 있으므로 일반적으로 유효한 비트를 유지합니다.
따라서 캐시에서 블록을 찾으려면 다음을 수행하십시오.
- 블록 주소의 색인에 사용 된 장소 또는 장소 집합을 결정합니다.
- 각 장소에 유효한 비트가 설정되어 있는지 확인하고 세트의 모든 장소에 대해 태그를 해당 주소 블록과 병렬로 비교합니다.
Q # 16) 주소 지정 모드 란 무엇입니까?
(영상 출처 )
대답: 대부분의 중앙 처리 장치 설계에는 주소 지정 모드라는 명령어 세트 아키텍처의 특성이 있습니다.
다양한 주소 지정 모드는 주어진 명령어 세트 아키텍처에서 설명되며 이러한 모드는 주어진 아키텍처의 ML 명령어가 모든 명령어의 피연산자를 인식하는 방법을 정의합니다.
주소 지정 모드는 레지스터 또는 / 및 ML 명령어 또는 다른 위치에있는 상수에 보관 된 정보를 사용하여 피연산자의 유효 메모리 주소를 계산하는 방법을 지정합니다.
Q # 17) Aliasing에 대해 알려주세요.
대답: 컴퓨팅 세계에서 별칭은 프로그램에서 별도의 기호 이름을 통해 메모리의 데이터 위치에 액세스 할 수있는 상황을 설명합니다. 따라서 하나의 이름을 통해 데이터를 변경하면 별칭이 지정된 모든 이름과 관련된 값을 암시 적으로 수정할 수 있습니다.
그것은 프로그래머가 예상하지 못했던 것입니다. 따라서 프로그램을 최적화, 이해 및 분석하기가 어려워집니다.
Q # 18) 소프트웨어 인터럽트와 하드웨어 인터럽트의 차이점은 무엇입니까?
대답:
소프트웨어 인터럽트 | 하드웨어 인터럽트 |
---|---|
INT 명령어를 사용하여 호출 할 수 있습니다. | 이는 외부 장치, 특히 하드웨어 오류로 인해 발생합니다. |
동기식입니다. | 비동기식입니다. |
컴퓨터의 내부 시스템으로 인해 발생합니다. | 프로세서의 신호가 외부 장치 또는 하드웨어에서 오는 경우 발생합니다. |
이것은 종종 프로세서의 예외적 인 조건 또는 명령 세트의 특수 명령의 결과입니다. | 주변 장치, 사용자, 네트워크 또는 기타 하드웨어 장치를 통한 외부 간섭의 결과입니다. |
PC 증가. | PC는 증가하지 않습니다. |
우선 순위가 가장 높습니다. | 우선 순위가 가장 낮습니다. |
Q # 19) 다른 작업을하고 싶지만 CPU가 사용 중입니다. 해결책을 제안하십시오.
대답: 마스크 불가능한 인터럽트를 생성 한 다음 필수 서브 루틴에 점프 명령을 제공합니다.
QA에서 회귀 테스트는 무엇입니까
문 # 20) 래치에 대해 무엇을 알고 있습니까? 다양한 유형의 래치는 무엇입니까?
대답: 액티브 하이와 액티브 로우의 두 가지 안정적인 상태로 인해 쌍 안정 멀티 바이브레이터라고도하는 래치는 논리 회로의 한 유형입니다. 피드백 레인을 통해 데이터를 보관하여 저장 장치 역할을합니다.
장치가 활성 상태를 유지하는 한 래치는 1 비트 데이터를 저장할 수 있습니다. 활성화가 선언되면 래치는 저장된 데이터를 즉시 변경할 수 있습니다.
래치 유형 :
- 비동기식 장치 인 SR 또는 설정 / 리셋 래치는 신호를 제어하기 위해 독립적으로 작동합니다. 설정 상태와 리셋 입력에 따라 이루어집니다.
- Gates SR Latch는 세 번째 입력을 전달하는 래치입니다. 설정 / 리셋 입력이 작동하려면이 입력이 활성화되어야합니다.
- D 래치 또는 데이터 래치는 바람직하지 않은 입력 조건의 가능성을 제거합니다.
- 게이트 D 래치는 게이트 SR 래치를 일부 변경하여 설계되었습니다. 변경 사항은 리셋 입력을 인버터 세트로 변경해야한다는 것입니다.
- JK 래치는 RS 래치와 유사합니다. 두 개의 입력, 즉 J와 K로 구성됩니다. JK 래치의 입력이 높으면 출력이 토글됩니다.
- T 래치는 JK 래치의 입력이 단락 될 때 형성됩니다. T 래치는 래치의 입력이 높을 때 출력을 토글합니다.
Q # 21) 플립 플롭에 대해 알려주세요.
(영상 출처 )
대답: 래치와 마찬가지로 플립 플롭은 전자 회로입니다. 바이너리 데이터를 저장할 수있는 두 가지 안정적인 상태를 전달합니다. 다양한 입력을 적용하여 저장된 데이터를 변경할 수 있습니다. 래치와 마찬가지로 컴퓨터, 통신 및 기타 여러 시스템의 전자 및 디지털 시스템의 구성 요소입니다.
Q # 22) 래치와 플립 플롭의 차이점을 설명하십시오.
대답:
래치 | 플립 플롭 |
---|---|
이러한 빌딩 블록은 논리 게이트에서 만들 수 있습니다. | 래치는 이러한 빌딩 블록을 만드는 데 사용됩니다. |
입력을 지속적으로 확인하고 그에 따라 출력을 변경합니다. | 플립 플롭은 동일한 작업을 수행하지만 클럭킹 신호에 의해 설정된 시간에만 수행됩니다. |
래치는 펄스 지속 시간에 민감하며 스위치를 켜면 데이터를 송수신 할 수 있습니다. | 신호의 변화에 민감합니다. 데이터 전송은 한 순간에만 발생할 수 있습니다. 다음에 신호가 변경 될 때까지 데이터를 변경할 수 없습니다. 이들은 레지스터로 사용됩니다. |
기능 입력 활성화는 작동하는 것입니다. | 클럭 펄스에서 작동합니다. |
Q # 23) 실시간 운영 체제에 대해 무엇을 알고 있습니까?
대답: 데이터 처리 시스템이라고도하는 실시간 운영 체제는 입력을 처리하고 응답하는 데 매우 작은 시간 간격이 필요합니다. 응답하고 필요한 업데이트 정보를 표시하는 데 걸리는 시간을 응답 시간이라고합니다.
우리는 프로세서 운영이나 데이터 흐름에 필요한 시간이 엄격한 경우 실시간을 사용합니다. 전용 애플리케이션에서는 실시간 시스템을 제어 장치로 사용할 수 있습니다. 이 시스템에는 확정적이고 고정 된 시간 제약이 있어야합니다. 그렇지 않으면 느껴질 것입니다.
Q # 24) Write-back과 Write-through Cache의 차이점.
대답:
캐시 쓰기 | 캐시를 통해 쓰기 |
---|---|
쓰기 캐시는 해당 캐시 라인이 읽기에 사용될 때까지 쓰기와 다릅니다. 이는 특히 많은 프로세서가 내부 캐시를 사용하여 동일한 데이터에 액세스 할 때 무결성에 물음표를 표시합니다. | 캐시를 통한 쓰기는 각 쓰기에 대해 플러시되므로 무결성이 더 좋은 것으로 간주됩니다. |
많은 쓰기 또는 메모리 쓰기주기를 절약하여 좋은 성능을 제공합니다. | 다시 쓰기 캐시에 비해 성능이 좋지 않습니다. |
Q # 25) 왜 당신을 고용해야합니까?
대답: 이 질문에 대한 답에서 당신이 당신의 일에 얼마나 헌신적인지 말하십시오. 경력을 쌓는 동안 새로운 것을 어떻게 배웠는지, 실수로부터 얼마나 잘 배웠는지 이야기하십시오. 당신이 예외적으로 잘 수행 한 예를 제시하십시오.
그들이 찾고있는 종류의 직원의 사진을 그들에게주십시오.
결론
다음은 가장 인기있는 컴퓨터 아키텍처 인터뷰 질문 중 일부입니다. 자주 묻는 질문을 준비하면 면접을 통과 할 가능성이 높아집니다.
주제에 대한 지식은 인터뷰에 대한 자신감을 가질뿐만 아니라 정확한 답변으로 에이스하는 데 도움이됩니다.
이 컴퓨터 아키텍처 인터뷰 질문 목록이 도움이 되었기를 바랍니다.