마인드 맵 갤러리 컴퓨터 구성 원리의 마인드 맵
개요, 데이터 운영, 저장 시스템, 중앙 처리 장치 등을 포함하여 02 컴퓨터의 구성 원리에 대한 마인드 맵입니다.
2023-12-08 15:47:38에 편집됨이것은 (III) 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제에 대한 마인드 맵이며, 주요 함량은 다음을 포함한다 : 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제 (HIF-PHI)는 신장 빈혈의 치료를위한 새로운 소형 분자 경구 약물이다. 1. HIF-PHI 복용량 선택 및 조정. Rosalasstat의 초기 용량, 2. HIF-PHI 사용 중 모니터링, 3. 부작용 및 예방 조치.
이것은 Kuka Industrial Robots의 개발 및 Kuka Industrial Robot의 모션 제어 지침에 대한 마인드 맵입니다. 주요 내용에는 쿠카 산업 로봇의 역사, 쿠카 산업 로봇의 특성, 쿠카 산업 로봇의 응용 분야, 2. 포장 프로세스에서 쿠카 로봇은 빠르고 일관된 포장 작업을 달성하고 포장 효율성을 높이며 인건비를 줄입니다. 2. 인건비 감소 : 자동화는 운영자에 대한 의존성을 줄입니다. 3. 조립 품질 향상 : 정확한 제어는 인간 오류를 줄입니다.
408 컴퓨터 네트워크가 너무 어렵습니까? 두려워하지 마세요! 나는 피를 구토하고 지식 맥락을 명확히하는 데 도움이되는 매우 실용적인 마인드 맵을 분류했습니다. 컨텐츠는 매우 완전합니다. 네트워크 아키텍처에서 응용 프로그램 계층, TCP/IP 프로토콜, 서브넷 디비전 및 기타 핵심 포인트에 이르기까지 원칙을 철저히 이해하는 데 도움이 될 수 있습니다. 📈 명확한 논리 : Mindmas 보물, 당신은 드문 기회가 있습니다. 서둘러! 이 마인드 맵을 사용하여 408 컴퓨터 네트워크의 학습 경로에서 바람과 파도를 타고 성공적으로 해변을 얻으십시오! 도움이 필요한 친구들과 공유해야합니다!
이것은 (III) 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제에 대한 마인드 맵이며, 주요 함량은 다음을 포함한다 : 저산소증-유도 인자 프롤릴 하이드 록 실라 제 억제제 (HIF-PHI)는 신장 빈혈의 치료를위한 새로운 소형 분자 경구 약물이다. 1. HIF-PHI 복용량 선택 및 조정. Rosalasstat의 초기 용량, 2. HIF-PHI 사용 중 모니터링, 3. 부작용 및 예방 조치.
이것은 Kuka Industrial Robots의 개발 및 Kuka Industrial Robot의 모션 제어 지침에 대한 마인드 맵입니다. 주요 내용에는 쿠카 산업 로봇의 역사, 쿠카 산업 로봇의 특성, 쿠카 산업 로봇의 응용 분야, 2. 포장 프로세스에서 쿠카 로봇은 빠르고 일관된 포장 작업을 달성하고 포장 효율성을 높이며 인건비를 줄입니다. 2. 인건비 감소 : 자동화는 운영자에 대한 의존성을 줄입니다. 3. 조립 품질 향상 : 정확한 제어는 인간 오류를 줄입니다.
408 컴퓨터 네트워크가 너무 어렵습니까? 두려워하지 마세요! 나는 피를 구토하고 지식 맥락을 명확히하는 데 도움이되는 매우 실용적인 마인드 맵을 분류했습니다. 컨텐츠는 매우 완전합니다. 네트워크 아키텍처에서 응용 프로그램 계층, TCP/IP 프로토콜, 서브넷 디비전 및 기타 핵심 포인트에 이르기까지 원칙을 철저히 이해하는 데 도움이 될 수 있습니다. 📈 명확한 논리 : Mindmas 보물, 당신은 드문 기회가 있습니다. 서둘러! 이 마인드 맵을 사용하여 408 컴퓨터 네트워크의 학습 경로에서 바람과 파도를 타고 성공적으로 해변을 얻으십시오! 도움이 필요한 친구들과 공유해야합니다!
컴퓨터 구성 원리
제1장 개요
컴퓨터 시스템 계층
하드웨어
폰 노이만 컴퓨터
저장 프로시저
제어 흐름 드라이버
미리 컴파일된 프로그램과 데이터는 메인 메모리로 전송됩니다. 컴퓨터는 항목별로 항목을 실행합니다.
단일프로세서
명령어와 데이터의 상태가 동일함
명령 데이터는 모두 바이너리 코드입니다.
운영자 중심
현대 컴퓨터
메모리 중심
구조
입력 장치
출력 장치
메모리
메인 메모리(내부 저장소)
메모리 뱅크
보조 기억장치(외부 기억장치)
CPU
MAR(주소 메모리)
비트 수는 저장 단위 수에 해당합니다.
매장 접근 주소
MDR(데이터 메모리)
비트 수는 저장 단어 길이와 같습니다.
메모리에서 읽고 쓴 정보를 임시로 저장합니다.
운영자
ALU(산술 논리 장치)
조합 논리 회로
ACC(어큐뮬레이터)
MQ(승수 몫 레지스터)
X 범용 레지스터
피연산자 및 중간 결과의 임시 저장
IX(인덱스 레지스터)
BE(기본 주소 레지스터)
PSW(프로그램 상태 워드 레지스터/플래그 레지스터)
오버플로, 운반 및 차용과 같은 작업으로 얻은 플래그 정보를 저장합니다.
제어 장치
PC(프로그램 카운터)
현재 실행될 명령어의 주소를 저장하며, 실행 후 자동으로 1씩 증가하여 다음 명령어의 주소를 형성합니다.
워드 길이 자릿수→메모리 워드 수
IR(명령어 레지스터)
현재 명령을 저장하는 데 사용됩니다.
MDR의 콘텐츠
명령어 길이
CU(제어 장치)
소프트웨어
구성
시스템 소프트웨어
운영 체제OS
데이터베이스 관리 시스템 DBMS
언어 처리 시스템
네트워크 소프트웨어 시스템
서비스 프로그램
애플리케이션
매일 사용하는 소프트웨어
언어
기계어
컴퓨터가 직접 실행 가능
바이너리 코드
어셈블리어
영어 단어 및 약어
실행 전 기계어로 변환
고급 언어
자바, c, c 등
소스 프로그램을 실행 파일로
다단계 계층 구조
통역사 프로그램: 번역과 실행을 동시에
성능
단어 길이
바이트의 정수배(1B 또는 8비트)입니다.
기계어 길이
정수 연산을 위한 CPU 내 데이터 경로 폭
ALU 긴 숫자
일반 레지스터 비트 수
명령어 길이
명령어의 이진 코드 비트 수
저장 단어 길이
하나의 메모리 단위의 바이너리 코드 길이
데이터 경로 대역폭
한 번에 데이터 버스에서 병렬로 전송되는 비트 수
메인 메모리 용량
계산 속도
처리량
단위 시간당 처리된 요청 수
주요 주파수
CPU 클록 주파수
일반적으로 몇 HZ인가요?
1hz는 1초에 한번이라는 뜻이에요
1GHZ = 10⁹
초당 클럭 사이클 수
CPU 클럭 주기
주요 주파수 카운트다운
1/주 주파수
시계주기는 몇 초입니까?
CPI
명령어를 실행하는 데 걸리는 클록 사이클 수
명령어를 실행하는 데 몇 클록 사이클이 소요됩니까?
세 가지 요인과 관련된
명령어 세트
프로그래밍(시스템 구조)
컴퓨터 조직(아키텍처)
CPU 실행 시간
(명령수×CPI)/주요주파수
MIPS
초당 몇 백만(M) 명령이 실행됩니까?
주요 주파수 / (CPI×10⁶)
실패
mflops
초당 몇 백만 개의 부동 소수점 연산이 수행됩니까?
부동 소수점 연산 횟수 / (실행 시간 × 10⁶)
gflops
10억
10⁹
티플롭스
수조
10²
pflops
천조
101⁵
zflops
투명도
보이지 않는 콘텐츠
고급 언어 프로그래머의 경우, 명령어 형식, 데이터 연산 과정 등은 눈에 보이지 않는 내용입니다.
기계어 또는 어셈블리 언어 프로그래머의 경우, 명령어 형식, 기계 구조, 데이터 형식이 눈에 보이는 콘텐츠입니다.
프로그래머는 CPU에서 MAR, MDR 및 IR의 내용을 볼 수 없습니다.
2장 데이터 작업
기본 방법
바이너리
기본은 2
8진수
8개마다 1개로 이동
비결: 세 자리 이진수
소수
16진수
123456789ABCDEF
팁 ①: 4자리 이진수
팁 ②: A는 10을 나타냅니다.
BCD 코드
8421 코드
네 개의 이진수는 십진수를 나타냅니다.
수정 방법:
① 두 자리 연산의 결과가 십진수 9 이하인 경우에는 수정하지 않습니다.
② 두 자리 연산의 결과가 십진수 10 이상이면 십진수 6(0110)을 더한다.
3야드 더
8421 코드(0011)에 3을 추가하세요. 이런 식으로 모든 숫자의 나머지는 3이 됩니다.
2421 코드
가장 높은 위치부터 가장 낮은 위치까지, 2421 예: 5=(0101)
코드화된 표현
원본 코드
0은 고유하지 않음을 의미합니다.
단어 길이는 n 1, 서명된 원본 코드의 범위입니다. -(2ⁿ-1)≤ x ≤ 2ⁿ-1
역방향 코드
양수 원본코드=역코드
음수 부호 비트는 변경되지 않고 그대로 유지되며 값이 반전됩니다.
보어
0은 고유함을 의미합니다.
양수 원본코드=역코드=보완코드
음수 원본 코드 역코드 변환: 원본 코드는 오른쪽에서 왼쪽으로, 첫 번째 1을 찾고, 모든 숫자 비트를 이 1의 왼쪽으로 반전시킵니다. 즉, 보완 코드를 얻습니다.
단어 길이는 n 1, 부호 있는 보수 범위 -2ⁿ ≤ x ≤ 2ⁿ-1
C 언어에서는 2의 보수 형식으로 저장됩니다.
프레임시프트
0은 고유함을 의미합니다.
부동 소수점 수를 나타내는 지수
오프셋
보수 부호 비트 무효화 → 프레임시프트
고정 소수점 수의 이동
산술 시프트
기호 숫자의 경우
이동 시 부호 비트는 변경되지 않고 유지됩니다.
양의 산술 이동 원래 거부 및 보충 내용은 0을 입력하세요.
음의 산술 시프트 원래 코드에는 0을 입력하세요. 2의 보수 코드는 왼쪽 시프트에는 0, 오른쪽 시프트에는 1로 채워집니다. 반대 코드에 1을 입력하세요.
논리적 이동
부호 없는 숫자의 경우
왼쪽으로 논리적 시프트, 높은 비트 손실, 낮은 비트가 0으로 채워짐
논리적 오른쪽 시프트, 낮은 비트는 손실되고 높은 비트는 0으로 채워집니다.
고정 소수점 수의 덧셈과 뺄셈
2의 보수 덧셈과 뺄셈
추가 직접 조작
빼기 보완 (-B) 보완
식별자
부호 없는 번호
CF 캐리 빌리
부호 없는 숫자 오버플로 확인
추가 캐리
차입금 결정
소형~대형 대여석 이용 가능
ZF 제로 마크
결과는 0이고 ZF=1입니다.
서명된 번호
ZF 제로 마크
SF 기호 표시
결과를 나타내는 기호
OF 오버플로 플래그
부호 있는 숫자의 오버플로 확인
오버플로 판단
1개의 부호 비트
두 개의 부호 비트 (모듈로 4의 보수)
저장할 때 1비트만 저장됩니다.
두 비트가 동일하면 오버플로가 발생하지 않습니다.
서로 다른 두 사람
01
긍정적인 오버플로
10
음수 오버플로
고정 소수점 수의 곱셈
원본 코드 1비트 곱셈
손으로 계산
십진수와 유사하게 직접 계산
컴퓨터 계산
A×B를 계산하세요
삽화
피승수 A는 X 일반 레지스터에 저장됩니다.
승수 B를 MQ에 저장
각 라운드의 연산 결과는 ACC에 저장됩니다.
프로세스
피승수와 승수는 절대값을 취하여 연산에 참여합니다. 부호 비트는 별도로 처리됩니다(XOR 연산).
① 일반 레지스터 X의 번호에 ACC의 번호가 추가되는 시점은 언제입니까? MQ의 최하위 비트가 1인지 확인한다. 1이면 ACC와 X를 더하고 그 결과를 ACC에 넣는다.
(ACC) (X) → ACC
② 새로운 결과를 ACC에 저장한 후 논리적인 Right Shift를 수행한다. MQ 논리적 오른쪽 시프트, ACC 논리적 오른쪽 시프트 ACC의 상위 비트는 0으로 채워지고, ACC의 하위 비트에서 오른쪽으로 이동한 숫자가 MQ의 상위 비트로 이동됩니다. MQ의 하위 비트가 이동됩니다.
1의 보수 곱셈
손으로 계산
컴퓨터 계산
보조 비트 - MQ 최하위 비트 = 1, (ACC) (x) 보수
보조 비트 - MQ 최하위 비트 = 0, (ACC) 0
보조 비트 - MQ 최하위 비트 = -1, (ACC) (-x) 보수
프로세스
2개의 부호 비트를 사용한 2의 보수 1비트 곱셈
n번의 덧셈, 이동, 마지막으로 다시 덧셈을 수행합니다.
각 교대는 산술 오른쪽 교대입니다.
부호 비트가 작업에 참여합니다.
보조 비트는 MQ의 가장 낮은 비트 뒤에 있으며 초기에는 0입니다. MQ 오른쪽 시프트의 추가 숫자는 원래 보조 비트의 초기 0 또는 다른 숫자를 대체합니다.
추가 및 이동 프로세스는 원래 코드의 1비트 곱셈과 동일합니다.
고정점 분할
원본코드분할(나머지복구방법)
a²b
ACC는 배당금 a, 나머지를 저장합니다.
MQ 저장 몫(초기에는 모두 0)
X 매장 제수b
프로세스
먼저, 기본 몫은 1이며, 오류가 발생하면 0으로 변경되고 나머지는 복원됩니다.
몫이 0이면 ACC(b) 보수를 수행하고 그 결과를 ACC에 넣는다.
몫 1, ACC(-b) 보완 수행
계산된 결과의 부호 비트가 1이면 몫이 틀렸다는 의미이므로 복원합니다.
덧셈 연산과 새로운 결과를 얻은 후 ACC와 MQ는 논리적으로 왼쪽으로 이동하고 MQ의 하위 비트는 0으로 채워집니다.
위의 작업을 반복하세요.
독창적인 코드분할(교차적 덧셈과 뺄셈 방식)
막 시작된, 새로운 나머지를 얻으려면 a (-b)를 보완하십시오.
나머지가 음수이면 몫은 0이 되고 나머지는 논리적으로 왼쪽으로 이동한 후 (b) 보수된다.
나머지가 양수이면 몫은 1입니다. 나머지는 논리적으로 왼쪽으로 이동한 다음 (-b)가 추가됩니다.
마지막 단계 나머지가 음수이면 몫은 0입니다. (b) 올바른 나머지를 얻으려면 보수를 해야 합니다.
2의 보수 나눗셈(덧셈과 뺄셈을 번갈아 가며)
부호 비트는 연산에 참여하고 이중 부호 비트는
막 시작된 피제수와 제수의 부호가 같은지 확인하고, 부호가 같은 경우 배당 - 제수 부호가 다른 경우 배당금은 제수입니다.
후속 조치 나머지와 제수는 같은 부호를 갖습니다. 몫 1, 나머지 및 몫(ACC MQ) 왼쪽으로 이동, 제수 빼기 나머지와 제수는 부호가 다릅니다 몫 0, 나머지와 몫을 왼쪽으로 이동, 제수 추가
데이터 저장 장치
빅엔디안 저장
사람들의 독서 습관과 똑같습니다
리틀 엔디안 저장
반대로
국경 정렬
정수형
정수형
4B 32비트
길다
4B 32비트
짧은 유형
2B 16비트
문자 유형
1B 8비트
부동 소수점 수
표현형식
숫자 기호
암호
프레임시프트로 표현됨
가수
원본 코드를 10진수 형태로 표현
표준화
주오구이
가수를 왼쪽으로 한 위치 이동하고 지수를 1만큼 줄입니다.
올바른 규칙
가수를 오른쪽으로 한 위치 이동하고 지수에 1을 추가합니다.
IEEE754
32비트 단정밀도
구성하다
1자리 숫자
확장 코드(프레임 코드) 8비트
확장 참값 = 프레임 코드 - 오프셋 값 127
코드 범위 1~254
가수 23자리
오프셋 값 127
변환 과정
① 숫자 기호
② 가수
③ 코드의 실제 가치
④ 프레임코드(프레임코드) = 코드 진리값 - 오프셋 값
⑤ 가수는 지수의 참값에 따라 이동됩니다.
예
코드는 모두 0 또는 1일 수 없습니다.
64비트 배정밀도
1자리 숫자
코드 11자리
52비트 가수
오프셋 값 1023
부동 소수점 덧셈과 뺄셈
① 올바른 순서
작은 단계는 큰 단계와 일치합니다.
지수 코드의 작은 가수가 오른쪽으로 한 자리 이동되어 지수가 1이 됩니다.
② 가수의 합
③ 표준화
올바른 규칙
1×.××일 때 오른쪽 게이지
가수를 오른쪽으로 이동하고 지수에 1을 추가합니다.
주오구이
0.0일 때 왼쪽 규칙
가수를 왼쪽으로 이동하고 지수를 1만큼 줄입니다.
정규화된 숫자
원본 코드의 가수의 상위 비트가 0이 아니고, 보수 코드의 가수의 상위 비트가 숫자 기호와 다르다.
보어
단일 기호 정규화
0.1xxx 1.0xxx
두 기호 정규화
00.1xxx 11.0xxx
④ 반올림
정렬하거나 오른손잡이일 때 반올림이 발생합니다.
0 반올림 방법
반올림과 유사
상수 세트 1 방법
최상위 비트가 1이든 0이든 상관없이 오른쪽 쉬프트 이후 가수의 끝을 1로 설정한다.
⑤ 오버플로우 판정
양수 언더플로우와 음수 언더플로우의 경우 컴퓨터는 이를 0으로 처리합니다.
깁스
문자→정수→긴→이중
플로트→더블
세 번째 장 스토리지 시스템
메모리 분류
레벨별로 분류
은닉처
메인 메모리
보조 기억장치
미디어별로 정렬
자기 표면
줄자
디스크
자기 코어
반도체
CD
접근방법에 따라 분류
RAM - 랜덤 액세스 메모리
ROM - 읽기 전용 메모리
현대의 기억은 전기적으로 지워질 수 있다
직렬 액세스 메모리
정보 저장성에 따른 분류
전원이 꺼지면 휘발성이 있음
램
비휘발성
ROM
자기 표면
CD
메모리 성능 지표
저장
저장된 단어 수 × 단어 길이
저장 속도
액세스 시간
접속 개시부터 접속 완료까지의 기간
보관기간
접속시간 복구기간
메인 메모리 대역폭
데이터 전송 속도
초당 주 메모리에 들어오고 나가는 최대 메시지 수
다단계 저장 시스템
CPU-캐시-주메모리-보조메모리
CPU 및 캐시가 하드웨어에 의해 수행되기 전의 데이터 전송(보이지 않음)
주 메모리와 보조 메모리 간의 연결은 하드웨어와 운영체제에 의해 완료됩니다(응용 프로그래머에게는 보이지 않음).
메인 메모리
랜덤 액세스 메모리
램
캐시는 SRAM에 의해 구현됩니다.
스램
정적 랜덤 액세스 메모리
쌍안정 플립플롭
비파괴 판독
높은 비용, 빠른 속도, 낮은 통합
메인 메모리는 DRAM으로 구현
음주
동적 랜덤 액세스 메모리
게이트 커패시턴스
가끔씩 새로고침을 해줘야함
중앙 집중식 새로 고침
고정된 시간을 사용하여 커패시터를 새로 고치십시오.
죽은 시간
분산 새로 고침
각 행의 새로 고침을 다양한 주기로 분산
데드존 없음
비동기식 새로 고침
새로 고침 기간을 행 수로 나눈 값 가끔씩 새로 고침
최대 간격 시간 2ms
죽을 때가 있다
저비용, 느린 속도, 높은 통합성
주소 핀 다중화
ROM
ROM
특징
간단한 구조
비휘발성
분류
MROM 마스크 패턴 읽기 전용 메모리
변경할 수 없는 콘텐츠
PROM 일회성 프로그래밍 가능 읽기 전용 메모리
한번 쓴 내용은 변경할 수 없습니다.
EPROM 삭제 가능 프로그래밍 가능 읽기 전용 메모리
다시 쓰기 가능, 제한된 프로그래밍 시간, 긴 쓰기 시간
플래시 메모리(플래시 메모리)
정보의 장기 저장
온라인으로 빠른 지우기 다시 쓰기
CD 롬
CD 롬
SSD 솔리드 스테이트 드라이브
정보의 장기 저장
빠른 지우기, 다시 쓰기
병렬 메모리
듀얼 포트 메모리
공간적 병렬성
다중 몸체 병렬 메모리
시간 병렬성
고차 크로스오버(순차 모드)
직렬 액세스
순차 메모리
하위 인터리빙(인터리빙 주소 지정 모드)
상위 내부 주소는 디코딩을 위해 하위 모듈로 전송됩니다.
파이프라인 접근법
워드 액세스를 위한 액세스 사이클 비트 T 버스 전송주기는 r
교차 모듈 수 ≥ T/r
m 워드를 연속적으로 접근하는데 필요한 시간은 T(m-1)/r이다.
메인 메모리와 CPU 연결
데이터 라인은 양방향입니다 주소 입력란은 단방향입니다.
용량 확장
단어 확장
2/4 디코더 기능: 칩 선택
비트 확장
칩 선택 신호 cs는 모든 칩에 연결되어야 합니다.
메모리와 CPU 연결
높은 칩 선택 라인, 낮은 주소 라인
① 주소란
② 데이터 케이블
③ IO 라인
④ 칩 선택 라인
외부 저장
디스크
최소 판독 단위, 1섹터
특징
① 저렴한 가격과 대용량
②장기보관
③비파괴 판독
분류
디스크 스토리지
저장 공간
자기 헤드(기록면 수)
하나의 기록 표면은 하나의 자기 헤드에 해당합니다.
실린더
각 플래터에는 몇 개의 트랙이 있습니까?
부문
각 트랙에는 몇 개의 섹터가 있습니까?
동일한 섹터에 위치 → 한 번의 메모리 액세스로 모든 데이터를 읽을 수 있습니다.
성능
평균 액세스 시간
시간을 추구
헤드가 목적지 트랙으로 이동하는데 걸리는 시간
지연
자기 헤드가 읽기 및 쓰기 섹터를 찾는 데 걸리는 시간
전송 시간
데이터 전송 시간
쿼리 섹터 시간
탐색 시간/2
데이터 전송 속도
초당 회전수 × 각 트랙의 용량 n 비트
읽기 및 쓰기 작업은 직렬입니다.
디스크 어레이
RAID0
중복성 없음, 체크섬 없음
RAID1
미러 디스크 어레이
상호 백업
RAID2
해밍 코드 디스크 어레이 수정 오류
RAID3
비트 크로스 패리티 검사
RAID4
블록 크로스 패리티
RAID5
독립적인 검증 없이 패리티 검사
SSD 플래시 메모리
U 디스크와 다르지 않습니다.
무작위 쓰기가 느립니다.
마모가 있을 것입니다.
캐시 캐시
작동 원리
CPU는 메모리 액세스 요청을 발행합니다. 주 메모리의 물리적 주소가 캐시에 있으면 적중되어 캐시를 직접 읽습니다. 캐시가 누락된 경우에도 여전히 주 메모리에 액세스하여 주 메모리에서 캐시로 로드해야 합니다.
캐시 블록 길이(라인 길이라고도 함)
모든 프로그래머에게 보이지 않음
캐시와 메인 메모리의 매핑 방식
직접 매핑
최저 적중률과 최단 소요시간
연관 매핑 설정
태그와 그룹 번호는 주 메모리 블록 번호를 형성합니다.
각 그룹이 r개의 캐시 라인을 가지고 있다고 가정하면 이를 r-way set associative라고 합니다. r은 그룹으로 활동합니다.
캐시의 비교기 개수도 r입니다.
캐시 용량(비트) = 행 수 × (행당 데이터, 유효 비트, 더티 비트, 대체 제어 비트, 마크 비트)
각 데이터 행의 단위는 비트입니다.
더티 비트(지속적인 유지 관리)
다시 쓰기 방법
제어 비트 교체
대체 알고리즘을 사용하는 경우 이 비트는 무작위 교체 전략을 사용할 때 이 비트를 사용할 수 없습니다.
대체 알고리즘
① 랜덤 알고리즘
② 선입선출 알고리즘
가장 오래된 줄을 먼저 교체하세요.
③ 가장 최근에 사용한 알고리즘 (지역성의 원리) LRU
최근 방문하지 않은 행 바꾸기
④ LFU는 가장 덜 일반적으로 사용됩니다.
완전 연관 매핑
적중률이 가장 높고 소요시간도 가장 길다.
캐시 쓰기 전략
①
전체 작성 방법 (직접 쓰기)
높은 보안
캐시에 대한 CPU 쓰기 적중
데이터는 메인 메모리와 캐시에 동시에 기록되어야 합니다. 특정 블록을 교체해야 할 경우 새 블록으로 직접 덮어쓰기
쓰기 버퍼
메인 메모리에 직접 쓰는 시간 손실을 줄이기 위해
CPU는 캐시와 쓰기 버퍼에 동시에 데이터를 씁니다. 버퍼를 쓴 다음 내용을 메인 메모리에 씁니다.
비쓰기 할당 방법
캐시에 대한 CPU 쓰기 실패
주 메모리에 쓰면 블록 조정이 수행되지 않습니다.
②
후기입 방식(후기입 방식)
집중적으로
캐시에 대한 CPU 쓰기 적중
데이터를 캐시에만 쓰고 메인 메모리에는 즉시 쓰지 않습니다. 이 블록이 교체될 때만 주 메모리에 씁니다.
쓰기 할당 방법
캐시에 대한 CPU 쓰기 실패
주 메모리 블록을 캐시에 로드한 다음 캐시 블록을 업데이트합니다.
단점: 누락이 발생할 때마다 주 메모리에서 블록을 읽어야 합니다.
가상 메모리
사용자 프로그래밍을 위한 논리 주소(가상 주소) 주기억장치는 물리주소(실제주소)이다.
가상 주소 = 페이지 내 가상 메모리 페이지 번호
실제 주소 = 페이지 내 메인 메모리 페이지 번호
CPU는 가상 메모리 주소를 사용하여 보조 하드웨어를 통해 가상 주소와 실제 주소 간의 매핑 관계를 찾습니다. 메인 메모리에 있는 경우 주소 변환을 통해 주 메모리에 없으면 주 메모리로 페이징되어 CPU에 의해 액세스됩니다. 메인 메모리가 가득 차면 교체 알고리즘이 사용됩니다.
누락된 적중은 시스템 성능에 큰 영향을 미칩니다.
완전 연관 매핑을 사용하여 적중률 향상
다시 쓰기 방법
애플리케이션 프로그래머에게는 보이지 않고 시스템 프로그래머에게는 보입니다.
분류
페이지 메모리
페이지 단위
페이지 테이블
가상 주소의 상위 비트에 있는 가상 페이지 번호를 기반으로 해당 페이지 테이블 항목을 찾습니다.
빠른 테이블 TLB
연상기억으로 구성
콘텐츠 주소 지정
그룹 연관 또는 완전 연관 사용
TLB 태그
완전히 연결된 가상 페이지 번호
집합 연관 가상 페이지 번호 상위 비트
다단계 저장 시스템
TLB, 페이지, 캐시의 관계
TLB는 페이지의 부분 복사본을 저장합니다.
캐시는 주 메모리의 일부 복사본을 저장합니다.
TLB가 적중하면 페이지가 적중되어야 합니다. TLB가 누락되어도 페이지는 계속 적중될 수 있습니다. 페이지가 누락된 경우 TLB와 캐시가 모두 누락되어야 합니다.
캐시 미스는 하드웨어에 의해 수행됩니다. 페이지 누락이 소프트웨어에 의해 완료되었습니다(운영 체제 페이지 누락 예외 처리기). TLB 삭제는 하드웨어와 소프트웨어 모두에서 수행 가능
분할된 메모리
세그먼트 번호, 세그먼트 주소, 구성
세그먼트 테이블 기록: ① 세그먼트 첫 번째 주소 ② 로딩 비트 ③ 세그먼트 길이
분할된 메모리
페이지를 기본 전송 단위로 사용
① 섹션 번호 ② 섹션 내 페이지 번호 ③ 페이지 내 주소
4장 지침
명령어 세트 아키텍처 ISA
주요 내용: 명령어 형식, 데이터 유형 및 형식, 피연산자 저장 방법, 프로그램에 액세스할 수 있는 레지스터 수 및 해당 번호 저장공간 크기 및 어드레싱 모드, 어드레싱 모드, 명령어 실행 제어 모드 등
명령 형식
작업 코드 OP 주소 코드 A
명령어 길이는 바이트의 정수배입니다.
분류
제로 주소 명령
opcode 연산만 가능
작동 지침: 작동 없음, 종료, 종료 인터럽트 산술 명령어는 스택 컴퓨터에서 사용됩니다(피연산자는 스택의 맨 위와 두 번째 스택의 맨 위에서 나옵니다).
하나의 주소 명령
대상 피연산자만 있는 단일 피연산자 명령어
결과는 원래 주소에 다시 저장됩니다.
암시적으로 합의된 대상 피연산자를 포함하는 두 피연산자 명령어
암묵적 어드레싱 합의를 통해 ACC가 또 다른 피연산자를 제공하는데, 연산 결과는 ACC에 저장됩니다.
두 개의 주소 지침
대상 피연산자와 소스 피연산자를 제공하십시오.
결과는 대상 피연산자 주소에 저장됩니다.
세 가지 주소 지침
대상 피연산자, 소스 피연산자 및 결과 제공
메모리에 4회 액세스: 명령 가져오기 1회, 피연산자 가져오기 2회, 결과 저장 1회
4개의 주소 지침
op, 대상 피연산자, 소스 피연산자, 결과, 다음 주소
연산 코드는 8비트이고, 4개의 주소 코드는 각각 6비트입니다.
확장된 opcode 명령 형식
① 짧은 opcode는 긴 opcode의 앞부분과 같을 수 없습니다.
② 각 명령어의 연산코드는 반복되지 않습니다.
확장 모드
모두 1은 다음 주소 명령어 확장을 위해 예약되어 있습니다.
작업 유형
① 데이터 전송
② 산술 및 논리 연산
③ 교대조작
④ 전송작업
무조건 양도
어떤 경우에도 실행
조건부 전송
특정 조건에서 실행
호전환 지시와 통화 지시의 차이점
호출 명령어는 다음 명령어 주소(반환 주소)를 저장합니다. 전송 명령이 실행으로 돌아가지 않습니다.
⑤ 입출력 동작
프로그램 제어 지침
무조건 양도
조건부 전송
서브루틴 호출
복귀 명령
루프 지침
특권 지침
운영 체제 및 시스템 소프트웨어용
사용자는 사용할 수 없습니다.
명령어 주소 지정 모드
명령어 주소 지정
순차적 주소 지정
PC 프로그램 카운터 1, 다음 명령어 형성
주소 지정 건너뛰기
전송 지시를 통해 구현됨
현재 명령어는 PC 값을 수정하며, 다음 명령어는 여전히 PC를 통해 제공됩니다.
데이터 주소 지정
분류
암시적 주소 지정
단일 주소 명령어의 다른 피연산자는 ACC에서 파생된 암시적 주소 지정을 통해 얻을 수 있습니다.
프로그램 사양
즉각적인 주소 지정
주소 필드는 2의 보수 표현을 사용하여 피연산자 자체를 직접 제공합니다.
편리한
직접 주소 지정
EA=A
A의 비트 수는 피연산자의 주소 지정 범위를 결정합니다.
단축된 명령 길이
1 액세스
간접 주소 지정
EA = (A)
하나의 간접 주소에는 두 개의 메모리 액세스가 필요합니다.
주소 지정 범위 확장 촉진
주소 지정 등록
EA = 리
등록번호를 직접 알려주세요
실행 단계에서는 주 메모리에 액세스하지 않고 레지스터에만 액세스합니다.
주소 코드 길이가 작습니다(단축).
간접 주소 지정 등록
EA = (리)
Ri는 피연산자가 아니고 연산이 위치한 주 기억장치의 주소이다.
메모리에 접근해야 함
피연산자는 주 메모리에 있습니다.
상대 주소 지정
EA = (PC)A
A는 현재 PC 값에 대한 변위이며 보수로 표시됩니다.
송금 지시를 위해
1 액세스
기본 주소 지정
EA = (BR) A
다중 시퀀스 설계에 사용되는 BR은 기본 주소 레지스터(가시적)입니다.
1 액세스
인덱스 주소 지정
유효 주소 = 형식 주소 A 인덱스 레지스터 IX EA = (IX) A
사용자 중심
배열 문제 처리
1 액세스
스택 주소 지정
후입 선출법
기계 수준 코드 표현
조립 형식
AT&T 형식
첫 번째는 소스 피연산자, 두 번째는 대상 피연산자, 방향은 왼쪽에서 오른쪽으로 자연스러워요
레지스터에는 % 접두사가 붙고, 즉치 숫자에는 $ 접두사가 붙습니다.
메모리 주소 지정은 ()를 사용합니다.
인텔 형식
첫 번째는 대상 피연산자, 두 번째는 소스 피연산자, 방향은 오른쪽에서 왼쪽으로
레지스터와 즉치 번호는 접두사가 붙을 필요가 없습니다.
메모리 주소 지정은 [ ]를 사용합니다.
비교됨
일반적인 명령
인텔 형식
오른쪽에서 왼쪽으로 보면
데이터 전송 클래스
mov 명령
값을 다른 값으로 복사
예: mov eax, ebx ebx 값을 eax에 복사
푸시 명령
스택으로 푸시
팝 명령
팝
산술 및 논리 연산
추가/하위 명령
덧셈과 뺄셈
결과를 첫 번째 숫자에 저장
예: 하위 eax, 10 eax - 10 → eax
증분/감소 지침 (증가/감소)
자체 증가 및 자체 감소
imul 지시어 (곱셈)
기호 숫자의 곱셈
결과는 레지스터여야 하는 첫 번째 피연산자에 저장됩니다.
예: imul eax, [var] eax × [var] → eax
예: imul esi, edx, 25 25 × edx → esi
idiv 지시어 (분할)
기호 숫자의 나눗셈
피연산자는 단 하나, 즉 제수뿐입니다.
예: idiv ebx
및/또는/xor 명령어
AND, OR, XOR
결과는 첫 번째 피연산자에 배치됩니다.
예: 그리고 eax, 0 fH eax의 처음 28비트는 0이고 마지막 4비트는 변경되지 않습니다.
지시가 아닌
비트 플립
0→1, 1→0
부정적인 지시 (부정적인)
부정적인 것을 취하라
예: 부정 eax -eax→eax
shl/shr 명령 (옮기다)
왼쪽으로 논리적 시프트, 오른쪽으로 논리적 시프트
첫 번째 피연산자는 실행 개체를 나타냅니다. 두 번째 숫자는 교대 횟수를 나타냅니다.
예: shl eax, 1 eax는 논리적으로 1비트 왼쪽으로 이동합니다. shr ebx, cl ebx는 논리적으로 n 비트만큼 오른쪽으로 이동합니다(n은 cl의 값).
제어 흐름 클래스
jmp 명령
전송 지시
j조건 명령
조건부 전송 지침
cmp/테스트 명령
cmp 비교 값 크기 테스트는 피연산자에 대해 비트 AND 연산을 수행합니다.
통화/재방송 지시
서브루틴 호출 및 반환
CISC와 RISC
CISC
복잡한 명령 시스템
RISC
간소화된 명령 시스템
비교됨
5장 CPU
CPU 구조
운영자
산술논리연산장치 ALU
산술 및 논리 연산
스크래치 패드
메인 메모리에서 읽은 데이터를 임시 저장
누적 레지스터 ACC
ALU 결과 정보를 임시 저장
일반 레지스터 X
사용자가 자유롭게 프로그래밍할 수 있으며 데이터와 주소를 저장할 수 있습니다.
기계어 길이와 동일
보이는
프로그램 상태 워드 레지스터 PSW
결과의 다양한 상태 정보를 유지
보이는
시프터
피연산자 또는 연산 결과에 대해 시프트 연산을 수행합니다.
카운터 CT
곱셈과 나눗셈 연산의 단계 수를 제어합니다.
제어 장치
프로그램 카운터 PC
실행할 명령어의 주 메모리 저장 주소를 나타냅니다.
비트 수는 메모리 주소 비트 수와 동일합니다. 메모리 주소는 저장 용량에 따라 다릅니다.
보이는
명령어 레지스터 IR
현재 실행 중인 명령을 저장합니다.
명령어 길이와 동일한 길이
범용 레지스터로 대체할 수 없음
명령어 디코더
연산 코드를 디코딩
보이지 않는
메모리 주소 레지스터 MAR
주 메모리 장치의 주소를 저장합니다.
보이지 않는
메모리 데이터 레지스터 MDR
메인 메모리에 쓰거나 읽은 정보를 저장합니다.
보이지 않는
타이밍 시스템
다양한 타이밍 신호를 생성하는 데 사용됩니다.
신호 발생기
CPU 기능
컨트롤러는 컴퓨터의 각 구성 요소에서 실행되는 프로그램의 명령 순서(가져오기, 분석, 실행)를 조정하고 제어하는 역할을 담당합니다. 계산기는 데이터를 처리합니다.
① 명령어 제어, 명령어 가져오기, 분석, 실행 작업 완료
② 운전제어
③ 시간 조절
④ 데이터 처리
⑤ 인터럽트 처리
명령어 실행 과정
지시주기
명령어를 가져와서 실행하는 데 걸리는 시간
여러 기계 사이클로 표현
기계주기
고정 길이
고정되지 않은 길이
명령어 가져오기, 간접 주소, 실행, 인터럽트
가져오기 주기
PC 내용에 따라 명령 코드가 주 메모리에서 검색되어 IR에 배치됩니다.
PC는 명령어의 주소를 저장하며, 이 주소에 따라 해당 명령어를 해당 메모리 장치에서 가져와 IR에 저장합니다.
가져오는 동안 PC 1
명령어는 기계에 의해 자동으로 가져옵니다.
간접 주소주기
피연산자의 유효 주소를 가져옵니다.
명령어의 주소 코드를 MAR과 주소 버스로 보냅니다. cu는 읽기 명령을 실행하여 유효 주소를 얻고 마지막으로 이를 MDR에 저장합니다.
두 가지 액세스
실행주기
피연산자를 취하고 IR의 명령어의 opcode에 따라 ALU연산을 통해 결과를 산출한다.
인터럽트 주기
인터럽트 요청 처리
행동 계획
단일 명령주기
다중 명령 주기
파이프라인 솔루션
데이터 경로
기능
기능 구성 요소 간의 데이터 전송 경로
정보가 시작되는 위치, 정보가 통과하는 레지스터 또는 멀티플렉서, 최종적으로 전송되는 레지스터를 설명합니다.
제어 장치에 의해 제어됨
기본 구조
CPU 내부 단일 버스 모드
CPU 내부 다중 버스 모드
모든 레지스터의 입력 및 출력 포트는 여러 공통 경로에 연결됩니다.
전용 데이터 경로 접근 방식
손가락을 읽어보세요
(PC)→3월 1→R MEM(3월)→MDR (MDR)→IR
(MDR)→3월 1→R MEM(3월)→MDR (MDR)→Y (ACC) (Y)→Z (Z)→ACC
제어 장치
유선 컨트롤러
제어 장치
IR
명령어의 opcode 필드는 제어 장치에 대한 입력 신호입니다.
FR(플래그 등록)
실행 단위의 피드백 정보
타이밍
비트 생성기
기계 주기 신호 및 비트 신호 생성
제어 장치는 또한 인터럽트, DMA와 같은 시스템 버스로부터 제어 신호를 받아들입니다.
마이크로 작업
하나의 기계 사이클로 여러 마이크로 작업을 완료할 수 있습니다.
술책
(PC)→3월 1→R 남(3월)→MDR (MDR)→IR (PC) 1→PC
간접 주소
광고(IR)→3월 1→R 남(3월)→MDR
구현하다
가져오지 않음
CLA
ACC 지우기
CoM
부정
SHR
산술 오른쪽 시프트
CSL
왼쪽으로 순환
STP
일시 휴업
입장
덧셈 광고(IR)→3월 남(3월)→MDR (MDR) (ACC)→ACC STA X 매장 안내 Ad(IR)→MAR, 1→쓰기 메모리 쓰기 (ACC)→MDR (MDR)→M(3월) LDA X 가져오기 명령어 광고(IR)→3월,1→R 남(3월)→MDR (MDR)→ACC
옮기다
JMP X(무조건 전송) Ad(IR)→PC BAN X(조건부 이체)
제어 방법
동기 제어 방식
통합 시계
비동기 제어 모드
각 구성 요소는 고유한 속도로 작동합니다.
공동 제어 방법
대부분은 동기식을 사용하고 일부는 비동기식을 사용합니다.
마이크로프로그래밍된 컨트롤러
저장 논리를 사용하여 마이크로 연산 신호 코딩
기계 명령은 마이크로프로그램으로 작성되며 각 마이크로프로그램에는 여러 개의 마이크로명령어가 포함되어 있습니다. 기계 명령어는 일련의 마이크로 연산(가장 기본적이고 더 이상 나눌 수 없음)으로 분해될 수 있습니다.
일반적으로 하나의 마이크로프로그램 사이클은 하나의 명령 사이클에 해당합니다.
이는 전체 기계 제어 신호의 동기화를 보장하기 위한 것입니다.
마이크로 명령어는 제어 저장 장치에 저장됩니다.
마이크로 명령은 마이크로 연산의 제어 신호이고, 마이크로 연산은 마이크로 명령의 실행 프로세스입니다.
메인 메모리는 데이터와 프로그램을 저장하는 데 사용되며 RAM을 사용하여 CPU 외부에 구현됩니다. 제어 메모리 CM은 마이크로 프로그램을 저장하는 데 사용되며 CPU 내부의 ROM(EPROM)으로 구현되며 마이크로 명령어의 주소에 따라 액세스됩니다.
구조
작업 과정
마이크로 명령어 가져오기
마이크로 주소 형성 구성 요소는 기계 명령어의 opcode 필드에서 기계 명령어에 해당하는 마이크로프로그램 항목 주소를 생성하여 CMAR로 보냅니다.
CM에서 해당 마이크로명령어를 하나씩 가져와서 실행합니다.
마이크로프로그램 항목 주소로 돌아가서 동작을 반복합니다.
부호화
직접 통제
필드 다이렉트 인코딩 방식
마이크로명령 필드는 여러 필드로 나누어져 있으며, 상호 배타적인 마이크로 명령은 동일한 필드에 배치되고, 호환성 명령은 다른 필드에 배치됩니다.
모두 0은 작업이 없음을 의미합니다.
필드 간접 인코딩 방법
한 필드에 대한 마이크로 명령은 다른 필드에 대한 마이크로 명령으로 해석됩니다. 마이크로명령 단어 길이 단축
마이크로명령어 주소 형성 방법
판정방법
마이크로명령 아래의 주소로 제공됨
기계 명령어를 기반으로 한 Opcode 형성
증분 카운트
법에 서명하다
사이버법
하드웨어법
마이크로명령 형식
수평 마이크로 명령어
강력한 병렬 작업 기능
짧은 실행 시간
수직 마이크로 명령어
하나의 기본 작업만 병렬로 수행할 수 있습니다.
긴 실행 시간
하이브리드 마이크로 명령어
비교됨
예외 및 인터럽트
이상
CPU 내부에서 발생하는 예상치 못한 이벤트를 예외(내부 인터럽트)라고 합니다.
예: 하드웨어 오류 인터럽트(메모리 검사 오류, 버스 오류) 프로그래밍 예외(0으로 나누기, 오버플로, 중단점, 단일 단계 추적, 불법 명령, 스택 오버플로, 범위를 벗어난 주소, 페이지 오류)
내부 인터럽트는 마스크할 수 없는 인터럽트입니다.
이상 검출은 CPU 자체에서 완료됩니다.
분류
프로그래밍된 인터럽트(소프트웨어 인터럽트)
잘못
누락된 섹션
페이지 누락
필요한 세그먼트나 페이지를 디스크에서 주 메모리로 로드하고 실패한 명령어로 돌아가 실행을 계속합니다.
불법적인 opcode
제수는 0입니다.
예외 처리기를 통해 오류를 복구할 수 없으며(처리기는 여전히 호출되어야 함) 실행을 중단점으로 반환할 수 없으며 프로세스가 직접 종료됩니다.
자신을 함정에 빠뜨리다
프로그램 디버깅을 위한 중단점 설정입니다. 무조건 또는 조건부 실행을 위해 운영 체제 커널 프로그램을 자동으로 호출합니다.
종료(하드웨어 인터럽트)
컨트롤러 오류, 메모리 체크 오류 등
인터럽트 서비스 루틴을 호출하고 시스템을 다시 시작하십시오.
외부 인터럽트(하드웨어 인터럽트)
CPU에 인터럽트 요청을 보내는 CPU 외부 장치를 인터럽트(외부 인터럽트)라고 합니다.
예: IO 장치에서 발생한 IO 인터럽트(키보드 입력, 프린터 용지 부족) 특별 이벤트(사용자가 esc 키를 누르면 타이머가 시간에 도달함)
CPU는 인터럽트 요청 라인을 통해 인터럽트 소스 정보를 얻어야 합니다.
분류
마스크 가능 인터럽트(낮은 우선순위)
마스크 가능한 인터럽트 요청 라인 INTR을 통해 CPU에 인터럽트 요청을 발행하고, CPU는 인터럽트 컨트롤러에서 해당 마스크 워드를 설정하여 마스크를 마스크하거나 마스크하지 않을 수 있습니다. 마스크된 인터럽트 요청은 CPU로 전송되지 않습니다.
마스크 불가능 인터럽트(높은 우선순위)
예: 정전
마스크 불가능 전용 인터럽트 요청 라인 NMI를 통해 CPU에 인터럽트 요청 발행
대응 과정
전체 응답 프로세스는 중단될 수 없습니다.
인터럽트 끄기
인터럽트 활성화 비트 IF 플립플롭을 설정하여 해당 새 인터럽트를 비활성화합니다.
중단점 및 프로그램 상태 저장
예외 및 인터럽트 처리가 완료된 후 중단된 위치로 돌아가서 계속 실행을 할 수 있도록 하기 위함입니다.
예외와 인터럽트를 식별하고 적절한 프로그램으로 이동
식별방법
소프트웨어 식별
CPU는 예외 원인을 기록하기 위해 예외 상태 레지스터를 설정합니다. 우선순위에 따라 예외 상태 레지스터를 쿼리한 후 커널의 해당 핸들러로 이동합니다.
하드웨어 식별
벡터 인터럽트
예외 또는 인터럽트의 첫 번째 주소를 인터럽트 벡터라고 합니다. 모든 인터럽트 벡터는 인터럽트 벡터 테이블에 위치합니다. 각 인터럽트 또는 예외는 인터럽트 유형 번호에 해당합니다.
명령 파이프라인
정의
명령은 여러 단계로 나누어지며 각 단계는 해당 기능 구성 요소에 의해 완료됩니다.
필요하다
명령어 길이는 동일해야 합니다. 일반 명령 형식 로드/저장 명령어를 사용하면 다른 레지스터는 메모리에 액세스할 수 없습니다. 데이터와 명령은 메모리에 정렬됩니다.
조립 라인 모험
① 구조 모험
여러 명령어가 동시에 동일한 리소스를 놓고 경쟁합니다.
해결책 1) 후속 지시를 보류한다 2) 데이터 메모리와 명령어 메모리를 별도로 설정합니다.
② 데이터 모험
다음 명령어는 현재 명령어의 계산 결과를 사용하며 두 명령어는 데이터 충돌을 일으킵니다.
쓴 후 읽기
읽고 쓰기
쓴 후에 쓴다
해결책 1) 하나 또는 여러 사이클 동안 데이터 관련 충돌이 발생하는 명령어 및 후속 명령어를 일시 중지합니다. 2) 관련 데이터 경로를 설정하고(데이터 바이패스 기술), 작업 결과를 얻는 즉시 신속하게 레지스터로 보냅니다. 3) 지시 순서를 조정한다
③ 모험을 조종하라
이체 지시, 전화, 반품 등으로 인해 PC 값이 변경되고 흐름이 중단될 수 있습니다.
해결책 1) 전송 명령에 대한 분기 예측을 수행하고 가능한 한 빨리 전송 대상 주소를 생성합니다. 2) 두 가지 제어 흐름 방향의 프리페치 대상 명령어: 전송 성공 및 실패
파이프라인 성능 지표
파이프라인 처리량
파이프라인 속도 향상
고급 파이프라인 기술
수퍼스칼라 파이프라인
동적 다중 방출 기술
동적 파이프라인 스케줄링 기술과 결합하여 동적 분기 예측 및 기타 수단을 통해 클록 사이클당 여러 개의 독립적인 명령을 동시에 실행할 수 있습니다.
매우 긴 명령어 기술
정적 다중 방출 기술
병렬로 작동할 수 있는 여러 명령어를 여러 opcode가 포함된 하나의 매우 긴 명령어 단어로 결합합니다.
슈퍼 파이프라인 기술
기능적 세그먼트는 더 많은 부분으로 나뉩니다.
다중 프로세서
단일 명령어 스트림 단일 데이터 스트림 SISD
연속물
하나의 프로세서와 하나의 메모리
순차적 실행
단일 명령 스트림 다중 데이터 스트림 SIMD
데이터 병렬 기술
벡터 프로세서
다중 명령어 단일 데이터 스트림 MISD
존재하지 않는다
다중 명령 다중 데이터 스트림 MIMD
병렬 컴퓨팅
하드웨어 멀티스레딩
세분화된 멀티스레딩
멀티스레딩은 교대로 수행되고 교차 실행됩니다.
시간 조각 회전과 유사
대략적인 멀티스레딩
한 스레드에 큰 오버헤드가 있는 경우에만 스레드를 전환하세요.
동시 멀티스레딩
동일한 클록 주기에서 여러 다른 스레드의 여러 명령이 실행을 위해 발행됩니다.
공유 메모리 다중 프로세서 (SMP)
물리적 주소 공간을 공유하면 자신의 가상 주소 공간에서 독립적으로 프로그램을 실행할 수 있습니다.
통합 스토리지 액세스 UMA
프로세서가 공유 메모리에 연결되는 방법
균일하지 않은 스토리지 액세스 NUMA
조합논리회로와 순차논리회로
조합 논리 회로에는 통합된 클록 제어 기능이 없습니다. 순차 논리 회로는 클록 틱에서 작동해야 합니다.
조합 논리 회로에는 신호를 저장하는 메모리 셀이 없습니다. 순차 논리 회로에는 신호를 저장하는 메모리 셀이 포함되어 있습니다.
6장 버스
여러 구성요소가 시간 공유 방식으로 공유할 수 있는 공공 정보 전송 회선
시간에 보내고 동시에 받기
버스 분류
온칩 버스
칩 내부의 버스
시스템 버스
주소 버스
주 메모리 장치 주소와 IO 포트 주소를 선택하기 위해 CPU에서 사용하는 단방향 버스이며 다시 전송할 수 없습니다.
데이터 버스
데이터 정보 전송, 양방향 회선
제어 버스
I/O 버스
저속~중속 IO 장치 연결
데이터 케이블
전송 데이터 버퍼 레지스터, 명령/상태 레지스터 내용
주소 라인
CPU와 주고받는 데이터를 전송하는 포트 주소
제어선
읽기 및 쓰기 신호 보내기
통신 버스
외부 버스
컴퓨터 시스템 간 또는 컴퓨터 시스템과 다른 시스템 간에 정보를 전송하는 버스
시스템 버스 구조
단일 버스 구조
듀얼 버스 구조
메인 메모리 버스는 CPU, 메인 메모리, 채널 간에 데이터를 전송하는 데 사용됩니다. IO 버스는 외부 장치와 채널 간에 데이터를 전송하는 데 사용됩니다.
3개의 버스 구조
메인 메모리 버스 IO 버스 DMA 버스
버스 표준
ISA
산업 표준 아키텍처
에이사
확장 이사 32비트 CPU의 경우
베사
비디오 전자 표준 협회 32비트 로컬 버스
PCI
외부 장치 상호 연결
고성능 32비트 또는 64비트 버스
플러그 앤 플레이
노선버스에 속함
AGP
가속 그래픽 포트
노선버스에 속함
PCI-E
최신 버스 인터페이스 표준
연속물
PCI, AGP 교체
RS-232C
직렬 통신 버스
USB
범용 직렬 버스
PCMCIA
노트북 인터페이스
IDE
집적 장치 회로
SCSI
소형 컴퓨터 시스템 인터페이스
SATA
직렬 고급 기술
성능
버스 환승주기
여러 버스 클럭 사이클로 구성됩니다.
버스 클럭 주기
버스 운영 주파수
= 클록 주파수/N
버스 클럭 주파수
버스 클럭 주기의 역수
버스 대역폭
= 버스 작동 주파수 × (버스 폭/8)
버스 거래
묻다
중재
주소 지정
전염
해방됨
버스트 전송 (버스트 전송)
주소를 먼저 보내고 데이터를 보낸다 주소를 한 번만 전송하면 이후 데이터가 계속해서 전송됩니다.
타이밍 모드
동기 타이밍 모드
시스템은 통합 클록 신호를 사용합니다.
높은 전송 효율
신뢰성이 낮음
비동기 타이밍 모드
핸드셰이크 신호에 의한 타이밍
연동 모드 없음
반연동방식
풀 연동 방식
버스 중재 제어 (버스 중재)
중앙 집중식
체인
회로 설계
버스에 가장 가까운 장치가 가장 높은 우선순위를 갖습니다.
장비 확장이 용이함
회로 결함에 민감
장치가 사용하는 버스를 결정하려면 두 개의 와이어만 사용하십시오.
카운터 타이밍
회로 설계
0부터 계산이 시작됩니다.
고정 우선순위
끝점부터 계산이 시작됩니다.
우선순위는 동일합니다.
카운터 값은 프로그램에 의해 설정됩니다.
가변 우선순위
복잡한 제어
log2n 라인을 취하세요.
독립적인 요청
회로 설계
빠른 응답
유연한 우선순위 제어
버스 제어가 복잡함
2n개 라인을 이용하세요
분산
제어 로직은 버스에 연결된 다양한 장치에 분산되어 있습니다.
제7장 입출력
IO 시스템
IO 하드웨어
IO 장치는 장치 컨트롤러를 통해 메인보드 시스템 버스에 연결됩니다.
외부 장치
입력 장치
건반 생쥐
출력 장치
감시 장치
화면 크기
해결
그레이스케일
색상의 차이, 그레이 레벨이 높을수록 이미지가 더 사실적으로 표현됩니다.
8비트(256레벨) → 256색
새로 고치다
재생률
디스플레이 메모리
VRAM 용량 = 해상도 × 그레이스케일 비트 수 VRAM 대역폭 = 해상도 × 그레이스케일 비트 수 × 프레임 속도
인쇄기
작업방식에 따른 분류
도트 매트릭스 프린터
도트 매트릭스 프린터
잉크젯 프린터
레이저 프린터
컴퓨터에서는 한자 내부 코드가 메인 메모리의 2B를 차지한다.
상호 작용
주변 장치와 호스트 간의 데이터 전송을 조정하는 논리적 장치
입력 장치
출력 장치
외부 저장
IO 소프트웨어
운전사
사용자 프로그램
관리 프로그램
IO 제어 방식
프로그램 쿼리 방법
CPU는 프로그램을 통해 IO 장치가 준비되었는지 지속적으로 확인합니다.
CPU가 IO를 시작하면 현재 프로그램의 실행을 중지해야 합니다.
특징
CPU에서 스테핑 대기 현상이 발생합니다.
완료될 때까지 동일한 작업을 계속 반복합니다.
CPU 및 IO 직렬 작업
프로그램 인터럽트 모드
IO 장치가 준비되면 CPU에 인터럽트 요청을 발행합니다.
기능
CPU 및 IO 병렬성
하드웨어 오류, 소프트웨어 오류 처리
인간 컴퓨터 상호 작용
여러 프로그램, 시분할 작업
작업 과정
인터럽트 응답은 명령어 실행이 끝날 때 발생합니다.
중단 요청
인터럽트 응답 중재
마스크 불가능한 인터럽트 > 내부 예외 > 마스크 가능한 인터럽트
인터럽트 응답 조건
인터럽트 소스에 인터럽트 요청이 있습니다.
CPU 오픈 인터럽트
명령이 실행됩니다.
인터럽트 벡터
인터럽트 프로그램의 진입 주소
인터럽트 유형 결정
CPU는 인터럽트에 응답한 후 인터럽트 소스를 식별하여 인터럽트 유형 번호를 얻고 해당 인터럽트 벡터의 주소를 계산합니다. 그런 다음 이 주소에 따라 인터럽트 서비스 프로그램의 항목 주소를 인터럽트 벡터 테이블에서 꺼내어 PC로 전송한 후 인터럽트 서비스 프로그램이 실행됩니다.
응답 우선순위
하드웨어 대기열을 통해 완료
처리 우선순위
인터럽트 마스킹 기술을 사용하여 동적으로 조정
인터럽트 마스크 워드
인터럽트 처리 과정
다중 인터럽트
DMA 모드 직접 메모리 접근
메인 메모리와 IO 장치 사이의 직접 데이터 경로
주 메모리와 DMA 인터페이스 사이에는 직접적인 데이터 경로가 있습니다.
논리적 경로
정보 전송을 전적으로 하드웨어로 제어하는 방식
데이터 전송 중에 주 메모리 주소 결정은 하드웨어 회로에 의해 직접 완료됩니다.
메인 메모리는 주변 데이터를 실시간으로 제공하고 수신하기 위해 전용 버퍼를 열어야 합니다.
DMA는 전송 전에 프로그램에 의해 전처리가 필요하고, 전송이 완료된 후 인터럽트에 의해 후처리가 필요합니다.
DMA 응답은 버스 트랜잭션 후에 발생하며 DMA는 CPU보다 더 큰 제어권을 갖습니다.
DMA 전송 방식
1) 메모리에 대한 CPU 액세스를 중지합니다.
2) 주기적 유용
3) DMA와 CPU가 교대로 메모리에 접근한다.
DMA 전송 프로세스
1) 전처리는 CPU를 차지합니다. CPU는 필요한 준비를 완료합니다.
그 중 DMA는 사용자 프로그램에 직접 접속할 수 없으며 장치 드라이버를 중개자로 사용합니다.
2) 데이터 전송은 CPU를 점유하지 않습니다. DMA 하드웨어로 완전히 제어됨
3) 후처리는 CPU를 차지합니다. DMA 컨트롤러가 CPU에 인터럽트 요청을 보냅니다.
채널 모드
호스트가 IO 명령을 실행하면 해당 채널을 시작하고 채널 프로그램을 실행한 후 IO 작업을 완료합니다.
인터럽트, DMA 및 프로그램 제어 기능을 갖춘 IO 관리에 특별히 사용되는 보조 프로세서인 채널 프로세서
채널 프로그램은 주 메모리에 있고 채널에 의해 실행되며 채널이 있는 IO 시스템에서만 실행될 수 있습니다.
가장 효율적
IO 인터페이스 (IO 컨트롤러)
기능
주소 디코딩, 장치 선택
호스트와 주변기기 간의 통신
데이터 버퍼
신호 형식 변환
제어 명령 및 상태 정보 전송
기본 구조
IO 인터페이스는 호스트 측의 IO 버스를 통해 메모리와 CPU에 연결됩니다.
포트는 인터페이스 회로에서 읽고 쓰는 데 사용되는 레지스터입니다. 여러 포트와 제어 로직이 함께 인터페이스를 형성합니다.
IO 명령어는 운영 체제 커널의 기본 IO 소프트웨어에서 사용되는 특권 명령어입니다.
유형
데이터 전송 방식으로 구분
연속물
평행한
제어방식에 따라 구분
프로그램 인터페이스
인터럽트 인터페이스
DMA 인터페이스
기능별로 구분
프로그래밍 가능
프로그래밍할 수 없음
IO 포트
인터페이스 회로에서 CPU가 직접 액세스하는 메모리
어드레싱
통합 주소 지정
메모리 매핑
주소 코드로 구별
IO 포트를 주소 할당을 위한 저장 장치로 취급
통합 메모리 액세스 지침을 사용하여 IO 포트에 액세스
독립적인 주소 지정
IO 매핑 방법
액세스할 특수 IO 명령어를 설정하세요.
명령어를 실행할 때 CPU는 주소 라인을 사용하여 IO 포트를 선택합니다. 데이터 라인을 사용하여 CPU 레지스터와 IO 포트 간에 데이터 전송