비트 코인

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?


CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

작성자 | 프로그래밍 기술 코스모스

페어 스핀 데스크페어 스핀 모바일

편집장 | Carol

CSDN 비전 중국에서 다운로드

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

인터럽트 메커니즘

나는 CPU No. 1 Workshop의 Ah Q입니다. 또 왔어요

우리의 일상적인 작업은 지속적으로 코드 명령어를 실행하는 것이지만,이 간단한 작업은 실제로 쉽지 않습니다.

지루할 수없고 코드 실행에 신경 쓰지 않아도되며 메인 보드에 연결된 다른 장치를 처리해야합니다. 키보드, 마우스, 디스크, 예, 네트워크 카드가 있습니다.이 남자가 최근에 문제를 일으켰습니다. 나중에 이것에 대해 이야기하겠습니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  나는 메모리에있는 사람이 충분히 느리다고 생각했다. 나는 그보다 더 느리게 위의 사람과 의사 소통 할 것으로 기대하지 않았다 우리 CPU 공장의 시간은 많은 돈이 가치가있다. 나중에 공장이 완성되 자마자 중단이라는 방법을 생각했습니다.

작업장에 헤드 라이트가 설치되었는데, 이러한 장치가 당사에 연락하려면 먼저 인터럽트 신호를 보내면 헤드 라이트가 자동으로 켜집니다. 일반적으로 코드 명령어를 실행하려고 할 때 헤드 라이트가 켜져 있는지 확인하기 위해 각 명령어를 한 눈에 볼 수 있습니다. 조명이 켜진 것을 발견하면 작업을 치워두고 관리하십시오.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  우리는 나쁜 메모리를 가지고 있으며, 처리가 끝난 후에 돌아와 원래 작업을 계속해야합니다. 반환을 기다린 후 연결할 수 있으려면 현재 실행중인 스레드의 레지스터 값과 어디를 가야합니다. 이 정보가이 스레드의 스택에 저장 될 때까지 기다리십시오.

그러나 때때로 우리는 매우 중요한 일을 수행 할 때 방해받지 않기를 원합니다. 따라서 워크샵의 eflags 레지스터에 플래그를 설정합니다. 1 인 경우 중단 될 수 있습니다. 0 인 경우 황제가 우리를 찾더라도 문제가되지 않습니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

오해, 마스크 할 수없는 인터럽트 NMI도 있으며 녹색 채널로 들어갑니다. 그러나 나는 이런 종류의 일이 일어날 것이라고 기대하지 않습니다. 일반적으로 좋은 일이 없기 때문에, 전원이 꺼 지거나 온도가 너무 높거나 버스에 오류가 있고 다른 심각한 일이 있습니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

8259A PIC

또한 문제가 있습니다. 우리와 함께 일하는 많은 단위가 있습니다. 우리는 누가 뉴스의 출처인지를 구별해야하며, 그들이 발견하기 위해 함께 모이면 어떤 우선 순위에 따라 두통이기도합니다.

이를 위해 공장에서 전적으로 소유 한 자회사가이 문제를 담당하기 위해 설립되었으며, 프로그래머블 인터럽트 컨트롤러 PIC, 별명 8259A입니다. 다른 장치는이 PIC를 통해 우리 모두에게 연락하기를 원합니다. 도킹이면 충분합니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  사무실에 인터럽트 벡터라고하는 번호를 할당했습니다. 또한 인터럽트 설명자 테이블 IDT라는 테이블을 준비했습니다.이 테이블에는이 인터럽트 번호에 해당하는 함수의 주소를 포함하여 많은 정보가 기록됩니다. 우리는 PIC를 찾아서 숫자를 얻고 처리 기능을 실행합니다.

CPU에는 분명히 코어가 8 개 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  이 테이블은 256 개의 항목이있는 약간 크며 CPU 작업 공간이 제한되어 있으므로 공간을 확보 할 수 없으므로 메모리 공간에 넣습니다.이 테이블을 빨리 찾으려면 idtr이라는 레지스터를 추가하여이 테이블을 가리 킵니다.

실제로 인터럽트를 제외하고 명령을 실행하는 동안 예외가 발생하면이 표로 이동하여 예외 처리 기능을 실행합니다. 가장 일반적인 예는 제수가 0이고 메모리 주소가 잘못되었습니다.

이 경우, 우리는 손을 내려 놓고 예외를 처리하기 위해 주도권을 행사해야하므로 예외가 동 기적이며 인터럽트가 언제 발생하는지 알지 못하므로 비동기 적입니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

APIC

8259A는 훌륭하게 작동했지만 공장은 단일 코어 CPU에서 멀티 코어로 규모를 확장했으며 약간 압도적이었습니다.

마침내 어느 날 공장에서 회의가 열렸고 8259A가 철회되었고, Advanced Programmable Interrupt Controller APIC라는 완전히 소유 한 자회사가 설립되었습니다.

그러나 말하지 마십시오.이 두 단어는 실제로 자랑스럽지 않습니다 .8259A보다 높은 곳을 모르겠습니다.

이 새로운 APIC 회사에 전원을 공급하자마자 우리 부서의 서비스를 찾는 장치를받는 I / O APIC라는 부서와 CPU의 다양한 워크샵에서 아웃소싱 된 Local APIC라는 부서가 설립되었습니다. , 사무실 옆에 있으므로 이름은 로컬입니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  I / O APIC가 인터럽트 신호를 수신 한 후 자체 전략에 따라 해당 로컬 APIC에 분배되며, 8 개의 워크숍이 처리에 집중하여 많은 것을 절약 할 수 있습니다.

뿐만 아니라이 아웃소싱 팀을 통해 8 개의 워크숍에서 서로에게 인터럽트 요청을 시작할 수 있으며,이를 인터 프로세서 인터럽트 (InterInterProcessor Interrupt, IPI)라고합니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

인터럽트 친화력

패킷이 네트워크에 도착할 때마다 네트워크 카드의 사용자가 인터럽트 메시지를 보내 처리하도록 지시합니다.

그러나 최근에 무슨 일이 있었는지 모르겠으며 인터넷의 데이터 양이 급격히 증가했습니다. 공장에는 8 개의 워크숍이 있으며, 계속해서 뉴스를 보내야했고, 진행중인 작업은 항상 중단되었고 너무 바빴습니다.

마지막으로, 나는 그것을 도울 수 없었고, 이론을 만들기 위해 네트워크 카드를 가진 사람에게 갔다. 그러나 그는 나에게 이것이 책임질 수 없다고 말했는데, 그것을 처리하기 위해 배포 될 사람은 APIC입니다.

APIC로 돌아가서 다른 워크샵과 공유하도록 요청했습니다.

APIC는 그들이 결정을 내릴 수 없으며 공장이 결정하도록해야한다고 말했다.

며칠 후 공장에서 회의가 열렸고, 다양한 워크샵 담당자와 APIC 담당자가 회의에 참석했으며 운영 체제의 관련 담당자가 초청되었습니다.

CPU에는 분명히 코어가 8 개 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  회의에서 모든 사람은 그 문제에 대해 이의를 제기했습니다.

워크샵 2의 후지 : “아, 워크샵 1에서 부트 스트랩 프로세서라고하는 사람은 더 열심히 일해야합니다.”

워크숍 No. 3 담당자 : “그렇지 않다는 것은 아닙니다. 모든 사람이 팀입니다. 서로를 돕고 싶다면, 이렇게하세요. 저희에게 연락 할 단위가 너무 많아서 작업을 나눌 것입니다. 예를 들어 워크숍 1 번은 네트워크 카드를 담당하고 2 번은 책임이 있습니다. Disk, 세 번째는 키보드를 담당합니다. “

워크숍 No. 5 담당자 : “예쁜 생각입니다. 키보드가 하루에 몇 개의 인터럽트를 보낼 수 있고 네트워크 카드가 하루에 몇 개의 인터럽트를 보내야합니까? 쉽게 할 수 있습니다. 따라서로드 밸런싱을 위해 랜덤 분배를 사용하십시오. 어떻게 생각하십니까? ? “

워크숍 No. 8 대표 : “무슨 일 이니, 얼마나 귀찮은가, 우리는 8 개의 워크숍에서 교대로 진행할 것”

CPU에는 분명히 코어가 8 개 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  현재 리더는 운영 체제 담당자에게 제안 사항이 있는지 물었습니다.

이 담당자는 일어 서서 안경을 밀었습니다. “스레드의 CPU 선호도에 대해 들어 보셨습니까?”

모두가 고개를 저으며 “이게 무슨 뜻입니까?”

“일부 스레드는 실행을 위해 코어 중 하나에 바인딩하고이 코어에서 잠시 동안 실행하지 않고 해당 코어에서 잠시 동안 실행하기를 원합니다”

“그런 일이있는 것 같습니다. 이전에 겪어 왔으며 우리의 No. 1 워크숍에 실이 할당되었지만 우리는 이것을 신경 쓰지 않습니다. 누가 작업을하지 않습니까? 모두 같은”

담당자는 “아, 같지 않습니다. 각 코어의 첫 번째 및 두 번째 수준 캐시는 사용자가 직접 관리합니다. 다른 코어로 변경하면이 캐시는 거의 쓸모가 없으며 다시 만들어야합니다. 맹목적으로 노력을 늦추는 것이 아니라 일반 스레드는 신경 쓰지 않지만 일부 스레드는 많은 메모리 액세스 및 계산 처리를 수행하고 성능 요구 사항이 높은 경우이 문제에 대해 매우 우려하고 있습니다. “

우리 모두는 갑자기 우리가 하나씩 끄덕임을 깨달았습니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  Hu Zi는 일어나서 “어떻게이 친화력을 달성합니까? 이것이 오늘날의 회의와 어떤 관련이 있습니까?”

담당자는 “첫 번째 질문에 먼저 답변하겠습니다. 스레드 스케줄링은 운영 체제에서 수행하는 작업입니다. 우리는 API 인터페이스를 제공합니다. 스레드는 이러한 인터페이스를 호출하여 호환성에 대한 의지를 나타냅니다. 그런 다음 원하는대로 실행할 스레드를 할당 할 수 있습니다. “

담당자는 한 모금 물을 마시 며 말했다. “두 번째 질문에 대답하겠습니다. 스레드가 선호도를 가질 수 있으므로이 아이디어에 따라 인터럽트도 분배 할 수 있습니다. APIC에는 기본적으로 일련의 분배 전략이 있지만 선호도도 제공합니다. 규칙을 수정하거나 융통성있게 할 필요가 없도록 처리 할 사람과 핵심을 지정할 수 있습니다. “

방금 끝나자 어린 소년이 갑자기 회의실 문에 나타나서 운영 체제 담당자를 불렀습니다.

CPU에는 분명히 8 개의 코어가 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?  다음으로이 체계의 실행 가능성에 대해 자세히 설명하고 결국 모든 사람이 만장일치로 그 결정을 내리기로 결정했습니다. 우리는 인터럽트 선호도라는 것을 조합했습니다. 운영 체제는 구성 가능한 항목 smp_affinity를 제공합니다. 인터럽트를 처리 할 사람을 결정하기 위해 각 프로세서 코어의 마스크를 설정함으로써 APIC는 착륙 지원을 담당합니다.

이 계획을 통해 네트워크의 정점에 다시 도달하면 No. 1 워크샵의 압력을 줄일 수 있습니다.

방금 합의에 이르렀습니다 운영 체제 담당자가 회의실로 돌아와 엄숙하게 말했습니다. “모두 죄송합니다. 운영 체제에는 문제를 해결하기 위해 서두르어야합니다. 먼저 조치를 취하겠습니다.”

계속하려면 …

이스터에 그

네트워크 카드가 중단되면서 새로운 데이터 패킷이이 땅에 왔습니다.

새로 도착한 Empire Network Department의 젊은이들은 분명히 위험이 올 것임을 알지 못했습니다 …

미래를 예견하십시오.

CPU에는 분명히 코어가 8 개 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

CPU에는 분명히 코어가 8 개 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

** 더 흥미로운 추천 **

☞ 인터뷰 | “Smartbi”VP Xu Jing : 앞으로 BI는 의사 결정자 Zhuge Liang이 될 것입니다

[☞加密货币界“女杀手”,破译世上最安全加密货币系统,获 771 万奖金](http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650757593&idx=1&sn=2cccf4bc367d01948dc34531da60520f&chksm=bea7280a89d0a11c621632c2bacfa15e418e31036f2cd827418db3cdcd

[☞](http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650750309&idx=2&sn=e6772d93425a7a23a9d53c793274b9bd&chksm=bea74cb66d1c5a0a5958c2f20aaae0d8[他被称为 ” 中国第一程序员 “,一人之力单挑微软,如今拜入武当修道](http://mp.weixin.qq.com/s?__biz=MzA5MzY4NTQwMA==&mid=2651021126&idx=1&sn=1a22d3847fd59daea65028c6a3dd5c2b&chksm=8badecb1bcda65a75e1aa0998f623e918fdcb14

[☞](http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650750309&idx=2&sn=e6772d93425a7a23a9d53c793274b9bd&chksm=bea74cb66d1c5a0a5958c2f20aaae0d8[高文、张钹、杨强隔空论道:AI 精度与隐私的博弈](http://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==&mid=2247519512&idx=1&sn=fcba907ddbcd498d968ae35235a0d1c3&chksm=e99ebee1dee937f73a0d88bdbbdfee9c66de302fddbfbffbfb

[☞](http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650746260&idx=1&sn=ec250a1510b9cf57c8ba19578decefb1&chksm=bea75c4789d0d551e79436a31b723defb9f792c09c0d78[带你从零入门 Serverless | 一文详解 Serverless 架构模式](http://mp.weixin.qq.com/s?__biz=MzA3MjY1MTQwNQ==&mid=2649838961&idx=1&sn=0d1ff461712f4a3c3dc94af5b6aabb37&chksm=871ef293b0697b85e47322bd1063af748260f1

☞[中央银行数字货币的总体框架](http://mp.weixin.qq.com/s?__biz=MzU2MTE1NDk2Mg==&mid=2247502546&idx=1&sn=924a8af270689c2155c198d80bc24961&chksm=fc7f942fcb081d39584649c73693b59b832e8989425425bbeded

CPU에는 분명히 코어가 8 개 있는데 왜 네트워크 카드가 1 번 코어를 필사적으로 던지나요?

당신의 “공유”, “좋아요”, “찾고”는 우리에게 가장 큰 격려입니다

출처 링크 : mp.weixin.qq.com

면책 조항 : 상기 내용은 인터넷에서 수집 한 것으로 작품의 저작권은 원저에게 귀속됩니다 모든 내용은 정보의 전송을 목적으로 한 것으로, 본 사이트가 그 견해에 동의하고 투자 가이드가되지 않는다는 의미는 아닙니다. 통화 원은 위험하며 투자는 신중해야합니다.