컴퓨터구조, ALU 시뮬레이터 구현과제 보고서
- 최초 등록일
- 2020.12.16
- 최종 저작일
- 2019.05
- 26페이지/ 어도비 PDF
- 가격 2,000원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
"컴퓨터구조, ALU 시뮬레이터 구현과제 보고서"에 대한 내용입니다.
목차
1. ALU Simulator
2. IDEA 및 알고리즘
3. ALU Simulator 실행 결과
4. 토의사항
5. Case 1.
6. Case 2.
7. Case 3.
8. Case 4.
본문내용
문제정의
컴퓨터의 중앙처리장치의 "산술, 논리 연산장치 (ALU, Arithmetic Operation) "B
강의시간에 배운 내용에 따라 시뮬레이터로 구현한다.
• 두 정수에 대한 사칙연산(덧셈, 뺄셈, 곱셈, 나눗셈)을 수행한다.
• 덧셈과 뺄셈은 병렬감가산기의 원리를 사용한다.
• 곱셈과 나눗셈은 각각 Booth알고리즘, 나눗셈알고리즘을 사용한다.
IDEA 및 알고리즘
프로젝트 Code 구성
•AL니 시뮬레이터는 java 언어로 구현하였음.
•CPU 내부에서 산술연산을 수행하는 과정을 시물레이션하기 위해 레지스터를 boolean 타입의 배열로 추상화하고 해당 배열을 BitRegister 객체로 구현함.
•CPU 내부에서 논리연산을 수행하는 과정을 시물레이션하기 위헤 Logicoperator 객체 내에 각각 NOT , or, and, xor 과같은 논리연산을 static 메소드로 구현함.
•사칙연산 시뮬레이터를 Calculator 클래스로 추상화하고 각각 연산과정을 별도의 객체로 구현함.
BitRegister 클래스
• boolean 자료형의 배열을 필드로 갖고있는 객체로 단순히 비트정보를 저장하는 것을 넘어 다양한 편의기능을 내장하고자 별도의 객체로 생성하였다.
• toBinaryNumber : int 자료형을 입력받아 % , / 연산을 통해 2진수로 변환, 배열에 저장한다.
• toDemicalNumber : 객체를 곱셈연산을 통해 10진수로 변환한다.
• mergeRegister : 두 BitRegister 를 합친다.
• makeComplement : 2의보수를 쥐한다. (비트반전 투 +1)
ALU 시물레이터의 LifeCycle
• AUJ 시뮬레이터의 시작과 동시에 java.util.Scanner 객체를 통해 2개의 정수를 입력받는다.
• ALU 시뮬레이터는 Calculation 객체를 상속받은 계산기에 입력받은 정수를 각각 파라미터로 전달한다.
참고 자료
없음