스마트폰과 PC를 설정하는 방법. 정보 포털
  • 오류
  • 소프트웨어에 의한 컴퓨터 구성 결정. 상대 구성 및 관심 있는 기타 작업 결정

소프트웨어에 의한 컴퓨터 구성 결정. 상대 구성 및 관심 있는 기타 작업 결정

구성 NS 구성(late lat.configuratio에서 - 모양, 위치)

외모, 모양, 이미지; 개체의 상호 배열; 복잡한 물체의 구성 부분의 비율.

II 구성

분자, 입체화학(입체화학 참조)은 비대칭 원자에서 원자 또는 원자 그룹의 공간적 배열을 특성화합니다(비대칭 원자 참조). , 비대칭적으로 치환된 이중 결합(이중 결합 참조)에서, 작은(강성) 주기에서, 복합체의 중심 원자에서. 분자 구성 간의 차이는 기하학적 및 광학적(이성질 참조)의 두 가지 안정적인 입체 이성질체의 존재를 결정합니다. K를 결정할 때 화학적, 특히 물리적 연구 방법이 널리 사용됩니다. 따라서 특수한 X선 방법을 사용하여 예를 들어 타르타르산 분자에서 비대칭 C 원자(별표로 표시)에서 치환기의 공간적 배열을 증명할 수 있었습니다(타르타르산 참조) . - 우회전(I) 및 좌회전(II):

분자의 내성은 구조가 변해도 변하지 않습니다(구조 참조). , 즉, 서로에 대한 분자의 개별 부분의 단순 결합 주위를 회전할 때입니다. 때때로(예를 들어, 물리 화학 및 고분자 화합물의 화학에서) 용어 "K." 분자의 완전한 공간 모델을 의미하는 더 광범위하게 이해됩니다.

VM 포타포프


위대한 소비에트 백과사전. - M .: 소비에트 백과 사전. 1969-1978 .

동의어:

다른 사전에 "구성"이 무엇인지 확인하십시오.

    - (lat.configurare, cum with 및 figura 이미지에서). 1) 이미지, 보기. 2) 서로에 대한 행성의 위치. 3) 알려진 별자리에 대한 별의 위치. 4) 국가의 구성, 국경의 윤곽. 에 포함된 외국어 사전 .... ... 러시아어 외국어 사전

    구성: Wiktionary에는 "구성"이라는 기사가 있습니다. 구성(천문학) ... Wikipedia

    센티미터 … 동의어 사전

    구성- 그리고, w. 구성 f., ger. 구성 위도. 구성 유사성. 1.아스터즈. 행성의 상대적 위치. 슬. 18. 하늘과 별 사이의 거리, 그들 사이의 거리, 구성, 수렴과 발산에서 모든 차이가 발생합니다. ... ... 러시아어 Gallicisms의 역사 사전

    구성- 장치의 작동을 결정하는 매개변수 값 세트. [의도] 구성 - 구성(ITIL 서비스 전환) 그룹을 설명하는 데 사용되는 일반 용어 ... ... 기술 번역가 가이드

    구성, 구성, 여성. (lat.configuratio 이미지) (책). 보기, 개요, 이미지. || 일부 개체의 상호 배열, 일부 개체의 비율. 하늘에 별의 구성입니다. Ushakov의 설명 사전. NS. ... ... Ushakov의 설명 사전

    - (후기 위도 구성에서 배열 형성), 모양, 윤곽; 개체의 상호 배열 ... 큰 백과사전

    구성, 그리고 아내. (전문가.). 외부 개요 및 개체 또는 해당 부분의 상대적 위치. 케이 제품. | 조정 구성, 오, 오. Ozhegov의 설명 사전. 시. Ozhegov, N.Yu. 슈베도바. 1949년 1992년 ... Ozhegov의 설명 사전

    여자 외부 보기, 개요, 개요, 이미지. Dahl의 설명 사전. 에서 그리고. 달. 1863년 1866년 ... Dahl의 설명 사전

    -(후기 라틴어 coniguratio 모양, 위치에서) 날개, 착륙 장치, 외부 서스펜션 및 외부 윤곽을 결정하는 항공기의 기타 부품 및 어셈블리 요소의 위치 조합. 비행 단계에 따라 .... 기술 백과사전

    - (lat.configuratio 형식, 스타일에서) eng. 구성; 독일 사람 구성. 1. 외부 윤곽, 상대 위치 L. 물체 또는 그 일부. 2. 게슈탈트 심리학자와 상호 의존적인 요소로 구성된 샘플에서 공부할 때 ... ... 사회학 백과사전

서적

  • SAP ERP "회계 및 보고" 통합. 구성 및 디자인, Naem Arif, Sheikh Mohammed Tauseef. 이 책을 통해 모든 구성 요소가 원활하게 통합되도록 하여 SAP 구현 투자에 대한 수익을 극대화하는 방법을 배우게 됩니다. 그것은 기능을 설명합니다 ...

소개.

이 기사에서는 다양한 장치의 매개 변수를 찾고 결정하는 문제를 고려할 것입니다.

프로그래머가 "컴퓨터에 얼마나 많은 RAM이 있는지 확인하는 방법"과 같은 질문이 있을 때

하지만 예를 들어 자체 OS를 개발하는 경우와 같이 서비스를 사용할 수 없다면 어떻게 될까요? (물론 비현실적으로 들리겠지만 그래도 매니아들은 항상 있었고, 자신만의 OS를 작성하지 않는다면 적어도 이미 작성된 OS는 어떻게 하는지 알아내면 재미있을 것 같아요.

이 문서는 전체 하드웨어 수준에서 설치된 장비를 확인하는 방법에 대한 질문에 답하기 위한 것입니다.

정확히 무엇을 정의할지 즉시 결정합시다.

  1. 프로세서(주파수, 제조업체, 기능)
  2. RAM(볼륨)
  3. HDD(볼륨).
  4. PCI 장치(제조업체, 모델)

1) CPU .

기존 인텔 호환 프로세서를 결정하는 것은 3가지 주요 단계로 구성됩니다.

  1. CPUID 명령에 대한 지원을 확인합니다.
  2. 지원되는 경우 나머지 매개변수를 정의하십시오.
  3. 클록 주파수 결정.

프로세서는 5세대(Pentium) 및 이후 486 모델부터 시작하여 CPUID 명령(인텔 및 AMD 모두)을 지원합니다(TASM이 CPUID를 사용할 때 "정확하게 이해"하려면 버전 5.0 이상이어야 함).

지원되지 않는 경우 문서화되지 않은 방법으로만 프로세서의 제조업체 및 기타 매개변수를 결정할 수 있습니다.

CPUID를 지원하지 않는 프로세서(80386, 80486, 80286 이하와 같은 구형 프로세서, 고려하는 것은 의미가 없다고 생각합니다)의 차이점을 살펴보겠습니다.

간단합니다. EFLAGS의 비트 18을 사용할 수 있는 경우 POPF - 386 명령으로 변경할 수 없는 경우 프로세서는 486 이상입니다.

동일한 EFLAGS에서 프로그래밍 방식으로 변경할 수 있는 경우 ID(21) 비트를 변경해야 합니다. 프로세서는 CPUID 명령을 지원합니다.

CPUID에는 EAX 레지스터에 지정된 매개변수가 있습니다.

일반적으로 EAX = 0인 CPUID 호출에 대한 응답으로 프로세서는 EBX의 일부 제조업체 식별자 문자열을 반환합니다. ECX: EDX.

Intel은 GenuineIntel, AMD는 AuthenticAMD, Cyrix는 CyrixInstead입니다.

(모든 문자열은 12자(4바이트 레지스터 3개)입니다.)

EAX = 1로 CPUID가 호출되면 프로세서의 유형, 모델 및 스테핑(한 모델 내 변경)에 대한 정보가 EAX 레지스터에 반환됩니다.

이 값은 특수 테이블에 따라 해독됩니다.

EAX - 스테핑
EAX - 모델
EAX - 가족
EAX - 유형
EAX - 예약(예약)
EAX - 확장 모델(펜티엄 4만 해당)
EAX - 확장 제품군(Pentium 4만 해당)
EAX - 예약(예약)
EBX - 브랜드 인덱스
EBX - CLFLUSH 명령어(펜티엄 4)로 지워진 라인의 길이
EBX - 예약
EBX는 프로세서 APIC 식별자입니다.
ECX - 0

EDX에는 다양한 아키텍처 확장에 대한 정보가 포함되어 있습니다(특정 비트가 1인 경우 확장이 지원됨). 아래는 기사에 첨부된 프로그램을 독립적으로 확장할 수 있는 표입니다.

조금 설명
0 보조 프로세서 존재
1 V86 모드용 확장, EFLAGS에 VIP 및 VIF 플래그 존재
2 디버그 확장(포트 액세스 시 중지)
3 페이지 크기를 최대 4MB까지 확장 가능
4 실시간 스탬프 카운터(및 RDTSC 명령어)
5 Pentium 스타일 모델별 레지스터 지원
6 물리적 주소를 36비트로 확장
7 기계 검사 예외 지원
8 CMPXCHG8B 명령
9 APIC의 가용성
10 예약 된
11 SYSENTER 및 SYSEXIT 명령어 지원(AMD용 - SYSCALL 및 SYSRET)
12 캐싱 제어 레지스터(MTRR)
13 페이지 디렉토리 항목에서 전역성 비트 지원
14 기계 제어 아키텍처 지원
15 CMOVxx 조건부 전달 명령어 지원
16 페이지 속성 지원
17 페이지 주소 지정에 PSE-36 모드 사용 가능성
18 CPU 일련 번호 지원
19 CLFLUSH 명령어 지원
20 예약 된
21 디버그 탐색 기록 기록 지원
22 AMD용 ACPI(동기화 주파수 제어) - "독점" MMX
23 지원 MMX
24 FPU 컨텍스트 저장/복원 지침 지원
25 SSE
26 SSE2
27 셀프 스눕
28 예약 된
29 과열 시 자동 성능 저하
30 고급 지침 AMD 3Dnow!
31 AMD 3D나우!

EAX = 2로 CPUID가 호출되면(이 기능은 Pentium II 이후에 나타났으며 AMD 프로세서에서는 사용할 수 없음) 캐시의 기능을 설명하는 EAX, EBX, ECX, EDX 레지스터에서 소위 "설명자"가 반환됩니다. 및 TLB 버퍼. 또한 AL에는 완전한 정보를 얻기 위해 CPUID(EAX = 2)를 순차적으로 실행해야 하는 횟수를 나타내는 숫자가 포함되어 있습니다. 디스크립터는 다음 원칙에 따라 구축됩니다. 비트를 테스트할 필요가 없습니다. 특정 바이트가 레지스터에 있으면 해석해야 합니다. 실제로 그들은 일반적으로 EDX와 같이 먼저 DL에 있는 내용을 보고 내용을 해석한 다음 SHR EDX, 8을 수행하고 DL을 다시 보는 등의 작업을 수행합니다. 비트 31은 1과 같으면 레지스터 정보의 신뢰성을 나타내는 표시입니다. 레지스터의 내용은 유효합니다. EAX = 2로 CPUID 명령을 실행하기 전에 먼저 현재 프로세서가 이를 지원하는지 확인해야 합니다.

펜티엄 III 프로세서의 행복한 소유자(그들만)는 EAX = 3인 CPUID를 사용하여 프로세서의 일련 번호(이전에 프로세서에 의해 BIOS에서 메시지를 활성화했으며 기본적으로 비활성화되어 있음)를 확인할 수 있습니다.

숫자의 하위 64비트는 EDX: ECX 레지스터로 반환되지만 EAX에서 CPUID(EAX = 1)로 반환되는 것은 고유한 96비트 프로세서 식별자를 구성합니다. 많은 이야기).

또한 AMD 프로세서는 EAX = 80000005h 및 80000006h 기능을 호출할 수 있는 기능이 있으며 TLB 및 캐시 요소의 연관성과 같은 정보를 보고하지만 지금은 그러한 정글을 탐구하지 않을 것입니다.

AMD 프로세서(K5부터 시작) 및 Pentium4에는 일부 48자 문자열(CPUID(0)에 의한 문자열이 아님)을 보고하는 기능이 있으며 이러한 기능은 80000000h 이상의 기능 번호를 사용하여 활성화됩니다.

CPUID 명령은 모든 프로세서 모드와 권한 수준에서 사용할 수 있습니다.

설명서에는 CPUID 명령 사용 전용 소스 코드가 함께 제공되며 프로그램은 MMX, SSE, SSE2에 대한 지원을 결정합니다. 거기에는 EAX = 0 및 EAX = 1인 경우만 사용됩니다. 그 이유는 간단합니다. EAX = 2부터 시작하여 Intel과 AMD 간에 매우 큰 불일치가 시작되며 Intel( AMD도 마찬가지입니다.) 두 경우 모두를 제공한다는 것은 프로그램을 복잡하게 만들고 다른 프로세서에서 테스트하는 데 문제가 있다는 것을 의미합니다.

프로세서의 주파수는 여러 가지 방법으로 결정할 수 있습니다. 예전에는 사이클 시간이 측정되었지만 이 방법은 매우 정확하지 않으며 모든 프로세서에 적용할 수 없습니다.

Pentium 이후로 클럭 카운터가 아키텍처에 도입되었습니다(일반적으로 Intel은 이를 그렇게 부르지 않으며 앞으로 클럭 사이클을 계산하지 않을 수 있다고 주장하지만 카운터가 단조롭게 증가할 것이라는 보장만 있음). 이 특정 카운터를 사용하여 프로세서 주파수를 결정합니다. 우선, 자신에 대해 조금 알아보겠습니다. 클럭 카운터는 64비트의 용량을 가지며 RESET # 신호에서 시작하는 각 프로세서 클럭에 따라 1씩 증가합니다. HLT 명령이 실행될 때(사실, 이 명령이 실행되면 프로세서는 전혀 정지하지 않고 계속해서 NOP 명령만 실행하며, 이는 차례로 위장된 명령 XCHG AX, AX(NOP opcode는 10010000b, XCHG AX opcode, reg는 10010reg이며, AX를 사용할 때 (000) 레지스터는 10010000b를 제공합니다. 사실 NOP - XCHG EAX, EAX의 32비트 아날로그가 있다는 것은 흥미롭습니다. 프로세서는 코드 시퀀스 66h, 90h에 정상적으로 반응합니다. 응용 프로그램에 대해 클록 카운터 읽기를 비활성화할 수 있습니다. (CPL = 3) CR4에서 1비트 TSD를 설정하여(win에서는 읽기가 비활성화됨) RDTSC 명령어(컴파일러에서 맹세함 - db 0fh, 031h) EDX: EAX 레지스터에는 현재 카운터 값이 포함됩니다. RDTSC를 사용한 주파수 측정은 다음과 같습니다. 다음과 같습니다.

  1. 타이머 인터럽트를 제외한 모든 인터럽트는 마스크됩니다.
  2. HLT에서 만들었습니다.
  3. 카운터 값을 읽고 저장합니다.
  4. 다시 HLT.
  5. 카운터 값을 읽습니다.
  6. 포인트 3과 5에서 읽은 값의 차이는 타이머 1틱당 클록 사이클 수입니다(타이머 중단 빈도는 약 18.2Hz).

언뜻보기에는 아무것도 명확하지 않습니다. 타이밍 다이어그램을 살펴보겠습니다.

프로그램이 시작되는 순간을 t0으로 지정하고 축의 대시는 타이머 인터럽트가 발생하는 순간입니다. 목록의 첫 번째 HLT는 프로그램이 언제든지 시작할 수 있으므로 미리 알 수 없는 시간 t1을 극복하기 위해 필요합니다. 그런 다음 t1과 t2 사이의 순간에 카운터 값을 읽고 저장하고 HLT를 다시 수행하면 프로세서는 첫 번째 인터럽트, 즉 주기와 동일한 거의 정확히 주기 t2까지 유휴 상태가 됩니다. 타이머 인터럽트의. 따라서 18.2Hz의 알려진 타이머 기간 값과 이 기간 동안의 클럭 주기 수를 사용하여 정확한 클럭 주파수를 찾을 수 있습니다.

Mov al, 0FEh; out 21h 타이머를 제외한 모든 인터럽트 마스크, al hlt rdtsc mov esi, eax hlt rdtsc sub eax, esi; EAX에서 - 타이머의 1틱당 프로세서 사이클 수 ...... ..; 변환 메가헤르츠로 변환하고 mov al, 0 out 21h, al

2)

이제 RAM에 대해 이야기합시다.

볼륨을 결정하는 이미 고전적인 방법은 다음 원칙입니다.

물리적으로 존재하지 않는 주소에 무언가를 쓴 다음 같은 주소에서 무언가를 읽으면, 쓴 값과 읽은 값이 자연스럽게 일치하지 않습니다(99, (9)%의 경우 0을 읽음). 알고리즘 자체는 다음과 같습니다.

  1. 카운터를 초기화합니다.
  2. 주소 [카운터]의 레지스터에 있는 메모리의 값을 저장합니다.
  3. 테스트 값을 메모리에 기록합니다(이 경우에는 AAh가 됩니다).
  4. 메모리에서 읽습니다.
  5. 이 주소에서 이전 값을 복원합니다.
  6. 쓰여진 값과 읽은 값 비교
  7. 같으면 - 카운터 = 카운터 + 1, 그렇지 않으면 - 루프를 종료합니다.
  8. JMP 단락 2

언뜻보기에는 모든 것이 매우 간단하지만 위의 알고리즘을 실제로 구현하면 많은 문제가 발생합니다. 첫째, 메모리를 계산하는 프로그램 자체가 바로 이 메모리에 있고 조만간 테스트 값으로 자체를 덮어씁니다. 이 뉘앙스는 일반적으로 다음과 같이 해결됩니다.

프로그램은 첫 번째 메가바이트 내에서 리얼 모드로 실행되는 반면, 메가바이트 이상의 주소에서 카운팅이 시작됩니다.

이 방법은 또 다른 문제를 야기합니다. 리얼 모드에서는 이 1MB만 직접 사용할 수 있습니다. 이 문제는 빅 리얼 모드라고도 하는 "언리얼" 모드를 사용하여 해결됩니다.

"비현실적" 모드가 무엇인지 아는 사람은 이 단락을 건너뛸 수 있고, 모르는 사람은 들을 준비를 합니다%)

프로세서에서 알 수 있듯이 각 세그먼트 레지스터에는 세그먼트 설명자가 보호 모드에서 캐시되는 숨겨진 부분이나 그림자 부분이 있으며 프로그래머에게는 보이지 않습니다. 보호 모드에서 이러한 부분은 세그먼트 레지스터에 새 값이 로드될 때마다 업데이트되고 리얼 모드에서는 세그먼트의 기본 주소 필드만 업데이트됩니다. 보호 모드에서 4GB 제한이 있는 세그먼트를 생성하고 이러한 선택기를 세그먼트 레지스터에 로드한 다음 리얼 모드로 전환하고 Intel 권장 사항을 따르지 않고 제한을 4GB로 유지하면 세그먼트 제한 값이 유지됩니다. 32비트 오프셋을 사용할 수 있습니다. 언리얼 모드로 전환하는 알고리즘:

  1. 밑이 0인 기술자 생성
  2. 세그먼트 제한을 4GB로 설정
  3. 보호 모드로 전환
  4. 세그먼트 선택기를 세그먼트 레지스터에 로드
  5. 리얼 모드로 전환

이 단계 후에 다음을 수행할 수 있습니다. 리얼 모드 다음과 같은 구성을 사용하십시오.

мov 도끼, 단어 ptr fs:

EDX는 보호 예외를 일으키지 않고 0에서 4GB까지 다양할 수 있습니다("실제" 리얼 모드에서 64Kb를 초과하면 GP # 예외가 발생함). 사실 EDX는 FS = 0의 세그먼트 기준이므로 대상 주소입니다.

보호 모드에서 페이지 주소 지정이 활성화되면 이 방법으로 메모리를 계산하는 것은 쓸모가 없습니다. 메인 메모리 외에도 하드 드라이브의 페이징 파일도 고려되기 때문에 앞으로 항상 값을 얻을 수 있기 때문입니다. 약 4GB(OS에 따라 다름).

여기에 한 가지 더 미묘한 점이 있습니다. M. Hooke와 V. Yurov의 책에는 다른 레지스터가 자주 다시 로드되고 프로세서가 64Kb를 재설정한다고 주장하기 때문에 FS 또는 GS를 "비현실적인" 세그먼트 레지스터로 사용해야 한다고 기록되어 있습니다. 리얼 모드에서 세그먼트 레지스터를 다시 시작한 후 제한 ... 실제로는 전혀 그렇지 않습니다. 프로세서는 리얼 모드에서 한계 필드를 건드리지 않습니다.

추가 문제(가능한)를 피하기 위해 FS 레지스터를 예로 들어 설명하겠습니다.

우리는 중요한 것, 즉 RAM에서 약간 벗어납니다.

연산:

  1. "언리얼 모드" 설치
  2. 오픈 시니어 주소 라인(GateA20)
  3. 카운터를 1048576(1Mb)으로 설정
  4. 쓰기-읽기 주기
  5. 카운터 값 인쇄
  6. 밸브 A20 닫기
  7. 산출

목록 예:

586P DESCRIPTOR STRUC, 세그먼트 설명자 구조, 보호 모드 제한 dw 0 base_1 dw 0 base_2 db 0 attr db 0 lim_atr db 0 base_3 db 0 ENDS GDT 세그먼트 use16, GDT 테이블 비어 있음 dq 0 _code 설명자<0,0,0,0,0,0>; 프로그램 코드 세그먼트에 대한 설명자 _temp 설명자<0,0,0,0,0,0>; "Unreal" GDT 설명자는 데이터 세그먼트 use16 gdtr df 0을 종료합니다. GDTR 레지스터 문자열 db "메모리 사용 가능:"의 필드, 20 dup(0) 데이터는 stck 세그먼트 스택 use16을 종료합니다. 스택 db 256 dup(0) stck는 코드 세그먼트 사용16을 종료합니다. 가정 cs: code, ss: stck, ds: gdt start:; 진입점 mov ax, gdt mov ds, ax mov _code.limit, 65535; 코드 세그먼트 제한 64Kb mov eax, code; 물리적 주소를 가져오고 기본 shl을 로드합니다. eax, 4 mov _code.base_1, ax shr eax, 8 mov _code.base_2, ah mov _code.attr, 09Ah; 속성 - 코드 세그먼트 mov _temp.limit, 65535; 제한을 최대값으로 설정 mov _temp.attr, 092h ; 속성 - 세그먼트 데이터, 읽기/쓰기 액세스 mov _temp.lim_atr, 08Fh; 한계의 최상위 비트 설정 및 G 비트 가정 ds: data; GDT 테이블의 물리적 주소 가져오기 mov ax, 데이터 mov ds, ax mov eax, gdt shl eax, 4 mov dword ptr, eax; GDT 테이블의 한계 및 주소 로드 mov word ptr gdtr, 23 cli; 인터럽트 비활성화 mov al, 80h; NMI 비활성화 mov dx, 70h out dx, al lgdt gdtr ; GDTR mov eax, cr0 로드 ; 보호 모드로 전환 inc al mov cr0, eax db 0EAh; 선택기로 CS를 로드하기 위한 Far JMP dw offset protect dw 08h 보호: mov ax, 10h; 보호 모드에서 FS 로드 mov fs, ax mov eax, cr0; 돌아가기 리얼 모드로 dec al mov cr0, eax db 0EAh dw 오프셋 실제 dw 코드 real:; Open GateA20 gate mov dx, 92h in al, dx 또는 al, 2 out dx, al mov ecx, 1048576, 초기 카운터 값 - 1 메가바이트 mov al, 0AAh; 테스트 값 개수: mov dl, byte ptr fs:; 이전 값을 주소에 저장 mov byte ptr fs:, al; 거기에 테스트 값 쓰기 mov al, byte ptr fs:; 동일한 주소에서 읽기 mov byte ptr fs:, dl ; 이전 값 cmp al, 0AAh 복원; 당신이 기록한 것을 읽으셨습니까? jnz exit, No - 그러한 주소는 ecx에 물리적으로 존재하지 않습니다. Yes - 카운터를 늘리고 다시 반복합니다. al, dx 및 al에서 게이트 A20을 닫고 dx, al mov ax, cx에서 0FDh, 숫자를 문자열로 변환하는 절차에는 shr ecx, 16이 필요합니다. 값이 DX에 있으려면 AX mov dx, cx, 변환 DX: AX = ECX push ds pop es lea di, string add di, 18; 문자열 "사용 가능한 메모리" 호출 DwordToStr 건너뛰기, 문자로 변환 mov ah, 9 mov dx, 오프셋 문자열, 출력 int 21h mov ax, 4c00h, 종료 int 21h 코드 끝 끝 시작

프로그램을 시작한 후에는 BIOS가 부팅할 때 걸리는 시간보다 약 2배 정도 조금 더 기다려야 합니다.

프로그램의 속도를 증가시키는 한 가지 방법이 있습니다. 사실 이 소스 코드는 메모리를 바이트까지 계산합니다. 일반적으로 말해서 이러한 정확도는 필요하지 않습니다. 최신 메모리 스트립의 크기는 메가바이트의 배수가 될 수 없으므로 inc ecx 명령을 쓰기-읽기 주기에서 add ecx, 1048576으로 교체하면 즉시 1048576 값을 추가하여 카운터를 늘릴 수 있습니다. .

3) 볼륨 HDD

하드 드라이브 볼륨은 IDENTIFY DEVICE ATA 명령을 사용하여 감지됩니다.

무엇입니까, 내 기사 "열성적인 ATA를 참조하십시오. 1 부"

나사의 부피를 결정하는 ATA_ID.asm의 소스 코드도 있습니다.

4) 기기 PCI.

이제 PCI 버스를 분석할 시간입니다.

먼저 PCI 구성 공간이라는 기본 개념을 소개하겠습니다.

이것은 각 PCI 장치가 가지고 있는 레지스터 배열의 이름으로, 이를 통해 다양한 매개변수(장치의 인터럽트 번호 등)가 설정됩니다. PCI 장치와의 통신은 주로 2개의 32비트 포트 0CF8h 및 0CFCh를 통해 발생합니다. 이를 통해 특정 장치의 바로 이 구성 공간에 읽고 쓸 수 있습니다.

이 프로세스는 다음과 같이 수행됩니다.

0CF8h 레지스터는 버스의 장치 주소를 설정한 후 0CFCh에서 데이터를 읽고(쓰기) 합니다.

버스의 장치 좌표(형식 0CF8h)는 다음과 같습니다.

31번째 비트는 레지스터에 있는 정보의 신뢰성을 나타내며 1이 있어야 합니다.

버스 번호 - PCI 버스 번호입니다. (예를 들어, AGP 포트가 PCI 슬롯이 연결된 잘못된 버스를 사용하는 등 여러 가지가 있을 수 있습니다.)

장치 번호 - 버스의 장치 번호

기능 번호 - 장치의 기능 번호(여기서 용어로 약간 정의할 필요가 있습니다. 사실 기능은 장치 자체를 의미하고 장치는 버스 가입자를 의미합니다. 예를 들어, 2개가 결합된 카드 또는 장치인 경우 두 가지 기능을 가진 하나의 장치로 인식되며 비디오 카드와 같은 "단일 기능" 장치도 많은 기능을 가질 수 있습니다. 장치와 기능으로의 이러한 분할은 대부분의 경우 순전히 논리적이며 "주" 장치는 기능 0에 해당합니다.

레지스터 번호 - 읽을(쓰기) 구성 공간의 레지스터 번호입니다. (일반적으로 0번째 비트까지 전체 필드를 사용하지만 더블워드(4바이트)로 교환을 하기 때문에 최하위 2비트는 항상 0으로 나온다).

이제 장치의 유형과 제조업체를 찾는 방법에 관심이 있습니다. 구성 공간의 지도를 살펴보겠습니다.

노란색으로 표시된 필드는 모든 장치에 대해 있어야 하며, 장치의 종류와 제조업체에 대한 정보가 저장되어 있습니다. 우리는 2가지 분야에 관심을 가질 것입니다:

VendorID - 공급업체 ID입니다.

DeviceID - 장치 코드.

"실제로 존재하지 않는 장치의 구성 공간에서 무언가를 읽으면 어떻게 될까요?"라는 매우 중요한 질문에 답할 때입니다.

답변: 이 목적을 위해 특별히 예약된 0FFFFFFFFh 값을 읽습니다(이것이 win에서 수행되는 경우 OS가 그곳에서 무엇이든 대체할 수 있지만).

이 모든 것에서 우리는 다음과 같은 결론을 도출할 수 있습니다. 모든 장치를 찾으려면 루프에서 구성 공간을 읽어야 합니다(버스를 0에서 255로, dev를 0에서 31로, func를 0에서 7로 변경). 읽을 경우 0FFFFFFFFh , 다른 것을 읽으면 장치가 없습니다. 장치가 있습니다.

다음은 PCI 구성 공간에서 일상적인 읽기의 예입니다.

기능 번호는 BL, 디바이스 번호는 BH, 기능은 CL, 오프셋(레지스터 번호)은 CH입니다.

; BL - 버스, BH - 장치, CL - 기능, CH - 레지스터 RD_PCI PROC NEAR mov dx, 0CF8h xor eax, eax mov al, bl 또는 ah, 80h; 1 shl eax, 16 mov ah, bh shl ah의 유효성 비트 , 3 또는 ah, cl mov al, ch 및 al, 0FCh, dx에서 2개의 LSB 지우기, eax에서 mov dx, eax에서 0CFCh, dx ret RD_PCI ENDP

모든 장치를 찾는 코드는 다음과 같습니다.

Mov bl, 0; 버스 mov bh, 0; 장치 mov cl, 0; 기능 mov ch, 0; 레지스터 label1: rd_pci 호출; 레지스터 cmp eax, 0ffffffffh 읽기; 모두 읽히면 jnz device_found 장치가 없습니다. 모든 것이 아님 - "무언가는" label2:; inc cl; 이 블록이 주석 처리되지 않을 경우 cmp cl, 8; 장치만 있지만 모든 기능; jnz label1; mov cl, 0 inc bh; 장치 순환 cmp bh, 32 jnz label1 mov bh, 0 inc bl; PCI 버스 주기 cmp bl, 255 jz exit jmp label1 device_found: ...; 읽은 값을 기호로 변환하고 표시합니다.

...; 읽은 값을 기호 형태로 변환하여 화면에 표시

  1. 문자열(CPUID(0))을 출력하고 MMX, SSE, SSE2 지원을 감지합니다. (CPUID.asm)
  2. RDTSC(CLOCK.asm)를 사용한 주파수 결정.
  3. RAM(MEMORY.asm)의 양 결정.
  4. 512바이트 섹터의 HDD 크기(ATA_ID.asm)
  5. 모든 PCI 장치(PCI.asm)의 VendorID 및 DeviceID를 찾아 표시합니다.
  6. VendorID 및 DeviceID(PCIDEVS.TXT)를 해독하기 위한 TXT 파일.

문제가 있는 경우 - 쓰기 [이메일 보호됨]

운영 체제 또는 장치의 까다로운 문제를 해결하는 데 도움을 받으려면 컴퓨터 구성을 즉시 가져오는 것이 좋습니다. 응답자에게 문제에 대한 단서를 제공할 수 있으며 구성을 요청하는 대신 실질적인 답변을 더 빨리 얻을 수 있습니다. 그리고 생각의 노력으로 구성을 결정하는 방법을 알고 있는 텔레파시 커뮤니티로 눈을 돌리지 않는 한 그러한 요청은 필연적으로 따를 것입니다.

당신의 구성을 마음으로 알고 있으면 좋습니다. 그리고 그렇지 않다면? 그런 다음 컴퓨터 구성에 대한 정보를 수집하는 데 몇 분이 걸리고 최소한의 노력이 필요합니다. 아래에서는 포럼에 게시할 수 있는 보고서를 만들 수 있는 Windows OS 또는 타사 프로그램을 사용하여 이 작업을 수행하는 방법에 대해 설명합니다.

시스템 정보(msinfo32)

아무리 사소하게 들리더라도 타사 프로그램을 설치하지 않고도 컴퓨터의 하드웨어 구성에 대한 정보를 수집할 수 있습니다. Windows에는 유틸리티가 포함되어 있습니다. 시스템 정보, 수집된 데이터를 텍스트 파일로 내보내는 기능이 있습니다. 메뉴에서 프로그램을 실행할 수 있습니다 시작프로그램들기준서비스또는 창에서 시작실행하다(또는 필드 찾다 Vista에서) 입력하여 msinfo32그리고 클릭 좋아요.

몇 초 후 프로그램은 시스템 및 하드웨어 구성에 대한 정보를 수집합니다. 보고서를 내보내려면 메뉴에서 선택하십시오. 파일내 보내다, 파일 이름 및 저장 대상을 지정합니다. 보고서가 준비되었습니다! 다양한 정보를 담고 있기 때문에 파일이 상대적으로 큽니다. 포럼에 게시하려면 아카이브에 압축하는 것이 좋습니다.

Windows XP 및 Vista에서는 다음 명령을 실행하여 명령줄에서 동일한 결과를 얻을 수 있습니다.

Msinfo32 / 보고서 "<путь к папке>\ config.txt "

위의 명령에서 지정한 경로인 폴더에 보고서가 있는 파일이 생성됩니다.

타사 프로그램

하드웨어 구성을 결정하기 위한 많은 무료 프로그램이 있으며 모든 프로그램을 설명하는 것은 불가능합니다. 다음 사항에 주의하면서 여러 가지를 테스트했습니다. 프로그램은 무료여야 하고, 크기가 작고 이해하기 쉬운 러시아어 인터페이스를 가지고 있어야 하며, 보고서를 텍스트 파일이나 웹 페이지로 저장할 수 있어야 하며, 가능하면 설치가 필요하지 않아야 합니다.

결국 인터페이스의 단순성과 보고서를 작성하는 데 필요한 최소한의 제스처로 뇌물을 주는 두 가지를 선택했습니다.

Winaudit

하드웨어 구성과 함께 프로그램은 운영 체제 및 설치된 응용 프로그램에 대한 다양한 정보를 수집합니다. 버튼을 클릭하여 보고서에서 2차 정보를 제외할 수 있습니다. 옵션아래 이미지와 같이 확인란을 선택합니다.

그런 다음 버튼을 다시 눌러야합니다. 심사보고서 작성을 위한 도구 모음에서 버튼을 눌러 보고서를 저장합니다. 구하다, 그리고 프로그램은 선택할 수 있는 12가지 다른 형식을 제공합니다. 보고서를 웹 페이지(HTML) 또는 텍스트 파일로 저장하는 것이 좋습니다. 웹 페이지로 저장할 때 프로그램은 압축하여 포럼 게시물에 첨부할 수 있는 세 개의 HTML 파일을 생성합니다.

Windows용 시스템 정보(SIW)

SIW 프로그램은 크기가 약 2.2MB이고 설치가 필요하지 않으며(설치 프로그램 없이 영어 버전만 제공됨), 세심한 인터페이스가 있으며 표시되는 정보의 명확성은 매우 높은 평가를 받을 만합니다. 다국어 버전에서는 필요한 경우 러시아어 인터페이스 언어를 창에서 설정할 수 있습니다. 도구 -> 옵션... 그러나 보고서를 만드는 데 관심이 있습니다. 이 옵션은 메뉴에 있습니다. 파일아래 그림과 같이.

프로그램이 저수준 컴퓨터 장치와 함께 작동하거나 주변 장치의 하드웨어 기능을 사용하는 경우 하드웨어 구성을 "결정할 수" 있어야 합니다.

오늘날 사용할 수 있는 개인용 컴퓨터 및 서버 플랫폼의 다양한 모델이 있습니다. 컴퓨터에는 다양한 프로세서 모델과 버전이 있을 수 있습니다. 바이오스... 네트워크 컨트롤러, 비디오 어댑터, 네트워크 및 사운드 어댑터 등과 같은 주변 장치의 범위는 거의 무한합니다.

하드웨어 구성이 데이터 영역에 기록됩니다. 바이오스그리고 비휘발성 메모리로 CMOS특별 프로그램 BIOS 설정.

바이오스

(슬라이드 번호 2)

기본 입출력 시스템 (BIOS - 기본 입력/출력 시스템)프로그램과 PC 하드웨어 간의 소프트웨어 인터페이스입니다..바이오스 특정 장치의 하드웨어 기능에서 운영 체제 및 응용 프로그램을 분리하고 어셈블리 언어, C 등으로 작성하는 프로그래머를 허용합니다., 장치 주소나 하드웨어 특성에 대한 걱정 없이 I/O 작업을 수행합니다. 뿐만 아니라, 바이오스예를 들어, 여러 시스템 서비스를 제공하여 PC 메모리의 크기나 현재 시간을 알 수 있습니다.

쿼리를 사용하는 것이 좋습니다.바이오스 시스템 및 응용 프로그램을 동시에 작성할 때 I/O 포트를 직접 조작하는 대신.레벨 프로그래밍바이오스 PC 장비의 매개 변수 변경에 대한 프로그램 의존도를 줄여 이동성을 높입니다.

컴퓨터를 켠 후 바이오스몇 초 안에 거의 모든 시스템 구성 요소를 검사합니다.

바이오스현재의 형태로는 약 15년 ​​동안 존재해 왔으며, 지금까지 그 성과는 만족스럽지 못하였다. 그러나 이 시스템은 이미 후계자 -EFI(확장 가능한 펌웨어 인터페이스)... 이 인터페이스는 64비트 시스템을 지원합니다., 이로써 차세대 컴퓨터와 호환... 뿐만 아니라, EFI 그래픽 셸을 사용하여 보다 쉬운 PC 구성 가능... 그러나 지금까지 이 새로운 스캐닝 기술은 매킨토시 컴퓨터와 소수의 일반 PC에서만 볼 수 있습니다.

PC의 전원을 켜면 작동을 시작합니다BIOS의 첫 번째 구성 요소 - 자가 테스트 프로그램 우편 (전원 켜기 자체 테스트)... 그녀 PC의 주요 하드웨어 구성 요소가 올바르게 작동하는지 확인합니다. 이후바이오스 컴퓨터의 칩셋을 초기화합니다.

처음에 시스템이 CPU를 재설정하고 있습니다. , 마스크할 수 없는 인터럽트 라인 비활성화(차폐 불가능 인터럽트).

거의 동시에 전압이 가해지면, 키보드 컨트롤러에 대해 동일한 절차를 따르십시오. ... Reset Determination 단계에서(방법 정의) 바이오스소프트 리셋으로만 제한될 수 있는지 확인합니다. 이를 위해 키보드 컨트롤러의 해당 비트를 읽습니다.소프트 리셋의 장점은 몇 밀리초 더 빠르다는 것입니다.

지금BIOS가 자체 테스트를 수행합니다. 실행할 수 있는체크섬 계산 ROM의 마이크로 회로의 모든 비트를 기반으로... 특정 지정된 값 외에 값 "00"을 가져와야 합니다..

그런 다음 컴퓨터는 키보드 컨트롤러에 명령을 보내 다음 테스트를 실행하고 프로그램 명령에 대한 버퍼를 할당합니다.... 그 속으로 바이오스 명령 바이트를 작성하여 내장 키보드 컨트롤러를 확인합니다..

다음이 실행됩니다시험 CMOS 칩 (상호 보완 산화철 반도체), 사용자 기본 설정을 저장하는바이오스 ... 이러한 구성 파일은 시스템이 시작될 때마다 읽습니다. 칩의 데이터 및 설정의 안전성은 전원을 공급하는 배터리가 연결되어 있는지 여부에 따라 다릅니다.

체계또한 CMOS 마이크로 회로의 체크섬을 테스트합니다. ... 이 작업 목표, 우선, 에 배터리 결함 감지 : 수명이 길면 미세 회로의 특정 구성 요소에 충분한 전압을 공급할 수 없습니다. 오작동의 첫 징후 - 사용자 설정 재설정바이오스 및 시스템 시간.

(슬라이드 번호 3)

그 다음에POST 테스트 타이머 기능 , 하드웨어 인터럽트의 올바른 배포를 담당합니다(IRQ, 인터럽트 요청 ) ... 이러한 작업에 대한 요청은 처리할 데이터의 존재를 CPU에 알리기 위해 하드 디스크 또는 비디오 카드가 프로세서에 보내는 명령입니다. 이 경우 요청을 받은 순간부터 데이터 처리가 시작될 때까지 일정 시간이 경과하는데 이를 지연된 인터럽트 .

이후 BIOS가 작동을 위해 인터럽트 벡터 테이블을 준비합니다. 그리고 사용자 설정을 CMOS 메모리에 로드 . 인터럽트 요청은 먼저 프로그래머블에 의해 처리됩니다.인터럽트 컨트롤러 , 그런 다음 프로세서로 전달합니다.. CPU는 현재 명령의 실행을 중지하고 이에 대한 응답으로 확인 신호를 보냅니다..

프로세서는 컨트롤러에서 해당 인터럽트(벡터)의 번호를 읽고 이를 테이블의 인덱스로 사용합니다. 여기에는 각 개별 인터럽트에 대해 제공된 지침이 포함됩니다., - 예를 들어 장치 유지 관리를 위한 특정 작업.

시스템의 자유 인터럽트 수가 제한되어 있기 때문에 최신 컴퓨터에서는 여러 장치가 동일한 인터럽트 공유 라인에 있습니다. 이 경우 핸들러는 요청이 올 수 있는 모든 장치의 드라이버를 실행해야 합니다. 오류로 작성된 드라이버가 너무 오랫동안 활성 상태인 경우 문제가 발생할 수 있습니다. 이 인터럽트 라인의 또 다른 장치는 현재 버퍼에 정보를 기록하고 있으며, 이는 어느 시점에서 오버플로되어 데이터 손실로 이어질 수 있습니다. 따라서 최신 PC에서 운영 체제는 주변 장치 간에 IRQ 번호를 독립적으로 할당합니다.

그 다음에BIOS는 오류가 있는지 처음 1MB 메모리 블록의 주소 라인을 테스트합니다. . 이를 위해우편 후속 비교를 위해 데이터 템플릿을 RAM에 씁니다..

더 나아가 바이오스 비디오 어댑터의 유형을 결정합니다 , 모니터와 일련의 테스트를 거칩니다. 그 다음에비디오 카드를 초기화합니다 ... 그래야만 다음과 같은 메시지를 보낼 수 있습니다. 실수.

다음 차례가 온다 제어 장치 DMA (직접 메모리 액세스)... 노스 브리지라고도 하는 호스트 브리지는 프로세서와 RAM을 마더보드의 시스템 버스에 연결합니다. 버스에서 대부분의 트랜잭션은 브리지와 나머지 주변 장치 사이에서 이루어집니다. 데이터 처리 시간을 줄이기 위해 후자는 메인 브리지에 직접 액세스할 수 있으므로 "중개자 없이" 정보를 RAM에 기록할 수 있습니다. 테스트에서바이오스 시스템이 RAM에 배치한 데이터 템플릿을 재사용합니다..

키보드 인터페이스도 검증 대상입니다. ... 오작동하는 경우 BIOS에서 오류 메시지를 표시합니다.바로 이 단계에서.

BIOS는 INT 19를 실행하고 제어를 부트로더로 넘기기 전에 광학 드라이브, 하드 드라이브 및 커넥터를 다시 확인합니다.운영 체제를 시작하고 하드 드라이브와 컨트롤러 간의 데이터 교환을 담당합니다. ... 많은 버전 바이오스실행을 비활성화할 수 있습니다. IRQ 19- 예를 들어 시스템에 추가 디스크 컨트롤러가 있는 경우에 권장됩니다. PCI RAID.

자체 테스트의 어느 단계에서든 오류가 발생하면 컴퓨터에서 신호음이 여러 번 울리고 이에 대한 메시지가 표시됩니다.. BIOS 신호를 디코딩하는 POST 코드 테이블이 있습니다. ... 어떤 구성 요소에 결함이 있는지 정확히 알고 싶다면 도움을 받을 수 있습니다. 마더보드 결함 진단을 위한 PCI POST 표준 카드 PCI 슬롯에 설치됩니다. 오작동은 숫자 코드로 표시됩니다. 보드와 함께 제공된 코드 테이블을 사용하여 시스템의 문제가 있는 구성 요소를 식별할 수 있습니다.

모든 것이 괜찮다면 바이오스짧은 경고음이 울립니다. ~ 후에뭐라고 요 부팅 장치는 시작할 운영 체제를 검색합니다. ... 만약 이 단계에서 오류 , 그 다음에 원인 일반적으로 커버 마스터 부트 레코드가 없는 경우 - MBR (마스터 부트 레코드).이 경우 설치 DVD를 사용하여 시스템을 되살릴 수 있습니다.

(슬라이드 번호 4)

최근에는 교체와 관련된 문제가 바이오스상호 작용 UEFI( 확장 가능한 통합 펌웨어 인터페이스 ). 이 인터페이스는 PC의 기본 시스템의 새로운 표준이 되기 위한 것입니다.

BIOS와 UEFI는 무엇을 위한 것입니까?

이 용어는 기본 시스템(펌웨어)을 나타내는 데도 사용됩니다. 펌웨어 :하드웨어(임베디드) 소프트웨어... 프로그램이 마더보드의 마이크로 회로에 "배선"되어 있고(즉, 설치할 필요가 없음) 자동으로 시작됨을 나타냅니다. PC를 켠 직후 BIOS 및 UEFI는 여러 작업을 수행합니다.

    장비 테스트. 처음에 바이오스컴퓨터의 주요 구성 요소에 대한 기본 검사를 수행합니다. 이 경우 모든 구성 요소를 확인하는 것이 아니라 PC를 시작하는 데 필요한 구성 요소(예: 프로세서의 RAM)만 확인합니다.

    자가진단 종료 후 (1분 이내) 바이오스일부 설정을 정의합니다. 여기에는 예를 들어 RAM의 주파수, 내장 팬이 켜진 시간 또는 컴퓨터가 장기간 사용하지 않을 때 전환되는 절전 모드 선택이 포함됩니다. 대부분의 설정은 운영 체제 자체에서 변경할 수 있지만 대부분의 설정은 바이오스 Windows가 시작되기 직전에 설치됩니다. 부팅의 이 단계에서 사용자는 일부 설정을 변경할 수도 있습니다. 예를 들어 마더보드의 특정 인터페이스(예: 하드 드라이브 또는 USB 장치)를 활성화 또는 비활성화할 수 있습니다. 또한 운영 체제가 시작될 때 컴퓨터가 부팅 장치에 액세스하는 순서를 선택할 수 있습니다(예: 먼저 하드 디스크에 액세스한 다음 CD/DVD 드라이브에 액세스한 다음 USB 드라이브에 액세스).

BIOS 및 UEFI의 약어는 무엇을 의미합니까?

    바이오스. 기본 입출력 시스템 (기본 I/O 시스템)은 거의 30년 동안 사용되었습니다.

    UEFI. 상호 작용 확장 가능한 통합 펌웨어 인터페이스 ~와 함께 2001 회사에서 개발한 인텔표준으로 EFI (확장 가능한 펌웨어 인터페이스 , 확장 가능한 펌웨어 인터페이스) 서버 프로세서용 아이테니엄... 이 모델은 최신 기술을 구현한 모델이므로 적합한 버전을 찾으십시오. 바이오스그것은 함께 작동합니다 아이테니엄약간의 조정 후에는 불가능한 것으로 밝혀졌습니다. 사과- 모든 데스크탑 및 노트북에 맞춤형 버전을 사용하는 최초의 제조업체 EFI... 회사는 진실을 유지합니다 EFI~와 함께 2006 그녀가 PC와 노트북에 프로세서를 장착하기 시작한 몇 년 인텔... V 2005 연도 약어 EFI라는 말로 보충되었다 통합... 여러 회사가 인터페이스 개발을 조정하고 있음을 시사합니다. 여기에는 다음과 같은 PC 제조업체가 포함됩니다. 작은 골짜기,HP그리고 IBM개발자 뿐만 아니라 바이오스, 예를 들어 불사조그리고 인사이드... 없이 마이크로소프트메인 OS 개발자로서

BIOS가 사라져야 하는 이유는 무엇입니까?

개발하여 바이오스, 프로그래머는 이 시스템이 얼마나 오래 사용될지 생각하지 않았습니다. 그렇기 때문에 V이것 기본 시스템변경이 불가능하거나 매우 큰 어려움과 관련된 여러 구성 요소가 있습니다..예를 들어,바이오스 (특별 조정 없이) 최대 2TB 용량의 디스크를 인식할 수 있습니다., 최신 3.5인치 하드 드라이브는 이미 최대 3TB의 데이터를 저장할 수 있습니다. VUEFI 그러한 제한은 없습니다.또한 새로운 시스템은 단일프로그래밍 인터페이스 - 이렇게 하면 운영 체제가 부팅되기 전에 실행되는 프로그램을 쉽게 개발할 수 있습니다. 뿐만 아니라, UEFI 데이터 백업 프로그램과 같은 추가 기능을 통합할 수 있습니다.마침내, VUEFI 에서 발견된 일부 기술적으로 오래된 기능이 누락되었습니다.바이오스 , - 예를 들어 부팅 시 프로세서를 느린 리얼 모드로 전환합니다.

UEFI의 이점:

(슬라이드 번호 5)

    대용량 하드 드라이브 지원 .하드 드라이브를 관리하려면바이오스 용도MBR (마스터 부트 레코드) - 여기에는 하드 디스크의 파티션에 대한 정보가 들어 있습니다.MBR의 주요 단점 :각 레코드의 크기는 32비트입니다.... 결과적으로 바이오스약 40억(232)개의 섹터를 제어할 수 있습니다. 또한 기본 시스템은 각 섹터가 512바이트일 것으로 예상합니다. 결국그것은 밝혀 바이오스 2TB를 초과하는 디스크에서는 작동할 수 없습니다.... 그리고 20년 전에는 그러한 책이 헛된 꿈으로 여겨졌다면 지금은 가혹한 현실입니다. 큰 섹터에서는 3TB 디스크를 사용할 수 있지만 하드 디스크에 직접 액세스하는 모든 프로그램이 제대로 작동하는 것은 아닙니다. 에 관하여 상호 작용UEFI , 기술을 사용하여 하드 드라이브 관리GPT (GUID 파티션 테이블), 더 많은 데이터를 하드 디스크에 기록할 수 있습니다.... 결국 GPT 표준은 최대 80억 TB에 달하는 용량의 하드 드라이브를 지원합니다.

    통합 BIOS . 기반으로 마더보드를 사용하는 경우 UEFI필요가 없다 바이오스, 하는 한 모든 기능바이오스 에 포함된UEFI 이른바 형태로호환성 지원 모듈 . 따라서 함수를 사용하는 프로그램은 바이오스, 다음이 있는 컴퓨터에서 작동 UEFI.

    제어 용이성. 마우스를 사용하여 설정 메뉴를 탐색하고 프로그램을 선택할 수 있습니다. V 바이오스, 키보드로만 작업이 가능했던 것을 기억합니다. 플러스 인터페이스 UEFI더 높은 해상도를 지원합니다.

    다운로드 속도의 이점. 컴퓨터를 켤 때까지 바이오스운영 체제를 로드하는 데 30-60초가 걸립니다. UEFI더 빠르게 작동합니다.

    임베디드 운영 체제. UEFI 자체 래퍼도 있습니다... 사실, 그것은 미니어처 운영 체제처럼 도스(Windows의 먼 조상), 텍스트 명령만 "이해"합니다.... 메인 OS 부팅 실패의 원인을 파악하려는 고급 사용자나 시스템 관리자에게 유용할 수 있습니다. 회사를 포함한 일부 제조업체 MSI에 대한 제안 UEFI자체 운영 체제 기반 리눅스 CD/DVD에서 부팅 가능.

    추가 프로그램. 내장된 mini-OS는 추가 프로그램 설치에도 적합합니다. 후자는 인터페이스의 별도 메뉴 항목으로 통합될 수 있습니다.UEFI CD/DVD에서 부팅하거나... 그러나 이것은 미래의 문제입니다. 현재 사용 가능한 응용 프로그램의 수가 적습니다. 또한 일반적으로 보조 유틸리티 및 Pair Match와 같은 매우 간단한 게임에 대해 이야기하고 있습니다.

BIOS를 사용하여 구성 결정.

BIOS 액세스.

(슬라이드 번호 6)

액세스바이오스 사용된다 소프트웨어 인터럽트 . 또한 각 진입점은바이오스 그의 사용인터럽트 벡터 ... 진입점이 여러 절차를 수행하는 경우(BIOS 기능이라고 함 ), 함수 번호가 레지스터에 지정됩니다. .

절차에 대해바이오스 고정된 인터럽트Int 10h - Int 11Ah .

예를 들어 , 정수 12시간 PC의 RAM 크기를 호출한 프로그램에 반환하는 프로시저를 호출합니다.

절차의 입력 및 출력 매개변수바이오스 PC 중앙 프로세서의 범용 레지스터로 전송됩니다.

예를 들어, 시스템 시간을 설정하려면 다음 명령을 실행해야 합니다.

MOV 아, 1; 기능 1 - 시간 설정

MOV CX, HIGH_COUNT개; CX: DX = 새 시간 값 MOV DX, LOW_COUNT

INT 1AH; 타이머 요청을 제공하는 BIOS 진입점

다음 프로그램은 시간을 읽는 데 사용됩니다.

MOV 아, 0; 기능 0 - 읽기 시간

INT 1AH; BIOS 요청. 결과는 레지스터 CX 및 DX에 반환됩니다.

절차바이오스 값이 반환되는 레지스터를 제외한 모든 레지스터의 값을 저장합니다.

BIOS 데이터 영역.

(슬라이드 번호 7)

데이터 영역 바이오스 - PC의 현재 상태에 대한 정보가 저장되는 RAM 영역이나 장치의 하드웨어 특성이 기록되는 ROM 영역입니다.

컴퓨터의 주요 장치의 존재에 대한 정보는데이터 영역 바이오스 주소로0000:0410 2바이트 워드의 크기 -구성 단어 . 인터럽트 사용지능 11시간 프로그램은 레지스터에 들어갈 수 있습니다도끼 위 데이터 영역의 구성 단어바이오스 .

상대 구성을 결정할 때 구성이 알려지지 않은 연결은 구성이 이미 알려진 다른 연결과 연관됩니다.

과학자들이 공간 이성질체를 받으면 질문이 생깁니다. 공간 구조, 즉 구성은 무엇입니까?

상대 공간 구성의 문제를 해결하는 접근 방식은 우리가 이야기하는 공간 이성질체의 유형에 따라 다릅니다. $ \ pi $ - 또는 $ σ $ -부분입체 이성질체 또는 거울상 이성질체.

쌍극자 모멘트로부터 π-부분입체 이성질체의 상대적 배열 결정

유전 상수 $ ε $의 측정을 기반으로 한 물질의 정량적 결정 및 분자 구조 연구를 위한 일련의 방법을 일반적으로 유전 측정이라고 합니다. 유전 측정법은 일반적으로 전기장에서 입자(분자, 쌍극자 모멘트가 있는 이온)의 방향으로 인해 발생하는 물질의 유전 상수를 측정하는 것으로 가장 자주 요약되는 다양한 분석 방법을 포함합니다.

유전측정법 사용의 기초는 독일 물리학자 Paul Drude(1897)의 연구와 네덜란드 물리학자이자 화학자이자 1936년 노벨 화학상을 수상한 Peter Debye(1925-1929)의 연구였습니다. Paul Drude는 금속의 전기 및 열 전도성 이론을 개발했으며 유전 상수의 변칙적 분산을 최초로 발견하고 설명했습니다. 그는 또한 전자파의 미터 및 데시미터 범위에서 액체 유전체의 유전 상수와 흡수 계수를 측정하는 방법을 제안하여 분자 구조와 유전 손실 사이의 경험적 관계를 확립했습니다. Debye는 분자 구조와 유전 상수와 유전 손실 사이의 관계를 확립했습니다. 그러나 유전 상수를 측정하는 방법은 훨씬 나중에 유전 상수를 측정하는 매우 간단하고 편리한 도구가 등장하면서 실제로 사용되기 시작했습니다.

Mark Berliner(1929)는 고체의 수분 함량을 결정하는 문제에 대해 유전 측정을 사용한다는 약속을 분석적으로 증명한 최초의 사람 중 한 사람입니다. 나중에 유기 화합물의 순도를 결정하고 이원 유기 시스템을 분석하는 방법이 개발되었습니다. 그리고 1950-1960년. 처음으로 유기 시스템의 유전율 적정 방법이 발표되었습니다. 유전 측정법의 모든 가능성을 소진하지 않는 비전도성 또는 저전도성 유기 시스템의 분석을 위해 유전 측정법이 일반적으로 개발되었다는 점은 주목할 가치가 있습니다.

많은 $ \ pi $ -부분입체 이성질체는 쌍극자 모멘트의 특정 값을 특징으로 합니다.

학생 논문 온라인 교환 ">

그림 1. 시스 및 트랜스(μ = 0) 형식. Author24 - 학생 논문의 온라인 교환

벡터 구성을 사용한 변환에서 동일한 결합의 반대 방향 쌍극자는 서로 상쇄되고 총 쌍극자 모멘트는 0($ μ = 0 $)입니다. 시스 형태에서 결합 쌍극자는 합산되어 분자의 총 쌍극자 모멘트를 형성합니다. 예를 들어, 1,2-디할로에틸렌(위 그림 참조):

  • 트랜스 이성질체의 경우 쌍극자 모멘트는 0입니다.
  • 시스 이성질체의 경우 쌍극자 모멘트는 할로겐 원자의 성질에 따라 다릅니다. 2.42($F$), 1.89($Cl$), 1.35($Br$), 0.75D($ І$).

시스 이성질체의 경우 쌍극자 모멘트가 항상 더 큽니다. 쌍극자 모멘트의 정의는 $ \ pi $ -부분입체 이성질체에 대해 $ Z $ 또는 $ E $ 구성을 설정할 수 있게 합니다.

순환 방식

고리화 방법은 π-디아스테레오머에 대한 $Z $ 및 $E $ 구성을 결정하는 보편적인 방법 중 하나입니다.

우리는 특정 산이 있다는 것을 알고 있습니다 - $ t_ (pl.) $ = 130 ° C의 백색 결정질 물질, 분자식 $ C_4H_4O_4 $ 및 구조식 $ HOOC-CH = CH-COOH $ (에틸렌디카르복실산 산) 이 산을 말레산이라고 합니다. 그러나 동시에 동일한 분자량과 구조식을 가진 물질이 있습니다 - $ t_ (pl.) $ = 287 ° С의 산, 물에 약간 용해되는 푸마르산. 즉, 우리는 다음 공식을 가질 수 있는 $ \ pi $ -디아스테레오머(기하학적 시스-트랜스 이성질체)에 대해 이야기하고 있습니다.

그림 2.

이 또는 저 공식이 어떤 산에 해당하는지 확인하기 위해 다음 실험을 수행합니다. 가열되면 말레산은 물을 분리하고 고리형 무수물을 생성합니다.

푸마르산은 그러한 무수물을 형성하지 않습니다. 고리형 무수물 카르복실기의 형성을 위해 근사화되어야 하기 때문에 말레산에서의 배열이 논리적입니다. 푸마르산은 각각 $ COOH $ 그룹과 같이 다용도로 배열된 다른 공식에 해당합니다. 이 경우 구성의 정의는 순환 방식으로 해결됩니다.

그림 3.

고리화 방법으로 배열을 결정할 때 입체 중심, 즉 $sp2$ -혼성화된 원자의 결합에 영향을 주어서는 안 된다.

고리화 방법은 또한 코마르산과 쿠마르산의 구성을 결정하는 데 사용되었습니다. 쿠마르산은 염과 에스테르의 형태로만 존재하며 유리산이 방출되면 자발적으로 락톤-쿠마린의 형성과 함께 순환합니다. 고리화의 용이함은 쿠마르산이 시스 배열에 있음을 나타냅니다. 쿠마르산은 고리화되지 않으므로 수소의 반대 배열을 갖는 공식에 해당합니다.

그림 4.

쿠마린산 쿠마린 쿠마린산

사슬에 이중 결합이 있는 디케톤의 π-부분입체 이성질체의 배열 결정

이 방법은 또한 불포화 디케톤의 π-부분입체 이성질체의 구성을 결정할 수 있습니다. 예를 들어, 우리는 1,2-dibenzoylethylene을 고려할 수 있습니다. 그 공식은 두 개의 이성질체에 해당하며 그 중 하나는 111 ° C에서 녹고 다른 하나는 134 ° C에서 녹습니다. 두 번째, 더 다루기 힘든 이성질체는 히드라진과의 반응에서 고리형 생성물 3,6-디페닐피리다진을 형성할 수 있습니다.

그림 5.

이것은 이 이성질체가 시스 구성을 가지고 있음을 나타냅니다.

그림 6.

따라서 111°C에서 녹는 첫 번째 이성질체는 트랜스 구성을 가져야 합니다.

그림 7.

인기 관련 기사