본문 바로가기

컴퓨터 구조14

명령어 수준 병렬성과 슈퍼스칼라 프로세서 명령어 수준 병렬성과 슈퍼스칼라 프로세서 명령어-수준 병렬성 : 소프트웨어(컴파일러) 슈퍼스칼라 프로세서 : 하드웨어(component의 추가 사용) component : 기능블럭(ALU 등) Multicore software : process 기반 Superscalar : instruction 기반(vector 연산 최적화) Scalar : 단일 변수 슈퍼스칼라 스칼라 명령어(단일 명령어)의 실행 성능을 개선하기 위하여 설계된 기계 여러 개의 파이프라인들에서 독립적으로 명령어들을 실행할 수 있는 능력 명령어들을 프로그램 순서와 다르게 실행하는 것을 허용함으로써 더 많이 이용 일반적 스칼라 조직과 비교된 슈퍼스칼라 조직 유사 슈퍼스칼라 기계의 속도 향상 스테이지 비교 제약 사항들(Constraints) .. 2024. 3. 28.
축소 명령어 세트 컴퓨터 : RISC 축소 명령어 세트 컴퓨터 : RISC 들어가기에 앞서, 컴퓨터 조직과 아키텍처의 저자는 CISC보다 RISC가 좀 더 좋다는 편향적인 생각을 가지고 있음을 밝힌다. RISC vs CISC Computer CISC(Complex : *intel PC*) : 복잡한 data access(High Level Language에 최적화) RISC(Reduced : *ARM*) : Embedded, Mobile 등 간단한 기기에 맞춰, 단순한 명령어 세트, 단순한 data access 몇 가지 CISC, RISC 및 슈퍼스칼라 프로세서의 특징들 명령어 실행 특성들 HLL 연산들의 상대적 동적 빈도 오퍼랜드들 프로시저 변수들과 지역 스칼라 변수들 제안들(RISC) HLL 프로그램에서 가장 많은 시간을 소비하는 특성들.. 2024. 3. 28.
프로세서의 조직과 기능 프로세서의 조직과 기능 프로세서 조직 프로세서에게 부과되는 요구 사항 명령어 인출(Fetch Instruction) 프로세서는 기억장치(레지스터, 캐시, 메인 메모리)로부터 명령어를 읽어온다. 명령어 해석(Interpret Instruction) 명령어는 수행해야 할 동작을 결정하기 위해 해독(decode)된다. 데이터 인출(Fetch Data) 명령어를 실행하기 위하여 기억장치 또는 I/O 모듈 로부터 데이터를 읽어와야 할 수도 있다. 데이터 처리(Process Data) 명령어를 실행하기 위하여 데이터에 대한 산술적 또는 논리적 연산을 요구할 수 있다. 데이터 쓰기(Write Data) 실행한 결과로써 데이터를 기억장치 또는 I/O 모듈에 써야할 수 있다. 시스템 버스와 접속된 CPU CPU의 내부 .. 2024. 3. 28.
명령어 세트 : 주소 지정 방식과 형식 명령어 세트 : 주소 지정 방식과 형식 주소 지정 방식(Addressing Mode) 즉시(Immediate) 명령어가 operand 포함 직접(Direct) 명령어 주소 = operand 위치 간접(Indirect) 명령어 주소 = operand 위치를 가르키는 주소 레지스터(Registor) 명령어의 주소 = 레지스터 번호 레지스터 간접(Registor Indirect) 명령어의 주소 -> 레지스터 번호 -> operand 주소 변위(Displacement) 여러 개의 주소 결합(덧셈)을 통한 상대주소 계산 스택(Stack) CPU가 지정하는 자동 증가 주소(암묵적임) 주소 지정 방식들 기본적인 주소지정 방식들 즉시 주소지정 가장 간단한 형태의 주소 지정 오퍼랜드 = A (주소필드) 이 방식은 상수(.. 2024. 3. 28.
제 12장 명령어 세트 : 특성과 기능 명령어 세트 : 특성과 기능 기계 명령어의 특성 프로세서의 연산은 실행하는 명령어들에 의하여 결정하는데 그 명령어를 기계 명령어 또는 컴퓨터 명렁어 라고 불린다. 프로세서가 실행할 수 있는 여러 가지 명령어들의 집합을 프로세서의 명령어 세트(Instruction Set)이라고 하며, 그 명령어 세트는 CPU의 특징을 결정한다. 각 명령어는 프로세서에 의해 실행되는 데에 필요한 모든 정보를 포함해야 된다. 기계 명령어의 요소들 연산 코드(Operation Code) 수행될 연산을 지정한다. 연산은 연산 코드 혹은 opcode라고 불리는 2진 코드에 의하여 지정된다. 원천 오퍼랜드 참조(Source Operand Reference) 각 연산은 그 연산을 위한 입력이 되는 한 개 또는 그 이상의 오퍼랜드를 포.. 2024. 3. 28.
제 10장 컴퓨터 산술 컴퓨터 산술 산술 논리 연산 장치(ALU) 컴퓨터의 한 부품으로서 데이터에 대하여 실제적으로 산술 및 논리 연산을 수행하는 부분 컴퓨터 시스템의 다른 모든 요소들, 즉 제어 유닛, 레지스터, 기억장치 및 I/O 장치는 처리될 데이터를 ALU로 가져오거나 그 결과를 다시 내보내는 일을 수행 ALU를 비롯하여 사실상 컴퓨터의 모든 전자 부품들은 이진수를 저장하고 간단한 부울 논리 연산(Boolean logical opreations)을 수행할 수 있는 간단한 디지털 논리 회로들을 이용하여 만들어졌다. CPU는 Control과 Computation을 담당 ALU가 계산 어떤 CPU를 선택할 것인가(Architecture는 같으나, Configuration이 다름) ALU의 입력 및 출력들 정수 표현 이진수 체.. 2024. 3. 28.