[컴퓨터시스템구조] 16일차 - Multiplication program

[컴퓨터시스템구조] 16일차 - Multiplication program



만든 날짜:2018-11-06 오후 12:54

본 게시글은 수업들은 내용을 정리한 내용이며, 방문자 열람목적이 아닌 백업/기록용 게시글 입니다. 때문에 오타 및 잘못된 정보가 표기되어 있을 수 있습니다.

4일차 때 했던 문제 같이하기 (1을 세는 프로그램)



기본 컴퓨터로 곱셈을 프로그래밍해보자

전제조건: 8bit 짜리 양수 .



x(8bit)곱하기 y(8bit)

1은그대로, 0은 다 0.








p는 부분곱으로 처음에 0부터 시작된다. p의 마지막 값이 두수의 곱이 된다.






Double precision addition 배정밀도가산

  AH(16bit) + AL(16bit)
+BH(16bit) + BL(16bit)

할건데 
AL+BL하고 케리E를 AH에 더하고 다시 그걸 BH랑 더함



AND, CMA, CLA만 있으면 나머지 어떤 로직도 만들 수 있다.


or 만들기






Shift operations 만들기
  • Logical shift: clearing(0) E-FF
  • Right: CLE, CIR
  • Left: CLE, CIL

  • Arithmetic shift: sign bit problem (최상위 비트가 부호 비트일 때)
    • Left: simple
      CIL했을때, E가 부호비트(AC(1))과 일치하면 제대로된것. 일치하지않으면 수가 너무 커서 오버플로가 발생한 것이다.
    • Right: sign bit remain unchanged
      • CLE    / clear E to 0
      • SPA    / skip if AC is pos.; E remains 0
      • CME   / AC is neg.; set E to 1
      • CIR     / circulate E and AC



서브루틴 ( Function ) : 여러 번 사용되는 공통된 명령어들.

  • Subroutine linkage: (서브루틴 호출방법)
    • Call (BSA) 돌아올 주소를 저장하고 서브루틴으로 분기
    • Return (BUN Indirect) 다시 되돌아온다.




  • Subroutine parameters & data linkage  
    • It is necessary for the subroutine to have access
      to data from the calling program and to return results to that program
    • (펑션을 불렀을 때 데이터를 주고받아야한다.
      계산 결과를 받거나 할 때...)
      2가지가 있다.
      • Use registers: AC (전역 변수 개념을 사용한다.)
      • Use the memory (메모리에 저장후 사용)



AC를 이용해서 데이터를 주고 받겠다.

X,Y의 맨 끝 4자리를 없앤다.


금요일엔 메모리를 사용해서 옮기는 것을 실습한다.


메모리
ex
누산기가 한개의 피연산자를 전송
리턴주소에는 두번째 피연산자의 수소가 들어있고,
ISZ해서 사용한다.(ISZ하고 다시 메인루틴으로 돌와야된다.)



복습 : 2018-11-24


[컴퓨터시스템구조] 16일차 - Multiplication program [컴퓨터시스템구조] 16일차 - Multiplication program Reviewed by Lifer on 12/18/2018 Rating: 5

댓글 없음:

Powered by Blogger.