컴퓨터 시스템 구조 노트 제3장
4708 단어 컴퓨터 이론
메모리 성능을 향상시키는 세 가지 방법: 시간 중첩, 자원 중복, 자원 공유
일반적으로 앞의 두 가지를 사용하는데 그것이 바로 시간 중첩, 자원 중복이다.
단일 단어: 하나의 메모리가 한 번에 한 글자를 레지스터 프로세스로 읽습니다: 주소 레지스터 - (포지셔닝) > 메모리 - (W 비트 읽기) - 레지스터 단일 메모리 한 번에 여러 글자를 읽습니다. 레지스터 프로세스: 주소 레지스터 - (포지셔닝) > 메모리 - (여러 개의 W 비트를 읽고 필요한 것을 선택)- 단일 문자 레지스터 다중 문자 교차 레지스터(병렬 레지스터 구조): 예를 들어 레지스터 1 레지스터 2 레지스터 3 1 2 3 3 4 5 6 7 8 10 CPU 선발 신호 레지스터 1 (주소 레지스터) 재발신 신호 레지스터 2 재발신 레지스터 3 [주]: (시간 간격과 레지스터 1 회 수용 결과 시간을 초과할 수 없음)레지스터가 받은 결과: 1, 2, 3(이때 메모리 1이 신호를 재발신함으로 추정) 4, 5, 6(이때 메모리 1이 신호를 재발신함으로 추정) 7, 8, 9(이때 메모리 1이 신호를 재발신함으로 추정함) 10
3.2 시스템 중단 서비스 프로그램: ISR 대략적인 실행 프로세스:
인터럽트 서비스/프로세서 ISR void ISRname(void)interrupt [using name] 함수 유형 - 매개 변수 없음, 반환 값 없음//인터럽트가 언제 발생할지 모르기 때문에 인터럽트 없음, 반환 값 없음, 전역 변수로 값을 부여하거나 인터럽트 ISRname - 인터럽트 서비스 함수 이름을 변경할 수 있습니다. 사용자 정의interrupt-n은 인터럽트 번호입니다.인터럽트 벡터를 나타냅니다. 예를 들어 타이머 0에서 서비스 함수를 인터럽트하는 경우void time0ISR(void)interrupt 1 {tnosTimeTick()}
인터럽트 벡터: CPU 응답이 끊겼을 때 특정한 주소로 이동해서 인터럽트 서비스 프로그램을 시작합니다. 이 주소가 인터럽트 벡터입니다. (인터럽트 벡터 테이블에 저장됩니다)
몇 가지 중단의 기본 개념: 중단 소스: 중단을 일으키는 이벤트 5가지: 1) 기계 고장 중단 2)'이상'(소프트웨어 중단) 하나는 프로그램 오류이고, 다른 하나는 특수 연산 결과 발생3) 입력-출력 장치 중단 4) 외부 중단은 컨트롤러의 중단 스위치, 타이머, 타이머, 시계 등 다른 장치로부터 온다. 이런 중단 처리는 비교적 간단하다.실시간성 강5) 관리 프로그램을 호출하고 사용자가 전용 지령을 이용하여 중단 요청을 실현한다. 중단 원본은 중단 시스템에 중단 서비스를 보내는 요청 중단 응답: 메인 프로그램을 중단하고 중단 프로그램을 실행한다. 이 과정은 중단 응답 중단이 된다. 기본 중단 프로그램은 닫힌다.능은 그를 유효(켜기) 인터럽트 차단: 사용하지 않는 인터럽트 프로그램 끄기 인터럽트 우선 순위: 요청의 긴박도에 따라 우선 실행 우선 순위가 높은 인터럽트 플러그인: 낮은 우선순위 인터럽트 처리 중 높은 우선순위 인터럽트 요청이 유효하다
폴링 통신 흐름도(인터럽트 대신 사용 가능) 요청 서비스: 작업 4를 처리하는 외곽 부품 요청 서비스
단점: 요청이 있을 때만 서비스를 제공할 수 있습니다. 시간이 확실하지 않습니다. 때로는 반응이 빠르고 때로는 느려서 응답 시간이 불안정하고 실시간성이 강하지 않습니다.
시스템 인터럽트 하드웨어 분배: 인터럽트 요청은 하드웨어에서 인터럽트 프로그램 소프트웨어로
버스 시스템: 버스 시스템(Bus): 하나의 신호선의 집합으로 각 인선의 신호, 전기, 기계적 특성을 정의한다. 컴퓨터 시스템의 내부 각 부품과 부외 각 시스템 간에 연락을 맺고 데이터 전달과 통신을 한다. [주:] 같은 시간에 하나의 신호원(모듈과 장치)만 정보를 발송할 수 있다.다중 모듈 전송 정보는 시간제 조작을 채택한다
버스 분류 1: 전달된 내용에 따라 (4가지 유형) 데이터 버스: 양방향, 8개(바이트), 16개(글자), 32개(두 글자) 주소 버스: 단방향, CPU에서 발송, 지정된 정보원이나 목적지의 주소는 20개(8086), 24개(80286), 32개 제어 버스: 단일 양방향 모두, 제어 읽기, 쓰기, 데이터 전송, 연락,버스 판결과 인터럽트 제어 등 기능(때로는 상태 정보도 읽을 수 있음) 전원 버스: 전력 공급 버스 분류 2: (3종류) 시스템 구조에서의 차원 위치에 따라 조각 내 버스: 집적 회로 내부,각 기능 단원을 연결하는 정보 통로 내부 버스: 컴퓨터 내부 외부 버스: 컴퓨터 간 또는 컴퓨터와 기타 장치 간
버스 제어 방식: 집중식 제어 분포식 버스 제어 동기화 버스 비동기 버스: 반드시 악수 프로토콜을 사용해야 한다
I/O 시스템 소프트웨어 계층 구조
버스 성능 지표: 버스 주파수: MHz(회/초) 버스 비트 비트 버스 대역폭: 버스 전송률 MB/S
버스 대역폭 = 버스 비트 와이드 버스 주파수 Mb/S 버스 대역폭 = 1/8 버스 비트 와이드 버스 주파수 MB/S
입출력 시스템 입출력 장치(컴퓨터 관리 시스템의 모든 외부 장치를 제외): 1.저장 장치: 플로피, 하드디스크, 시디, 테이프 등2.2. I/O 장치: 투영, 키보드, 마우스, 모니터, 프린터 등
I/O 디바이스에 대한 CPU 주소 지정에는 다음 두 가지 방법이 있습니다. 1.스토리지 매핑 I/O(Unified Address): 기본 메모리에 주소를 할당합니다. 2.I/O 장치에 대한 별도의 주소 지정: 특수 명령을 통해 주변 장치에 액세스
CPU가 외부 장치와 입출력하는 방식 1.프로그램 폴링 2.인터럽트 응용: 중저속 일부 장치 적용3.DMA(Direct memory access): 직접 읽기, 액세스(Data 전송을 제외하고는 모두 cpu가 관여해야 함) 4.채널: 채널은 특수한 프로세서로 자신의 지령과 프로그램을 가지고 데이터를 직접 전송한다(처리 데이터는 CPU가 관여할 필요가 없다)
:1) CPU I/O ,
2) : , , 。
3) : , ,
4)
5) : ,
6) : : CPU
7) ,
8) : : , ;
정보 전송 방식에 따라 통로를 세 가지 유형으로 나눈다.바이트 다중 채널: 여러 대의 저속 또는 중속을 위한 외부 서비스(교차하는 방식은 여러 장치로 나누어 번갈아 서비스한다).채널 선택: 여러 대의 고속 외곽 장치에 서비스를 제공한다. (여러 채널이 걸려 있지만 한 번에 한 장치에만 서비스를 제공한다).수조 다중 채널: 고속 장치에 적용 (장치마다 한 개의 수조만 전송하는 것으로 추정됨)
채널 삼복률 또는 채널 데이터 전송 속도 등: 단위 시간 내에 전송할 수 있는 데이터 양 단위: Bps(바이트/초) 채널 최대 유량: 한 채널이 만부하 상태에서 초당 전송할 수 있는 최대 유량
채널 데이터 분석: 파라미터 정의 Ts: 장치 선택 시간(준비 시간) Td: 한 바이트를 전송하는 데 걸리는 시간 p: 한 채널에 연결된 장치 대수, 그리고 이 장치들이 동시에 작업하고 있습니다.n: 장치마다 전송해야 하는 바이트 수, 여기에 장치마다 전송 바이트 수가 똑같다고 가정합니다.그룹 다중 채널 전송 하나의 데이터 블록에 포함된 바이트 수 T: 채널이 모든 데이터 전송 작업을 완성하는 데 필요한 시간 채널 데이터 분석: 바이트 다중 채널 데이터 전송 과정: (전송을 준비하고 다른 장치를 전송할 준비를 한다...) (매번 한 바이트만 전송한다)Ts 준비 시간, Td가 한 바이트를 전송하는 시간
총 소요 시간:
최대 트래픽:
실제 데이터는 이 채널에 연결된 모든 장치의 데이터 전송률://fi 제i대 장치의 실제 데이터 전송률
채널 트래픽 분석: 채널 데이터 전송 프로세스 선택:
총 소요 시간:
최대 트래픽:
실제 데이터는 이 채널에 연결된 최대 설비 데이터 전송률://fi 제i대 설비의 실제 데이터 전송률이고 j는 채널 번호이다.
채널 트래픽 분석: 배열의 다중 채널 데이터 전송 프로세스:
총 소요 시간:
최대 트래픽:
채널 유량 종합 분석: (극한 유량과 실제 유량)